Skip to content

Commit e7a8d9b

Browse files
docs: prepare for public release: scrub internal names, fix examples, add community files
- Remove customer, product and person names, a customer incident's details, internal tool names and internal ticket IDs from docs, agent instructions, code comments and test fixtures. Lessons are kept in neutral terms; fixture renames don't change what tests check. - Fix README examples a new user would copy and break on: personalities need an assistant and scenarios need instructions and evaluations (the old examples used fields the API rejects), state files store {"uuid": …} entries, and squads hand off through handoff tools. - Add examples/starter, a complete small org, and build the README's File Formats section from its files. tests/examples.test.ts checks that every example org passes validate and has the fields the API requires, that the starter's PR check builds cleanly, and that every doc snippet naming an example file matches it exactly. - Add CONTRIBUTING.md, SECURITY.md (GitHub private vulnerability reporting), and issue forms; update package.json's description. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent b8115c0 commit e7a8d9b

42 files changed

Lines changed: 652 additions & 135 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.conductor/setup.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/usr/bin/env bash
2-
# Conductor setup script for gitops-mudflap.
2+
# Conductor setup script for this repository.
33
#
44
# Wire-up: this script is dispatched from `conductor.json` at the repo root:
55
# {"scripts": {"setup": "bash .conductor/setup.sh"}}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Bug report
2+
description: Something in the sync engine, CLI or workflows didn't work as documented.
3+
labels: [bug]
4+
body:
5+
- type: textarea
6+
id: what-happened
7+
attributes:
8+
label: What happened?
9+
description: What you expected, and what happened instead.
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: command
14+
attributes:
15+
label: Command and output
16+
description: The exact command you ran and its output. Remove API keys and any customer data.
17+
render: shell
18+
validations:
19+
required: true
20+
- type: input
21+
id: version
22+
attributes:
23+
label: Version
24+
description: The commit or release of this repo you're on (`git log -1 --oneline`).
25+
- type: input
26+
id: node
27+
attributes:
28+
label: Node version
29+
description: Output of `node --version`.
30+
- type: dropdown
31+
id: region
32+
attributes:
33+
label: Vapi region
34+
options: [US, EU]

‎.github/ISSUE_TEMPLATE/config.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Report a security vulnerability
4+
url: https://github.com/VapiAI/gitops/security/advisories/new
5+
about: Please report security issues privately, not as public issues.
6+
- name: Vapi platform docs and support
7+
url: https://docs.vapi.ai
8+
about: Questions about the Vapi platform itself rather than this repository.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Feature request
2+
description: Suggest a change or new capability.
3+
labels: [enhancement]
4+
body:
5+
- type: textarea
6+
id: problem
7+
attributes:
8+
label: What problem would this solve?
9+
description: Describe what you're trying to do and what gets in the way today.
10+
validations:
11+
required: true
12+
- type: textarea
13+
id: proposal
14+
attributes:
15+
label: What would you like to happen?

‎.gitignore‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ node_modules/
55
pnpm-lock.yaml
66

77
# Environment files (secrets - never commit these!)
8-
# Covers dev/stg/prod and any org slug (e.g. .env.roofr-production)
8+
# Covers dev/stg/prod and any org slug (e.g. .env.acme-production)
99
.env
1010
.env.*
1111
!.env.example

‎CLAUDE.md‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ When both files exist, follow both. If guidance overlaps, treat `AGENTS.md` as t
1515

1616
**The Vapi PATCH API does NOT deep-merge nested objects. When you PATCH a nested object (`model`, `voice`, `transcriber`, `messagePlan`, `analysisPlan`, `artifactPlan`, `voicemailDetection`, `startSpeakingPlan`, `stopSpeakingPlan`) with a partial body, the API REPLACES the entire object — wiping every field you didn't include.**
1717

18-
This wiped three live-production assistants' system prompts on 2026-05-13 (gitops-mudflap iForm barge fleet). The PATCH was `{"model": {"model": "gpt-4.1", "provider": "openai", "maxTokens": 260, "temperature": 0.3, "toolIds": [...]}}` — looked complete, but did NOT include `model.messages`. Result: prompts gone, live calls ran with empty system prompt until the operator forced a restore.
18+
This wiped three live-production assistants' system prompts in a customer fork on 2026-05-13. The PATCH was `{"model": {"model": "gpt-4.1", "provider": "openai", "maxTokens": 260, "temperature": 0.3, "toolIds": [...]}}` — looked complete, but did NOT include `model.messages`. Result: prompts gone, live calls ran with empty system prompt until the operator forced a restore.
1919

2020
**Mandatory workflow for any direct API PATCH against a nested object:**
2121

@@ -88,8 +88,7 @@ file paths with line numbers so future readers can verify your claims.
8888
When a fix lands, mark the entry `[RESOLVED YYYY-MM-DD] (#<PR-number>)` at
8989
the top — don't delete it. The history is the point.
9090

91-
Customer-fork logs (`gitops-mudflap/improvements.md`,
92-
`gitops-amazon3p/improvements.md`) feed upstream: when an entry there is
91+
Customer forks' own `improvements.md` logs feed upstream: when an entry there is
9392
generic enough to apply across customers, surface it here in the same
9493
revision.
9594

‎CONTRIBUTING.md‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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

Comments
 (0)