Skip to content

Contributing to PACE

PACE Framework is open source and welcomes contributions. This section covers everything you need to go from first clone to merged pull request.

What you can contribute

TypeExamples
Bug fixesIncorrect agent output parsing, broken CI adapter, config edge cases
New platform adaptersAzure DevOps, CircleCI, Gitea
New LLM adaptersCohere, Mistral-native, local Ollama improvements
DocumentationClearer explanations, new tutorials, fix typos
TestsUnit tests for agents, adapter integration tests
Config schemaNew fields in pace.config.yaml with sensible defaults

What belongs in pace-framework-starter

pace-framework-starter is the framework template itself. Contributions here must be generic — they should work for any project using PACE, not just one specific product.

If you have built something on top of PACE that is specific to your product, that belongs in your own repository.

Repository layout

pace-framework-starter/
├── pace/
│ ├── agents/ ← PRIME, FORGE, GATE, SENTINEL, CONDUIT, SCRIBE
│ ├── platforms/ ← CI/Git hosting adapters (GitHub, GitLab, …)
│ ├── llm/ ← LLM adapters (Anthropic, LiteLLM)
│ ├── orchestrator.py ← daily cycle runner
│ ├── reporter.py ← PROGRESS.md + job summary writer
│ ├── config.py ← PaceConfig dataclass + loader
│ ├── advisory.py ← advisory backlog management
│ ├── preflight.py ← SCRIBE context document checks
│ ├── schemas.py ← JSON schemas for agent outputs
│ ├── pace.config.yaml ← default configuration template
│ └── plan.yaml ← sprint plan template
├── CONTRIBUTING.md
└── LICENSE

Before you start

  • Check open issues before starting work — someone may already be on it
  • For anything beyond a small bug fix, open an issue first and describe what you intend to change
  • Look for issues tagged good first issue if you want a guided starting point

Next steps