Skip to main content

Configure a repository

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 Configure this repository for Shaka. Reuse its existing setup,
test, and validation commands. Explain the review and merge choices.
Use merge policy ask.

The agent inspects your project, confirms missing choices, prepares Shaka's files, and reads any existing project instructions:

FilePurpose
.agents/agent-workflow.ymlReview, merge, branch, and WIP settings
.agents/bin/setupInstall project dependencies
.agents/bin/testRun tests; accept focused test arguments
.agents/bin/validateRun the complete pre-PR checks
.agents/bin/validate-local (optional)Run a faster local check before review
.agents/bin/trigger-hosted-ci (optional)Start deferred CI after local fixes; requires validate-local
.agents/trusted-github-actors.ymlWhose public GitHub comments the agent may read
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/bin/setup installs development dependencies; bin/install installs the skill.

You merge the first setup PR yourself on GitHub. Until it merges, the default branch has no trusted settings, so Shaka cannot choose a reviewer from them or merge on your behalf. The agent reviews the PR, then gives it back with the commit to merge.

To change a choice later:

$shaka Configure this repository to wait for all configured CI reviewers.
Keep merge policy ask.

See settings for values and defaults. Shaka's own configuration and scripts provide working examples.