// DOCUMENTATION

Contributing

How to contribute to Koko, knowledge notes, and licensing.

Development

Koko is under active development. Contributions to engine correctness, protocol behavior, SDK ergonomics, and benchmarks are welcome.

Getting started

  1. Fork / clone the repo
  2. Install toolchain — see Requirements
  3. zig build and verify zig-out/bin/koko
  4. Run relevant code-check/ probes before submitting changes

Development priorities

  • Browser lifecycle correctness
  • Automation stability and anti-flake execution
  • Realm and navigation semantics
  • CDP behavior consistency
  • MCP integration and agent tooling
  • Multi-session runtime infrastructure

Knowledge notes

After important fixes or discoveries, add an English note in knowledge/:

  • Template: knowledge/_template.md
  • Bugs: knowledge/bugs/YYYY-MM-DD-*.md
  • Publish to this blog: npm run blog:publish -- <path>.md

SDK changes

SDK changes should maintain Playwright API parity where claimed. Koko-only APIs belong behind LP.* or clearly marked SDK methods. Run SDK smoke tests after LP handler changes.

Benchmarks

Include benchmark results when claiming performance improvements. Run npm run bench:compare:publish and attach the generated report diff.

License

Koko is licensed under AGPL-3.0. See LICENSE and LICENSING.md in the repo. Commercial licensing inquiries: see License page.

Security

Report vulnerabilities privately to security@kokoio.com — do not file public issues. See Security page.