neokapi
Experimental. Neokapi is an ongoing experiment and not yet recommended for production use.
neokapi is a format-aware content engine in Go: parse any format — JSON, Markdown, HTML, config, office formats — into one unified content model, edit the content inside it, check it, and write it back byte-for-byte. The same engine resolves the context that applies to a piece of content — the terms, voice and rules that hold there — and makes that content work in every language.
The engine carries the Okapi Framework heritage forward — channel-based concurrent processing and pluggable tools — in an AI-native design. Multilingual content is the flagship application: extraction, translation, content memory and a terms store, XLIFF/PO interchange, and an Okapi-parity fidelity story. The same engine also serves on-brand source content, AI ingestion, and programmatic editing.
The bowrain platform — the same context graph held across every project, built on neokapi — lives under bowrain/ with its own README.
Install
brew install neokapi/tap/kapi-cli # macOS/Linux
winget install Neokapi.KapiCli # WindowsPre-built binaries for Linux, macOS, and Windows (amd64 + arm64) are on the Releases page. Kapi Desktop ships a signed Windows installer and a macOS cask — see the installation guide.
Repository layout
The framework + kapi CLI live at the root. Companion areas are clearly marked.
core/ Framework: content model, formats, tools, flows, plugin system
memory/ Content memory (interface + in-memory + SQLite + matching)
terms/ Terminology (interface + in-memory + SQLite + import)
providers/ AI + MT provider integrations
host/ Cobra-free runtime + services (config, credentials, plugin host)
cli/ Thin Cobra shell over host (command factories, flags, dispatch)
kapi/ Standalone CLI tool — github.com/neokapi/neokapi/kapi
apps/kapi-desktop/ Wails v3 desktop app (Go + React/TS)
packages/ Apache-licensed pnpm workspace packages (ui, i18n-react, docs-shared, ...)
web/ Docusaurus docs + landing home → published at the site root
storybook/ Kapi Storybook (UI primitives + flow editor)
bench/ Benchmarksdocs/internals/ Internal architecture / interfaces / testing notes bowrain/ Bowrain platform (AGPL-3.0) — see bowrain/README.md
The Go side is a multi-module workspace coordinated by `go.work`:
| Module | Path | Purpose |
| --------------- | --------------------- | ---------------------------------------------------- |
| **Framework** | `.` (root) | Engine — `core/`, `memory/`, `terms/`, `providers/` |
| **Host** | `host/` | Cobra-free runtime + services (config, credentials) |
| **CLI base** | `cli/` | Shared Cobra commands + output formatting |
| **Kapi** | `kapi/` | Standalone file-processing CLI |
| **Kapi Desktop**| `apps/kapi-desktop/` | Wails v3 desktop app |
| **Bowrain Core**| `bowrain/core/` | Shared platform types (see bowrain/README.md) |
| **Bowrain plugin**| `bowrain/plugin/` | `kapi-bowrain` plugin — project sync, run as `kapi <cmd>` |Quick start
The build needs ICU development libraries — the SQLite FTS5 ICU tokenizer is compiled through cgo:
brew bundle # macOS — see Brewfile
sudo apt-get install libicu-dev pkg-config # Debian / Ubuntu
make doctor # report what is still missingmake build # Build kapi CLI → bin/kapi
make test # Run all tests
make check # fmt + vet + lint
go test -tags fts5 ./core/flow/ -run TestExecutorCancellation -v # Single testPrefer make over a bare go build / go test: it passes -tags fts5 and locates Homebrew's ICU, without which go reports no such function: fts5 or a bare [build failed] that never mentions ICU.