/ AGENTS.md
AGENTS.md
1 2 # Groth.jl Workflow Checklist 3 4 Use this guide when working inside the Groth.jl repository. For overall workspace 5 context (e.g., ark-works/zk-book references), see the parent `AGENTS.md`. 6 7 ## 1. Review current context 8 - `docs/ROADMAP.md` — active priorities, completed milestones. 9 - `docs/PACKAGE_REFERENCE.md` — per-package summaries and implementation notes. 10 - `docs/Implementation_vs_Arkworks.md` — how our implementation aligns with arkworks. 11 12 ## 2. Branch & setup 13 - Create feature branches under Groth.jl (e.g., `feature/…`). 14 - Ensure local packages are devved: 15 ```julia 16 julia --project -e 'using Pkg; Pkg.develop("GrothAlgebra"); Pkg.develop("GrothCurves"); Pkg.develop("GrothProofs")' 17 ``` 18 19 ## 3. Testing & benchmarks 20 - Run tests for packages you touch: 21 ```julia 22 julia --project=GrothAlgebra -e 'using Pkg; Pkg.test()' 23 julia --project=GrothProofs -e 'using Pkg; Pkg.test()' 24 ``` 25 - Benchmarks live in `benchmarks/run.jl` / `benchmarks/plot.jl`. Regenerate plots 26 when behaviour changes and note results in `benchmarks/README.md`. 27 28 ## 4. Coding guidelines 29 - Julia style: 4-space indent, `lowercase_with_underscores` functions, docstrings 30 on exported methods, dispatch-friendly signatures matching existing APIs. 31 - Keep package READMEs/docs in sync when user-visible output changes (e.g., 32 update `GrothExamples/` scripts, `docs/ROADMAP.md`). 33 34 ## 5. Commits & PRs 35 - Commit messages: concise imperatives scoped to the area (e.g., `groth16: align coset domain`). 36 - PR descriptions: list commands run (`Pkg.test`, benchmarks) and link the 37 relevant roadmap item. 38 - Update docs/examples as part of the same PR when behaviour shifts. 39 40 Stay focused on Groth.jl; other sibling directories are references only.