Thanks for helping improve Vapi GitOps. Bug reports, docs fixes and new learnings are all welcome.
- Bugs and feature requests: open a GitHub issue. For bugs, include the command you ran, its output (with API keys removed), your Node version, and whether the org is in the US or EU region.
- Security issues: don't open a public issue. Follow SECURITY.md.
- Questions about the Vapi platform itself (not this repo) belong with Vapi support.
-
Fork the repository and create a branch.
-
Install and check that everything passes before you start:
nvm use npm ci npm run build # type-checks src/ and tests/ npm test
-
Make your change, with tests for any behaviour change. Tests use
node:testand live intests/; they never call the real Vapi API. -
Run
npm run buildandnpm testagain, then open a pull request.
Commit messages and PR titles follow Conventional Commits
(fix(pull): …, feat(check): …, docs: …).
| You're adding… | Put it in |
|---|---|
| A Vapi platform gotcha, recipe or troubleshooting guide | docs/learnings/<topic>.md, plus a row in docs/learnings/README.md and the table in AGENTS.md for a new file |
| A sync-engine pain point and its fix (pull, push, state, cleanup) | improvements.md, in its Problem → Current behavior → Risk → Current mitigation → Possible fix → Status format |
| Setup or orientation for new users | README.md (keep it short; put depth in docs/guides/) |
| An example users can copy | examples/. Snippets in the docs that start with # examples/<path> must match the file exactly; npm test checks this. |
Don't edit docs/changelog.md here. It's a template for your own
deployment's change log once you fork the repo.
Coding agents (Claude Code, Codex, Cursor) all follow AGENTS.md;
CLAUDE.md imports it. Update AGENTS.md when a convention changes, and keep
it under 30 KB (npm test checks) so Codex reads all of it.