π The starting point for new KonjoAI repos β Konjo Code Quality Framework, KIBAN CI gates, and the license/legal/community boilerplate every repo needs, already wired together.
- Click Use this template β Create a new repository.
- Fill in the placeholders (search for
TODOand<...>):LICENSEβ licensor name, project name, change date, change license..konjo/profile.ymlβrepo:,stack:,packs:(see below).SECURITY.mdβ supported versions, contact method.CODE_OF_CONDUCT.mdβ contact email.
- Run
bash .konjo/scripts/install-hooks.shto install the Wall 1 pre-commit hook. - In the new repo's Settings β General β Pull Requests, turn on "Automatically delete head branches." This is a per-repository GitHub setting β it is not carried over by "Use this template" and can't be set through a template file, so it has to be flipped by hand in every new repo.
- Delete this section once you're set up.
Three walls against AI slop β see KONJO_QUALITY_FRAMEWORK.md.
- Wall 1 β Pre-commit (
.konjo/hooks/pre-commit, installed via.konjo/scripts/install-hooks.sh): language-aware β it only runs Rust checks if it finds aCargo.toml, Python checks if it finds apyproject.toml/requirements.txt, etc. Blocks the commit. - Wall 2 β CI gate (
.github/workflows/konjo-gates.yml): installs the pinned KIBAN distribution and runskonjo-gatesagainst.konjo/profile.yml. Blocks the merge. - Wall 3 β Adversarial review (
.konjo/scripts/konjo_review.py, local only, disabled in CI by default):git diff HEAD~1 | python3 .konjo/scripts/konjo_review.py.
KIBAN is the versioned engine that Wall 2 installs and runs (pip install "kiban @ git+https://github.com/konjoai/kiban.git@<ref>"). It ships the gate
logic and eval cassettes as one pinned package, so CI never depends on local
state β only on .konjo/kiban.ref and .konjo/profile.yml.
Do you need to know the language before wiring it up? Partially:
- Wall 1 (the pre-commit hook) and the DRY/review scripts are already
cross-language β they detect what's present (
Cargo.toml,pyproject.toml,package.json,pixi.toml, ...) and skip what isn't. - Wall 2 needs
.konjo/profile.ymlto declarestack:andpacks:(e.g.lang/rust,lang/python,lang/typescript,lang/mojo,lang/go) so KIBAN knows which language packs' gates, complexity rules, and specialist review lanes to run. That can't be filled in generically β it has to match whatever the new repo actually builds. - The
.github/workflows/konjo-gates.ymlshipped here only unconditionally sets up Python (KIBAN itself is a pip package). It conditionally installs a Rust toolchain / Node if it detectsCargo.toml/package.jsonin the repo, so most stacks work without editing the workflow β just fill inprofile.ymland it picks up the rest.
So: you don't need to know the language to drop the template in, but you do
need to know it before Wall 2 will actually run meaningful gates β fill in
profile.yml once the stack is decided.
Business Source License 1.1 β converts to the stated Change License on the Change Date. Fill in the licensor/parameters block before first release.