Thank you for your interest in contributing to Fowlcon! Please read Block's general contributing guidelines first -- they cover forking, branching, commit conventions, PR process, CLA/DCO, and code of conduct.
This document covers Fowlcon-specific guidance.
Fowlcon is an agentic code review tool. Most of the "code" is markdown prompt files and shell scripts, not a traditional application. Contributing here means writing prompts, refining agent behavior, and building reliable state management scripts.
- A CLI that supports agent commands (Claude Code, Amp, Cursor, or similar)
bash(for shell scripts)bats-core(for shell script tests):brew install bats-coreor see bats-core installationghCLI (for testing against real PRs):brew install gh
git clone https://github.com/block/fowlcon.git
cd fowlcon
./scripts/install# Run all shell script tests
bats tests/scripts/
# Run a specific test file
bats tests/scripts/test-update-node-status.bats- TDD with bats-core. Write the failing test first.
- All writes are atomic: temp file +
mv. - Single-writer assumption must be maintained.
- Prompts can't be TDD'd conventionally. Instead: test against a real PR, verify output structure and coverage, document results in the PR description.
- Agents are documentarians -- they describe, never critique.
- Keep each agent focused on one thing.
- Verify -- tests pass, or manual testing is documented
- Document -- update AGENTS.md or README.md if behavior changes
- Align with principles -- read the 10 core principles in README.md
- Shell script improvements (reliability, edge cases, portability)
- Agent prompt refinement (better tree construction, clearer explanations)
- Testing against diverse PRs (different languages, sizes, patterns)
- Documentation and examples
- TUI exploration (see README for context)
Open an issue or reach out to the maintainers listed in CODEOWNERS.