Skip to content

Contributing

Project N.E.K.O. accepts focused code, documentation, translation, testing, and content-tooling contributions.

Workflow

  1. Fork and create a focused branch from current main.
  2. Read .agent/rules/neko-guide.md and any matching .agent/skills/*/SKILL.md.
  3. Set up Python 3.11 with uv sync; build frontends with the repository scripts.
  4. Make a minimal, symmetric change in the owning module.
  5. Run targeted tests, then the relevant lint/build checks.
  6. Open a PR describing behavior, risk, and validation.

All Python commands use uv run. User-visible i18n changes update all eight locale files together.

PR gates

  • Changes to Python under app/, main_logic/, or memory/ require the regression-report section expected by scripts/check_pr_report.py.
  • A PR with more than 20 counted files requires a non-empty no-split rationale. New files, recognized test files, and synchronized i18n locale groups are excluded by that gate's rules.
  • Static analysis and plugin tests are defined by current workflows, not by an old checklist.

Read Testing, Code Style, Documentation Maintenance, and Nuitka Packaging before changing their areas.

Maintainer-only content tools have their own safety contracts. The natural-expression candidate miner accepts only explicitly supplied local data and never promotes runtime rules automatically.

The DataForSEO SEO Monitoring tool is also maintainer-only. It validates request volume in a zero-cost dry run, keeps credentials outside the VitePress bundle, and requires an explicit manual action before any paid API call.

Reports and community

Use GitHub Issues for reproducible bugs and scoped proposals. Include environment, exact revision/artifact, expected/actual behavior, sanitized logs, and minimal reproduction.

Contributions are governed by the repository's current LICENSE; do not infer additional distribution promises from this documentation.