|
| 1 | +# Contributing |
| 2 | + |
| 3 | +Thanks for helping improve Vapi GitOps. Bug reports, docs fixes and new |
| 4 | +learnings are all welcome. |
| 5 | + |
| 6 | +## Reporting a problem |
| 7 | + |
| 8 | +- **Bugs and feature requests:** open a [GitHub issue](https://github.com/VapiAI/gitops/issues/new/choose). |
| 9 | + For bugs, include the command you ran, its output (with API keys removed), |
| 10 | + your Node version, and whether the org is in the US or EU region. |
| 11 | +- **Security issues:** don't open a public issue. Follow [SECURITY.md](SECURITY.md). |
| 12 | +- **Questions about the Vapi platform itself** (not this repo) belong with |
| 13 | + [Vapi support](https://docs.vapi.ai). |
| 14 | + |
| 15 | +## Making a change |
| 16 | + |
| 17 | +1. Fork the repository and create a branch. |
| 18 | +2. Install and check that everything passes before you start: |
| 19 | + |
| 20 | + ```bash |
| 21 | + nvm use |
| 22 | + npm ci |
| 23 | + npm run build # type-checks src/ and tests/ |
| 24 | + npm test |
| 25 | + ``` |
| 26 | + |
| 27 | +3. Make your change, with tests for any behaviour change. Tests use |
| 28 | + `node:test` and live in `tests/`; they never call the real Vapi API. |
| 29 | +4. Run `npm run build` and `npm test` again, then open a pull request. |
| 30 | + |
| 31 | +Commit messages and PR titles follow [Conventional Commits](https://www.conventionalcommits.org/) |
| 32 | +(`fix(pull): …`, `feat(check): …`, `docs: …`). |
| 33 | + |
| 34 | +## Where things go |
| 35 | + |
| 36 | +| You're adding… | Put it in | |
| 37 | +| --- | --- | |
| 38 | +| A Vapi platform gotcha, recipe or troubleshooting guide | `docs/learnings/<topic>.md`, plus a row in [`docs/learnings/README.md`](docs/learnings/README.md) and the table in `AGENTS.md` for a new file | |
| 39 | +| 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 | |
| 40 | +| Setup or orientation for new users | `README.md` (keep it short; link to a guide for depth) | |
| 41 | +| An example users can copy | `examples/`. Snippets in the docs that start with `# examples/<path>` must match the file exactly; `npm test` checks this. | |
| 42 | + |
| 43 | +Don't edit `docs/changelog.md` here. It's a template for your own |
| 44 | +deployment's change log once you fork the repo. |
| 45 | + |
| 46 | +Coding agents (Claude Code, Cursor, Codex) read [`AGENTS.md`](AGENTS.md) and |
| 47 | +[`CLAUDE.md`](CLAUDE.md); keep them in step when a convention changes. |
0 commit comments