Contributing to Vant
Welcome! Here’s how to help make Vant better.
Canonical source note: this page is the ONE full contribution guide. The root CONTRIBUTING.md is the short front door pointing here; do not grow the two back into divergent copies of each other.
Code of Conduct
Be respectful. We’re all here to build cool AI memory stuff together.
Ways to Contribute
There are several ways to contribute to Vant.
1. Report Bugs
Open an issue with:
- What you expected
- What happened
- Steps to reproduce
- Your environment (Node version, OS, etc.)
2. Suggest Features
Open a discussion first:
- Describe the feature
- Why it’s useful
- How it would work
Good First Issues
Issues labeled good first issue (the repo’s real label, with spaces)
carry a contract: a reproduction and an acceptance test sit in the
issue body, so you verify your fix the same way the project does. It is
the same contract every vant fix follows - the fix ships with the test
that proves it. Browse the current set on the issues
page.
Triage Doors
Every kind of input has a real door, and the doors are checked against reality:
| Input | Door | What to include |
|---|---|---|
| Question or idea | Discussions | What you tried, what you expected |
| Bug | Issues with the bug template | Expected, actual, reproduction, environment |
| Feature request | Discussions first | The problem and proposed shape; becomes an issue once concrete |
| Security vulnerability | Private advisory - never a public issue | Impact, reproduction, which surface |
| Documentation gap | Issues with the documentation label |
The page, the claim, what reality says |
Labels that exist on the tracker: bug, documentation, enhancement,
good first issue, help wanted, question, plus project tags
(announcement, exploration, roadmap, testing, api,
encryption, recursion, nova). If a guide mentions a label that
does not exist, that is a bug: the doors are part of the surface.
Security handling is credited and private per the project’s security policy; support routing lives in SUPPORT.md.
3. Write Code
Contribute code to the project.
1. Fork the repo
2. Create a branch: git checkout -b feature/your-feature
3. Make changes
4. Add tests if applicable
5. Commit: git commit -m 'Add feature'
6. Push: git push origin feature/your-feature
7. Open a PR
4. Improve Docs
Docs live in docs/. Just edit and PR!
Two lint gates run over every docs change, so run them before you push:
# Voice/format gate: fence language tags, heading order, em dashes,
# emoji in prose, pipe-table shape, trailing whitespace
npm run lint:docs
Both scripts live in scripts/ and pass silently when clean:
# Style gate only
node scripts/check-docs-style.js
# Link gate only: every internal link must resolve to a real page
node scripts/check-docs-links.js
Content rules in short:
- Plain hyphen in prose, never em or en dashes
- No emoji or decorative glyphs outside code fences and inline code
- Every opening code fence gets a language tag
- Pipe tables: every row starts and ends with
| - Version-specific claims (ports, paths, APIs) get checked against
lib/andbin/before you commit
5. Share
- Star the repo
- Write about Vant
- Help others in discussions
Development Setup
Get your local development environment ready.
# Clone
git clone https://github.com/dhaupin/vant.git
cd vant
# Install deps
npm install
# Test
npm test
# Run locally
node bin/vant.js
Coding Standards
- Use meaningful variable names
- Add comments for complex logic
- Keep functions small and focused
- Test edge cases
Commit Messages
Format: type: description (this is the canonical commit format;
agent-crew work on agent-<name> branches uses the agent-name: did
thing X pass format instead. Both are documented, neither is
accidental)
Types:
feat: New featurefix: Bug fixdocs: Documentationrefactor: Code cleanuptest: Adding tests
Examples:
feat: Add multi-agent lock timeout
fix: Handle missing brain repo gracefully
docs: Update CLI reference
PR Process
- Open early - Gets feedback quickly
- Keep small - Smaller = faster to review
- Respond to feedback - Iterate until merged
Recognition
Contributors get added to README. Thanks for making Vant better!
Questions?
- Open a GitHub Discussion
- Report a bug via Issues