Files
kandev/CONTRIBUTING.md
T
José Almeida 55960e7555 docs: add curated public documentation (#1701)
* docs: add curated public documentation

* docs: correct public API and deployment guidance

* docs: fix workflow trigger anchor

* docs: harden deployment and websocket examples
2026-07-15 12:06:06 +01:00

2.1 KiB

Contributing to Kandev

Contributions are welcome! This document covers the basics.

Community

Join our Discord to ask questions, discuss ideas, or get help with your contribution before opening a PR.

Important

You must understand the code you submit. You're welcome to use AI tools to help write code, but every PR will be reviewed by a human maintainer and the feature you're contributing should be manually tested. If you can't explain what your code does and why, it's not ready to submit.

How to Contribute

  1. Fork and branch. Create a feature branch from main.
  2. Keep PRs focused. One logical change per PR. Small PRs get reviewed faster.
  3. Update public docs when behavior changes. User-facing docs live in docs/public/**. If your change affects CLI commands, config keys, install/deploy flows, workflows, executors, APIs, screenshots, or user-facing terminology, update the relevant public docs in the same PR.
  4. Test your changes. Run make fmt first, then make typecheck test lint before submitting. Manually verify that your feature works end-to-end, and add screenshots or recordings to the PR if it has a UI component. If your change touches any UI files (anything under apps/web/), you must add or update Playwright e2e tests in apps/web/e2e/ to prevent regressions. Run them with make test-e2e. See docs/test_e2e_web.md for patterns and fixtures.

Bug Reports

Search existing issues first. If your bug isn't already reported, open one with:

  • Steps to reproduce
  • Expected vs actual behavior
  • Environment details (OS, browser, agent type)

Feature Ideas

Open an issue describing the feature and the problem it solves. Keep it concise.

Code Quality

New code must pass the existing linters and tests:

make fmt        # Format Go and web code
make typecheck  # TypeScript type checking
make test       # Backend + web tests
make lint       # Backend + web linters

License

By contributing, you agree that your contributions will be licensed under the AGPL-3.0 license.