Thank you for your interest in contributing!
- Search existing issues before opening a new one
- Include steps to reproduce, expected behavior, and actual behavior
- Include your environment (Node version, OS, browser)
- Use the bug report template
- Open a feature request
- Describe the use case and why it would be valuable for a template (reusable by many forks)
- If possible, outline a proposed implementation
git clone https://github.com/vercel-labs/personal-agent-template.git
cd personal-agent-template
pnpm install
cp .env.example .env
pnpm db:migrate
pnpm devSet real values in .env. Never commit secrets or .data/.
personal-agent-template/
├── agent/ # Eve agent: channels, tools, skills, connections
├── app/ # Nuxt 4 UI: chat, settings, profile
├── server/ # Nitro API, Drizzle schema, auth, memory
├── shared/ # Types and helpers used by app + agent
└── docs/ # Documentation (architecture, env, customization)
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes
- Run checks:
pnpm typecheck
- Commit with a Conventional Commits message
- Open a pull request
- Ensure
pnpm typecheckpasses - Update documentation if your change affects user-facing behavior
- Add a clear description of what changed and why
- Link related issues when applicable
PR titles must follow Conventional Commits (enforced by CI). Scopes: app, agent, server, docs, deps.
If you are forking for your own agent (not contributing upstream), see docs/CUSTOMIZATION.md.
By contributing, you agree that your contributions will be licensed under the MIT License.