Thank you for your interest in contributing! This guide covers everything you need to get started.
git clone https://github.com/Eskyee/agentbot-opensource.git
cd agentbot-opensource
# Docker (recommended)
cp web/.env.example web/.env # fill in your values
docker compose up -d # http://localhost:3000
# Manual
cd web && npm install && npm run dev # frontend → :3000
cd agentbot-backend && npm install && npm run dev # backend → :4000agentbot-opensource/
├── web/ # Next.js 16 frontend + API routes
│ ├── app/
│ │ ├── api/ # ~140 API route handlers
│ │ ├── dashboard/ # Dashboard pages
│ │ └── onboard/ # Agent setup wizard
│ ├── lib/ # Shared utilities
│ └── prisma/ # Database schema + migrations
├── agentbot-backend/ # Express.js backend API
│ └── src/
│ ├── routes/ # REST endpoints
│ └── services/ # Business logic
├── mintlify-docs/ # Documentation site
├── scripts/ # Dev + ops utilities
└── .github/workflows/ # CI/CD + secret scanning
- Fork the repo and create a feature branch:
git checkout -b feat/my-feature - Make your changes — keep them focused and minimal
- Run the secret scanner before pushing:
bash scripts/check-secrets.sh . - Run tests:
cd agentbot-backend && npm test cd web && npm test
- Open a pull request against
main
- TypeScript strict — no
anywhere avoidable - One feature or fix per PR — keep diffs small and reviewable
- Follow existing patterns — read the surrounding code before writing new code
- No shell injection — use
spawn()notexec()for all shell commands - Fail-closed security — auth checks default to deny, not allow
Copy web/.env.example to web/.env. Required fields are documented in the README.
Never commit real API keys. The CI pipeline runs GitLeaks + TruffleHog on every push.
-
bash scripts/check-secrets.sh .passes (no leaked secrets) -
cd agentbot-backend && npx tsc --noEmitpasses (no type errors) - Tests pass:
npm testin bothweb/andagentbot-backend/ - PR description explains what and why, not just what changed
- Security vulnerabilities → see SECURITY.md (do not open public issues)
- Bugs and features → GitHub Issues
By contributing you agree your code will be licensed under the MIT License.