Contributing
Make a change the system can defend
ADC welcomes focused fixes, tests, documentation and integrations. Changes that affect trust or delivery need evidence across the boundary they modify.
Before writing code
- Search existing issues and documentation. Open a focused issue for behavior changes or new public contracts.
- State the user problem, affected trust boundary and acceptance evidence. Avoid combining unrelated refactors.
- Keep protocol, policy and receipt behavior independent of MCP, CLI and other adapters.
Repository map
- packages/protocol
- Versioned invocation, result, capability and receipt schemas.
- packages/policy
- Authorization intersection and explainable policy decisions.
- apps/control-plane
- Identity, management APIs, dispatch, audit and the public server.
- apps/node
- Local enforcement, tool execution, receipts and service lifecycle.
- apps/console
- Public website, documentation and account management UI.
- tests
- Cross-boundary integration, PostgreSQL and installation behavior.
Develop locally
Use Node.js 22+ and pnpm 9+. Configure a reachable PostgreSQL 16+ database and a stable ADC_AUTH_SECRET; disable required email verification for local work without SMTP.
Terminal
pnpm install --frozen-lockfile
pnpm build:node
pnpm devRequired verification
Terminal
pnpm schema:check
pnpm typecheck
pnpm lint
pnpm format:check
pnpm test
pnpm build
pnpm audit --prod- Protocol changes update committed JSON Schema and compatibility vectors.
- Trust-boundary or delivery changes include an architecture decision record.
- New side-effecting tools include durable idempotency and terminal receipt tests.
- User-visible behavior includes concise English and Simplified Chinese copy.
Report security issues privately
Do not open a public issue for a suspected vulnerability. Use the repository's private security reporting channel and include affected versions, impact, reproduction and known mitigations without real credentials or private data.
Open repository security policy