Skip to content

Latest commit

 

History

History
142 lines (102 loc) · 4.29 KB

File metadata and controls

142 lines (102 loc) · 4.29 KB

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