Development¶
kikx is three Cargo packages and a Next.js app. Each one builds and tests on its own.
Before you start¶
You need:
a checkout of the kikx repository;
a Rust toolchain (
cargo,clippy,rustfmt);Node.js with
npm;Python 3, to build the documentation.
Check the Rust packages¶
Run the tests, clippy and rustfmt in each package:
cd cli && cargo test && cargo clippy --all-targets -- -D warnings && cargo fmt --check
cd backend && cargo test && cargo clippy --all-targets -- -D warnings && cargo fmt --check
cd backend/core && cargo test && cargo clippy --all-targets -- -D warnings && cargo fmt --check
Tests live in each package’s tests/ directory, never in the source files.
Check the dashboard¶
cd web
npm install
npx tsc --noEmit
npm run lint
npm run build
Build the documentation¶
The documentation is built with Sphinx from docs/. Install the pinned dependencies once:
pip install -r docs/requirements.txt
Then build the English and French sites. Both treat warnings as errors:
make -C docs html
make -C docs html-fr
After changing an English page, refresh the French catalogues in docs/locales/fr/ and translate the new entries:
make -C docs update-po
To rebuild on every save while you write:
make -C docs serve