Thank you for helping build the governance layer for agentic engineering.
- Make answerability cheap and reconstruction trivial.
- Treat taste as a versioned, first-class engineering artifact.
- Separate agent capability (inner loop) from human agency (outer loop).
- Build for the accountable owner, not just the implementer.
- Read Contributor start here and browse good first issues / open issues.
- Read ROADMAP.md for planned v3 work.
- Run the five-minute loop in QUICKSTART.md.
- Read SPEC.md before substantial schema or CLI changes.
- After your first merged PR, you will be added to CONTRIBUTORS.md (
pnpm contributors:update).
git clone https://github.com/cobusgreyling/outerloop.git
cd outerloop
pnpm install
pnpm build
pnpm test
pnpm demoDev Container: open the repo in VS Code / GitHub Codespaces — .devcontainer/ runs install + build on create.
Run the CLI locally:
pnpm outerloop --help
pnpm outerloop evidence package --run-id latest --project-root examples/full-factory/fixtures
pnpm outerloop init --project-root /tmp/my-projectgit checkout -b feat/short-description # or fix/, docs/, chore/Use focused branches. One logical change per PR.
- TypeScript strict mode, Zod for artifact schemas, Vitest for tests.
- Match patterns in the package you are editing (
packages/<name>/). - Run before opening a PR:
pnpm build
pnpm testAdd tests in src/*.test.ts for behavior changes. Demos under examples/ should keep working.
If your PR changes user-facing behavior in any @cobusgreyling/outerloop* package:
pnpm changesetSelect affected packages and semver bump (patch / minor / major). Commit the generated .changeset/*.md file with your PR.
Docs-only or internal test changes do not need a changeset.
- Fill out the PR template.
- Link the issue:
Fixes #123. - Include rationale for significant changes — we dogfood outer-loop answerability on our own PRs.
- Keep PRs small; split large features across stacked PRs when possible.
Maintainers will review for:
- Correctness and test coverage
- Schema/CLI consistency with SPEC.md
- Changeset presence when needed
- Clear rationale in the PR description
Address feedback with additional commits. Squash-merge is fine.
- Bugs: bug report template
- Features: feature request template — check ROADMAP.md first
- Security: see SECURITY.md — do not file public issues for vulnerabilities
- TypeScript strict mode
- Zod for all artifact schemas
- Vitest for tests
- Small, focused PRs with clear rationale
- No drive-by refactors in the same PR as a feature fix
This project follows the Contributor Covenant. Be respectful and constructive.
Releases use Changesets. See docs/PUBLISHING.md.