Agent Layer is open source and contributions are welcome. If you're unsure where to start, open an issue with a clear problem statement and a small reproduction.
Where to start
- Bugs, questions, and feature requests: GitHub Issues
- Code changes: open a PR against
main - Development workflow (setup, tooling, and commands): docs/DEVELOPMENT.md
- VS Code launch architecture (contributor reference): docs/architecture/vscode-launch.md
What makes a great PR
- Scope is small and focused
- Behavior changes are covered by tests
- Docs are updated when user-facing behavior changes
- Upgrade-related behavior or guidance updates include corresponding changes to
/docs/upgrades - Commit messages explain the intent (not just the mechanics)
Local workflow
The repo is set up so generated outputs stay repeatable and CI tooling stays aligned. For most changes:
./scripts/setup.sh
make dev
Run from: repo root
make dev is the fast formatting and lint loop. Use make test as the global test gate, make coverage for diagnostic coverage reporting, and run make ci before you open a PR. Hosted CI also runs make ci.
Template and sync changes
If you change anything under internal/templates/ (or sync behavior), validate the seeded output by running init and sync against a scratch repo:
mkdir -p tmp/dev-repo
cd tmp/dev-repo
go run ../../cmd/al init
go run ../../cmd/al sync
Run from: repo root
This catches unintended changes in generated outputs before CI does.
Documentation
The website content lives under:
site/docs/(documentation pages)site/pages/(marketing and utility pages like Install, FAQ, Security)
Documentation-only PRs are welcome. If you're changing copy and structure only, you usually do not need any Go tooling beyond opening a PR.
For public authoring guidance, use the Best Practices hub, including Skill Design, CLI Skill Design, and Instruction Design.
Design principles
- Keep repo-local configuration explicit
- Avoid introducing hidden defaults
- Fail fast when required inputs are missing
- Keep generated outputs repeatable from the same inputs
If you improve the docs, include a before/after example. It helps reviewers validate impact quickly.