kaneo (minimalist kanban) fork to experiment adding a tangled integration github.com/usekaneo/kaneo

Contributing to Kaneo#

Thanks for wanting to contribute to Kaneo! Whether you're fixing bugs, adding features, or improving docs, we appreciate your help.

Table of Contents#

Code of Conduct#

We want everyone to feel welcome here. Please be respectful and follow our Code of Conduct.

Getting Started#

What You'll Need#

  • Node.js (18 or newer)
  • pnpm (we use this instead of npm/yarn)
  • Git
  • Docker (optional, for testing full deployments)

Setting Up Your Dev Environment#

  1. Fork and clone the repo:
git clone https://github.com/yourusername/kaneo.git
cd kaneo
  1. Install dependencies:
pnpm install
  1. Set up environment variables: Create .env files for both the API and web apps. See ENVIRONMENT_SETUP.md for detailed instructions on all required environment variables.

  2. Start everything up:

pnpm run dev

This 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.

Making Your First Contribution#

Finding Something to Work On#

  • 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

The Process#

  1. Create a branch for your work:
git checkout -b fix/whatever-youre-fixing
# or
git checkout -b feat/cool-new-feature
  1. Make your changes and test them locally

  2. 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"
  1. Push and create a PR:
git push origin your-branch-name

Then open a pull request on GitHub with a clear description of what you changed and why.

Development Guidelines#

Code Style#

We use Biome for formatting and linting. Before you commit:

pnpm run lint

This will check and automatically fix formatting issues. Most editors can auto-format on save if you install the Biome extension.

Commit Messages#

We use conventional commits to keep our history clean:

  • feat: - New features
  • fix: - Bug fixes
  • docs: - Documentation changes
  • refactor: - Code changes that don't add features or fix bugs
  • test: - Adding or updating tests
  • chore: - Maintenance tasks

Project Structure#

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

Need Help?#

  • 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

Types of Contributions We Love#

  • 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! 🚀