Context-aware AI-assisted shell command planner and safety layer
Project description
CAIROS
CAIROS - Context-Aware Intelligent Runtime Operating Shell
CAIROS is a context-aware console assistant that lives inside your normal shell. It is useful offline through deterministic templates, and can use AI as a fallback when configured.
Package/distribution name: cairos-shell
Terminal command: cairos
GitHub repo: Saltybukket/cairos
Quickstart
Install from GitHub:
pipx install git+https://github.com/Saltybukket/cairos.git
cairos quicksetup
Use from any project:
cd ~/projects/my_repo
cairos doctor
cairos context
cairos check if repo is ready to commit
Optional AI quickstart:
export OPENROUTER_API_KEY="your-key"
cairos config ai use-openrouter-free
cairos config ai test
Windows users should run:
py -m pip install --user pipx
py -m pipx ensurepath
pipx install git+https://github.com/Saltybukket/cairos.git
cairos quicksetup
PyPI-Ready Install
There is no PyPI release yet. The repository is prepared for PyPI Trusted Publishing; after the first release is published, installation will be:
pipx install cairos-shell
Development Install
git clone https://github.com/Saltybukket/cairos.git
cd cairos
pipx install --editable .
cairos install-info
Everyday Use
cairos
cairos templates
cairos gui --check
cairos gui
cairos templates system
cairos plan create cpp mini project engine with class Player and main
cairos plan list wsl distros
cairos plan open project in vscode
cairos run create folder docs
Direct cairos <task> prints a plan. Use cairos run <task> to execute after
confirmation.
Optional Local Web GUI
Install the optional GUI dependencies, then launch a localhost-only dashboard:
pipx inject cairos-shell fastapi uvicorn jinja2 python-multipart
cairos gui --check
cairos gui
For editable development installs:
python -m pip install -e ".[gui]"
The GUI shows config paths, AI profiles, provider setup, fallback settings, doctor output, and update/backup guidance. It binds locally, uses a temporary session token for state-changing POST requests, and never displays raw API keys.
Templates vs AI
Simple, clear commands use offline deterministic templates. Longer fuzzy requests are scored for confidence; low-confidence templates step back so AI fallback can handle the request when configured. Every template or AI plan is still safety-scanned before display or execution.
Debug routing decisions with:
cairos plan --debug-route <task>
CAIROS cannot permanently change the parent shell directory from a child
process. Use cairos find-dir <name> or a shell wrapper from
Shell Navigation for cd workflows.
Update
cairos update
cairos backup-config
GitHub installs are updated with the command printed by cairos update.
Config, history and AI profiles live outside the package install and are
preserved across package upgrades.
AI Profiles
Save multiple providers/models and switch quickly. Full provider setup lives in AI Providers.
cairos config ai use-openrouter-free
cairos config ai profiles
cairos config ai switch
Automatic profile fallback is enabled by default. If the active profile is rate-limited, out of credits, temporarily unavailable, missing a visible key, or points at an unavailable model, CAIROS tries another saved profile and prints a notice before the plan:
cairos config ai fallback status
cairos config ai fallback disable
cairos config ai fallback enable
cairos config ai fallback order openrouter-free gemini-flash groq-llama
CAIROS stores environment variable names, never raw API keys.
Key Locations
Global config lives in ~/.config/cairos/config.json on Linux/macOS/WSL and
%APPDATA%\cairos\config.json on Windows. History lives in
~/.local/state/cairos/history.jsonl or %LOCALAPPDATA%\cairos\history.jsonl.
Optional project-local rules live in .cairos/rules.json.
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cairos_shell-0.5.0a3.tar.gz.
File metadata
- Download URL: cairos_shell-0.5.0a3.tar.gz
- Upload date:
- Size: 105.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e40186e4cc4eef89c7b6aab9ed7a640b8b92979508d93081323b398a2bbffc11
|
|
| MD5 |
b36ccee0d9af16a1b044f6839235ffab
|
|
| BLAKE2b-256 |
c1037b9e46db2b2f3396944a2885cdd572438fd242b03e763ff1fff233798408
|
Provenance
The following attestation bundles were made for cairos_shell-0.5.0a3.tar.gz:
Publisher:
publish.yml on Saltybukket/cairos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cairos_shell-0.5.0a3.tar.gz -
Subject digest:
e40186e4cc4eef89c7b6aab9ed7a640b8b92979508d93081323b398a2bbffc11 - Sigstore transparency entry: 2103389098
- Sigstore integration time:
-
Permalink:
Saltybukket/cairos@b18e244f0ff47e7093e13d6819f2ef6887391623 -
Branch / Tag:
refs/tags/v0.5.0a3 - Owner: https://github.com/Saltybukket
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b18e244f0ff47e7093e13d6819f2ef6887391623 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cairos_shell-0.5.0a3-py3-none-any.whl.
File metadata
- Download URL: cairos_shell-0.5.0a3-py3-none-any.whl
- Upload date:
- Size: 86.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1911c6ef80291ac9d97685aa6e8b1dba73d0f3482402e2e6fedb7a7685141ef4
|
|
| MD5 |
76743564eb78203df2e8c592375d2f5d
|
|
| BLAKE2b-256 |
680b8aff87d16e951607656fcc4e47b5050a37ad30c3248741befc5c0a514271
|
Provenance
The following attestation bundles were made for cairos_shell-0.5.0a3-py3-none-any.whl:
Publisher:
publish.yml on Saltybukket/cairos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cairos_shell-0.5.0a3-py3-none-any.whl -
Subject digest:
1911c6ef80291ac9d97685aa6e8b1dba73d0f3482402e2e6fedb7a7685141ef4 - Sigstore transparency entry: 2103389159
- Sigstore integration time:
-
Permalink:
Saltybukket/cairos@b18e244f0ff47e7093e13d6819f2ef6887391623 -
Branch / Tag:
refs/tags/v0.5.0a3 - Owner: https://github.com/Saltybukket
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b18e244f0ff47e7093e13d6819f2ef6887391623 -
Trigger Event:
release
-
Statement type: