This project has been archived by its maintainers, and is no longer receiving any updates.
Project kiko (機巧)
A small interactive CLI playground built with Prompt Toolkit and Rich.
Features
- Slash-command interface (e.g.,
/help,/echo) - Rich UI panels and tables
- Persistent config with schema versioning
- Package-based version display
- JSONL session logging per project
Requirements
- Python 3.12+
uv(recommended) or another Python environment manager
Install
Using uv (recommended)
uv sync
Editable install (optional)
uv pip install -e .
Run
Local development
uv run kiko
# or
make dev
Resume a session
kiko resume <session_id>
# or
kiko --resume <session_id>
Execute once
kiko exec "/help"
kiko exec "hello"
Build
uv build
# or
make build
Commands
/help- Show command list/exit- Exit the application/quit- Alias for/exit/clear- Clear the screen/time- Show current local time/sysinfo- Show system information/echo <message>- Echo a message/say <message>- Render a chat message panel/commands [--pretty]- Output command metadata as JSON/session- Show current session information/sessions- List sessions for the current project/resume <session_id>- Resume a previous session
Shortcuts
Tab(with empty input) - Toggle thinking mode
Configuration
On first run, the app creates a config file at:
~/.config/kiko/config.json
The config uses a schema version for safe upgrades. Example:
{
"schema_version": 1,
"last_seen_app_version": "0.1.0"
}
Sessions
Each run creates a JSONL session file scoped to the current project. Sessions are stored under:
~/.config/kiko/sessions/<project_id>/<session_id>.jsonl
Use /session to view the active session ID, /sessions to list sessions for
the current project, and /resume <session_id> to continue a past session.
Versioning
The displayed version is resolved from the installed package metadata.
If the package metadata is unavailable, the version falls back to 0.0.0.
Lint
uv run ruff check src
Tests
No tests are defined yet.
License
TBD.
Metadata
Release files for kiko 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kiko-0.1.0.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kiko-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.0 kB
Release files / kiko-0.1.0.tar.gz
| Download URL | kiko-0.1.0.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e57998efb8b0df19bcb04a15967c429d44bd9833a38ec38fcc0eff02b50d0b06
|
|
BLAKE2b-256 checksum How to use checksums |
b6d3e0043e792454da96bd6e53081d9f641c983ad927f5ce4f646e4f928d827f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / kiko-0.1.0-py3-none-any.whl
| Download URL | kiko-0.1.0-py3-none-any.whl |
|---|---|
| Size | 25.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f333d89adf0fbf8605187d950595abec34dad47889a96e3d0c40d27e1ad5f2d
|
|
BLAKE2b-256 checksum How to use checksums |
da6a407e61942791630d3db1c8b597fe9e91aa4a3557d2b8fe817c139dc86aae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.15 {"installer":{"name":"uv","version":"0.9.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|