Skip to main content

Configure a repository

Use shared configuration when your team wants repository-wide settings. For a setup just for you without a setup PR, see individual setup. The procedures below publish team configuration.

Use Shaka across projects​

Use the same skill across your organization’s repositories or the open-source projects you maintain. Each repository chooses its checks, reviewers, and merge policy through a small configuration boundary, called the seam.

For example, a library can use its Ruby test suite and require your merge approval, while a documentation project uses link checks and allows Auto after required checks and reviews. Updating the shared skill keeps these project choices in repository configuration; you do not need a separate copy of the workflow for each.

Use Choose your settings to decide what suits your team.

Before you start​

Shaka waits for your CI checks before it calls a PR ready, and before it merges one in Auto mode. It uses the checks GitHub requires on your default branch through a ruleset or branch protection. When GitHub requires none, as on any private repository on the GitHub Free plan, list them in merge.required_checks instead.

Setup works this out for you. To see where you stand first:

$shaka Which CI checks does GitHub require on this repository's default branch?
If none, which check names appear on recent PRs?

A repository with no required checks can still use Shaka in Ask mode: the agent runs local validation and review, and you merge on GitHub. Auto merge needs at least one required check.

Set up​

Connect your existing tools to Shaka:

$shaka Set up Shaka for this repository.

The agent finds your test and lint commands, explains AI review choices, and keeps merge policy Ask. It prepares a separate setup PR using your commands. Review the choices and merge this first setup PR yourself on GitHub to make them the team's defaults. The agent reviews it and names the commit for you to merge. To try the choices on one task first, select that settings PR.

To change a choice later, ask:

$shaka Wait for all configured CI reviewers.

You do not need to edit configuration files by hand. Start with the settings guide; use the reference when you need exact options and defaults.

Files the agent prepares​

The configuration records project choices; the scripts connect existing checks; the comment allowlist identifies whose public comments the agent may read. This inventory is useful when reviewing the setup PR.

FilePurpose
.agents/shaka/config.ymlReview, merge, branch, and WIP settings
.agents/shaka/bin/setupInstall project dependencies
.agents/shaka/bin/testRun tests; accept focused test arguments
.agents/shaka/bin/validateRun the complete pre-PR checks
.agents/shaka/bin/validate-local (optional)Run a faster local check before review
.agents/shaka/bin/trigger-hosted-ci (optional)Start deferred CI after local fixes; requires validate-local
.agents/shaka/trusted-github-actors.ymlWhose public GitHub comments the agent may read
.agents/shaka.mdPointer to this configuration for people browsing the repository
AGENTS.md (optional)Existing project instructions and constraints; Shaka does not create or edit it

The scripts usually wrap existing commands. In Shaka's repository, .agents/shaka/bin/setup installs development dependencies; bin/install installs the skill.

Shaka's own configuration and scripts provide working examples.