Thank you for your interest in contributing to Vivid! 🎉
We welcome contributions of all kinds — bug fixes, new features, documentation improvements, and more.
- Code of Conduct
- Getting Started
- How to Contribute
- Pull Request Guidelines
- Commit Message Format
- Reporting Bugs
- Suggesting Features
- Community
By participating in this project, you agree to follow our community standards:
- Be respectful and inclusive to all contributors.
- No harassment, hate speech, or discrimination of any kind.
- Keep discussions constructive and on-topic.
- Assume good intent from others.
Violations can be reported to the maintainers via Discord or GitHub.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/vividorg/agent.git cd agent - Install dependencies:
npm install
- Create a
.envfile based on.env.exampleand fill in your values. - Run the bot in development mode:
npm run dev
- Check existing issues to see if it's already reported.
- If not, open a new issue describing the bug before working on a fix.
- Create a branch:
git checkout -b fix/your-bug-name - Make your changes, test them, and submit a PR.
- Open a feature request issue first to discuss it.
- Wait for approval from a maintainer before spending time building it.
- Create a branch:
git checkout -b feat/your-feature-name - Build, test, and submit a PR.
Documentation PRs are always welcome — no issue needed for small fixes like typos or clarifications.
- Keep PRs focused — one feature or fix per PR.
- Describe what you changed and why in the PR description.
- Link any related issues using
Closes #issue_number. - Make sure your code runs without errors before submitting.
- Be responsive to review feedback — maintainers may request changes.
PR titles must follow the same format as commit messages since we use squash merging — the PR title becomes the commit on main.
📄 Full specification: commit_format.md
Quick examples:
feat: add summarize tool
fix: resolve workspace crash on startup
docs: update getting started guide
Your PR title is what lands on
main— make it clean and descriptive.
We follow a structured commit format to keep the history clean and readable.
📄 Full specification: commit_format.md
Quick example:
feat: add summarize tool
fix: resolve summarize tool bug
Before committing, please read the full format guide linked above.
Found a bug? You can report it in two ways:
- 👉 Open a GitHub issue — for tracked, detailed reports.
- 💬 Post in Discord — for quick reports or if you're unsure if it's actually a bug.
When reporting, please include:
- A clear description of the issue.
- Steps to reproduce it.
- Expected vs actual behaviour.
- Your Node.js version and OS.
- Any relevant error logs or screenshots.
Have an idea? We'd love to hear it!
- 💬 Share it on Discord — great for early-stage ideas and discussion.
- 👉 Open a GitHub issue with the
enhancementlabel — for more fleshed-out proposals.
Describe the problem it solves and how you'd expect it to work.
Join the community — whether you want to contribute, get help, share ideas, or just hang out:
| Platform | Use it for |
|---|---|
| 💬 Discord | Ideas, bug reports, support, general chat |
| 🐛 GitHub Issues | Tracked bugs and feature requests |
We're glad to have you here — happy contributing! 🚀