Configure and use the Jules AI agent driver for CodeJob.
The Jules driver connects CodeJob to the Jules API, allowing you to dispatch tasks described in docs/PLAN.md to an automated AI software engineer.
- Jules API Key: Get one at jules.google.com.
- GitHub CLI:
ghmust be installed and authenticated.
The first time you run codejob, it will automatically prompt you for your API key if it's not found in your system keyring.
codejob
# Jules API Key not found. Get yours at https://jules.google.com/settings/api
# Enter it now: ***********The key is stored securely using the system keyring service (Keychain on macOS, Secret Service on Linux, Credential Locker on Windows).
If you want to initialize the key before dispatching your first task, you can use the internal wizard:
codejobWait, codejob init was removed. Just run codejob and it will prompt you if needed.
If using the library directly, you can provide explicit configuration:
cfg := devflow.JulesConfig{
APIKey: "optional-override-key",
SourceID: "sources/github/owner/repo",
StartBranch: "main",
}
driver := devflow.NewJulesDriver(cfg)- APIKey: Your Jules API key. Defaults to the one stored in the keyring.
- SourceID: The Jules source identifier. Auto-detected via
gh repo view. - StartBranch: The branch Jules should start from. Auto-detected via
git branch.
State lives in the docs/PLAN.md frontmatter (not .env), so each step is a
commit and the loop can also run in GitHub Actions.
- Dispatch:
codejobsendsdocs/PLAN.mdto theEXECUTOR(Jules) and writesSTATUS: running+SESSIONto the frontmatter. - Pull Request: When Jules is done, a PR is created on GitHub.
- Review: if a
REVIEWERis set, it posts a native review on the PR; otherwiseSTATUS: reviewawaits you. - Merge: you merge the PR (locally or from web) →
gopushpublishes (tag-only) anddocs/PLAN.mdis deleted.
See CODEJOB.md for the full state model and the cloud setup.