Themis CLI
A CLI tool to manage the full lifecycle of AI-assisted development projects.
Themis solves context loss between Claude Code sessions by generating structured
project scaffolding with CLAUDE.md, BACKLOG.md, decisions/, and a
whitepaper — keeping all context, decisions, and documentation in one place.
Why Themis?
When working with Claude Code, valuable research and architectural decisions get lost in chat history between sessions. Themis gives every idea and project a structured home where context is preserved and travels with the code.
Installation
Requires Python 3.12+ and uv.
uv tool install themis-cli
Verify:
themis --version
Configuration
Workspace path
By default Themis uses ~/themis-workspace/. Override via:
themis config set workspace /path/to/your/workspace
Configuration is stored in ~/.config/themis/config.json.
Developer profile
Themis injects your developer profile into every generated CLAUDE.md so
Claude Code always knows who you are and how you work.
themis setup
This creates ~/.config/themis/profile.md. Edit it to describe your stack,
principles, and working preferences.
Workspace Structure
~/themis-workspace/
├── inbox/ # Ideas under exploration
│ └── my-idea/
│ ├── CLAUDE.md
│ ├── EXPLORATIONS_LOG.md
│ └── decisions/
└── projects/ # Active projects
└── lib-py-myproject/
├── CLAUDE.md
├── CONTEXT.md
├── BACKLOG.md
├── WHITEPAPER.md
├── .gitignore
└── decisions/
└── DECISION-MODEL.md
Commands
themis init-idea <name>
Creates a new idea in inbox/ with a structured CLAUDE.md,
EXPLORATIONS_LOG.md, and decisions/ folder. Injects your developer
profile and prints the correct agora launch command.
themis init-idea my-saas-idea
themis init-project <name> [stack]
Creates a fully initialized project with native tooling, CLAUDE.md,
BACKLOG.md, WHITEPAPER.md, .gitignore, and a first Git commit.
Prompts for project type to build the correct repository name.
Supported stacks: python, angular, nextjs, node, nestjs
Project types: src, lib, util, msvc, proj
The project directory is named following the convention:
<type>-<lang>-<name> (e.g. lib-py-myproject, src-ts-myapp).
themis init-project myproject python
# or let Themis prompt you
themis init-project myproject
themis promote <name> [stack]
Promotes an idea from inbox/ to a full project. Migrates research context
and decisions, prompts for whitepaper content, and removes the idea from
inbox/ after migration.
themis promote my-saas-idea python
themis list
Lists all ideas and projects in your workspace. For each project shows the
current In Progress items from BACKLOG.md and the Next step from
the last session in CLAUDE.md.
themis list
Themis Workspace
┌─────────────┬──────────────────┬──────────────┬───────────────┐
│ Type │ Name │ In Progress │ Next │
├─────────────┼──────────────────┼──────────────┼───────────────┤
│ 💡 idea │ my-saas-idea │ │ │
│ 🚀 project │ lib-py-myproject │ • Fix auth │ Add dashboard │
└─────────────┴──────────────────┴──────────────┴───────────────┘
themis status
Quick consolidated view of all active projects showing current In Progress items and next steps — without listing ideas.
themis status
Project Status
┌──────────────────┬──────────────┬───────────────┐
│ Project │ In Progress │ Next │
├──────────────────┼──────────────┼───────────────┤
│ lib-py-myproject │ • Fix auth │ Add dashboard │
└──────────────────┴──────────────┴───────────────┘
themis session start <project>
Launches Claude Code for a project with the correct CLAUDE_MEM_DATA_DIR
set automatically. Accepts the full project name or just the short name.
themis session start myproject
# or
themis session start lib-py-myproject
⬡ THEMIS SESSION START
Proyecto : lib-py-myproject
Memoria : /home/user/.claude-mem/lib-py-myproject
themis config
Manage Themis configuration (workspace path).
themis config show
themis config set workspace ~/projects/ai-workspace
themis setup
Interactive setup: creates ~/.config/themis/profile.md with your developer
profile content.
themis setup
Typical Workflow
1. Got an idea?
themis init-idea my-idea
cd ~/themis-workspace/inbox/my-idea && agora
2. Research and explore with Claude.
Document decisions in decisions/
3. Ready to build?
themis promote my-idea python
4. Open your project.
themis session start my-idea
5. Track progress.
themis status
Requirements
- Python 3.12+
- uv — for Python projects
- pnpm — for
nextjsandnodeprojects - Angular CLI — for
angularprojects - Claude Code — for
themis session start
License
MIT
Metadata
Release files for themis-cli 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| themis_cli-0.4.1.tar.gz | 46.2 kB | Without provenance | Details for themis_cli-0.4.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| themis_cli-0.4.1-py3-none-any.whl | Python 3 | none | any | Details for themis_cli-0.4.1-py3-none-any.whl |
Total release size: 67.1 kB
Release files / themis_cli-0.4.1.tar.gz
| Download URL | themis_cli-0.4.1.tar.gz |
|---|---|
| Size | 46.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3bd3ec0dbed5fdf9d16014fc80cb7d8c2a89e2cb3003ca6f461788443cd4722b
|
|
BLAKE2b-256 checksum How to use checksums |
52d26cc01e3fae259b4901b2c612743487209a16b543a00b9a4a0d61948e8165
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / themis_cli-0.4.1-py3-none-any.whl
| Download URL | themis_cli-0.4.1-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3cb49e5b3914fad78ccdef7a70b03f29213b8b94846c5d034a8df99d066916db
|
|
BLAKE2b-256 checksum How to use checksums |
3a0edf38901630910aadde7faf7b29e3fc86f4f147544be7ee70e10976a4ac4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for themis-cli 0.4.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.