Thanks for wanting to contribute to Kaneo! Whether you're fixing bugs, adding features, or improving docs, we appreciate your help.
We want everyone to feel welcome here. Please be respectful and follow our Code of Conduct.
- Node.js (18 or newer)
- pnpm (we use this instead of npm/yarn)
- Git
- Docker (optional, for testing full deployments)
- Fork and clone the repo:
git clone https://github.com/yourusername/kaneo.git
cd kaneo- Install dependencies:
pnpm install-
Set up environment variables: Create
.envfiles for both the API and web apps. See ENVIRONMENT_SETUP.md for detailed instructions on all required environment variables. -
Start everything up:
pnpm run devThis starts both the API (port 1337) and web app (port 5173). Both will automatically reload when you make changes.
Tip: The web app at http://localhost:5173 will automatically connect to the API at http://localhost:1337
Need help with setup? See our Environment Setup Guide for detailed instructions and troubleshooting tips.
- Browse open issues - look for "good first issue" labels
- Check our Discord - we often discuss features and bugs there
- Found a bug? Feel free to fix it and open a PR
- Create a branch for your work:
git checkout -b fix/whatever-youre-fixing
# or
git checkout -b feat/cool-new-feature-
Make your changes and test them locally
-
Commit using conventional commits:
git commit -m "fix: resolve calendar date selection bug"
git commit -m "feat: add bulk task operations"
git commit -m "docs: update deployment guide"- Push and create a PR:
git push origin your-branch-nameThen open a pull request on GitHub with a clear description of what you changed and why.
We use Biome for formatting and linting. Before you commit:
pnpm run lintThis will check and automatically fix formatting issues. Most editors can auto-format on save if you install the Biome extension.
We use conventional commits to keep our history clean:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesrefactor:- Code changes that don't add features or fix bugstest:- Adding or updating testschore:- Maintenance tasks
kaneo/
├── apps/
│ ├── api/ # Backend API (Node.js/Hono)
│ ├── docs/ # Documentation site (Next.js)
│ └── web/ # Frontend app (React/Vite)
├── packages/ # Shared code and configs
└── charts/ # Kubernetes Helm charts
- Discord: Join our Discord server for real-time help
- Issues: Open a GitHub issue for bugs or feature requests
- Discussions: Use GitHub Discussions for questions about contributing
- Bug fixes - Found something broken? Fix it!
- New features - Have an idea? Let's discuss it first
- Documentation - Help others understand how to use Kaneo
- Performance improvements - Make things faster
- Accessibility - Help make Kaneo usable for everyone
Thanks for contributing to Kaneo! 🚀