Contributing to TeamHero
March 30, 2026 · View on GitHub
Thanks for your interest in contributing to TeamHero! This guide covers everything you need to get started.
Running Locally
-
Fork and clone:
git clone https://github.com/YOUR-USERNAME/TeamHero.git cd TeamHero npm install -
Start the server:
# Windows launch.bat # Mac/Linux bash launch.sh -
The dashboard opens at
http://localhost:3796. The server uses Node's built-inhttpmodule with no external framework - justnpm installand go. -
The API runs on the same port. Try
curl http://localhost:3796/api/healthto verify everything is working.
Project Structure
TeamHero/
├── server.js # API server (Node.js, no frameworks)
├── portal/ # Dashboard web UI (vanilla HTML/CSS/JS)
│ ├── index.html
│ ├── css/style.css
│ └── js/app.js
├── agents/ # Agent definitions and memory
├── config/ # Team rules, security rules, system config
├── data/ # Tasks, knowledge base, media, round tables
├── profile/ # Owner profile
├── launch.bat # Windows launcher
└── launch.sh # Mac/Linux launcher
What Contributions Are Welcome
- Bug fixes - found something broken? Fix it and send a PR
- Documentation - better examples, clearer explanations, typo fixes
- Agent templates - new agent personalities and roles for different team types
- Issue triage - reproducing bugs, adding details to reports
- Feature ideas - open an issue to discuss before building
- Translations - help make TeamHero accessible in more languages
- Tests - we'd love more test coverage
Pull Request Process
- Create a branch from
mainfor your work - Make your changes - keep PRs focused on one thing
- Test locally: make sure the dashboard loads and basic operations work
- Commit with clear messages describing what changed and why
- Open a PR against the
mainbranch
What to expect after submitting
- We aim to review PRs within 48-72 hours
- We'll provide constructive feedback if changes are needed
- Once approved, we'll merge and include it in the next release
DCO (Developer Certificate of Origin)
We use the DCO instead of a CLA. This means you certify that you wrote the code (or have the right to submit it) by adding a sign-off to your commits:
git commit -s -m "Fix task status transition bug"
This adds a Signed-off-by line to your commit. That's it - no legal forms to sign.
Code Style
- Vanilla JavaScript (ES6+). No TypeScript, no JSX, no bundlers.
- Server is a single
server.jsfile using Node's built-inhttpmodule. - Portal uses plain HTML, CSS, and JS. No build tools.
- Prefer readability over cleverness.
- Keep it simple - zero frontend frameworks is intentional.
Reporting Bugs
Open an issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your OS and Node.js version
Feature Requests
Open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you considered
Security Issues
Please report security vulnerabilities privately - see SECURITY.md for details.
License
By contributing, you agree that your contributions will be licensed under the MIT License.