A coding assistant for domain-driven design projects in ASP.NET Core.
Project description
Codius CLI
Coding assistant for domain-driven design projects in ASP.NET Core.
pip install codius
Why Codius?
Free domain-driven designers from boilerplate and let them focus on modeling.
Codius is your coding assistant for domain-driven design — built to take care of the repetitive tasks that just have to get done.
Instead of manually writing boilerplate for aggregates, methods, repositories, and other building blocks, you describe the changes you want to make. Codius takes care of translating those changes into code, aligned with the OpenDDD.NET framework.
This frees you up to focus on what really matters: modeling your domain and evolving your design.
Refinements become faster, iteration cycles shorter, and the feedback loop tighter.
With Codius, your ideas move from thought to implementation without getting lost in scaffolding.
If you’re passionate about DDD, code quality, and improving developer flow, try Codius — or help shape it by contributing to its development.
Example
Say you want a Book aggregate with Title, Author, and Price, and a method to apply discounts.
Just tell Codius:
> Create a Book aggregate with Title, Author, and Price.
Add a method to apply a discount to the Price.
Codius handles the boilerplate — aggregate, method, repository — so you can focus on the model.
Quickstart
$ pip install codius # Temporary package name
$ cd /your/project/root # Go to your project's root
$ codius # Starts Codius CLI
On first run, Codius will create .codius/config.yaml and initialize a modeling session.
Compatibility
Codius is designed for projects built with OpenDDD.NET — a framework for Domain-Driven Design in .NET.
It works directly on your existing codebase, generating and modifying code according to OpenDDD.NET’s conventions.
Whether you’re evolving your domain model or adding new building blocks, Codius helps you stay consistent and productive within the framework’s structure.
Slash Commands
| Command | Description |
|---|---|
/clear |
Reset session state and history |
/clearhistory |
Reset session history |
/compact |
Summarize and condense history |
/model |
Change LLM provider/model |
/approval |
Switch approval mode (suggest/auto) |
/sessions |
List previous sessions |
/history |
Show session history |
Requirements
- Python 3.9 to 3.12
- A project built with OpenDDD.NET
- OpenAI or Anthropic API key (set in
config.yamlor use/modelin the CLI)
Configuration
When you run Codius for the first time, it creates a .codius/config.yaml file in your project root.
This file controls how Codius behaves — including which LLM provider it uses, how verbose it is, and whether changes are auto-approved or suggested.
Example
debug: true
debug_llm: false
log_level: warning
approval_mode: suggest
llm:
provider: openai
openai:
model: gpt-4o
api_key: sk-... # Or leave blank to use the OPENAI_API_KEY environment variable
anthropic:
model: claude-3-opus
Config Options
| Key | Type | Description |
|---|---|---|
debug |
bool |
Enables general debug output in the CLI |
debug_llm |
bool |
Logs LLM request and response payloads |
log_level |
str |
Controls log verbosity: info, warning, or error |
approval_mode |
str |
Determines if changes are auto-applied: • suggest — manual approval• auto — apply immediately |
llm.provider |
str |
Specifies which LLM provider to use: • openai, anthropic |
llm.<provider>.model |
str |
The name of the LLM model to use (e.g. gpt-4o, claude-3-opus) |
llm.<provider>.api_key |
str or null |
The API key to use for that provider. Can be omitted to use env var (e.g. OPENAI_API_KEY) |
💡 If
api_keyis not specified in the YAML file, Codius falls back to environment variables likeOPENAI_API_KEY.
Contribute
Codius is under active development.
If you're into:
- Domain-Driven Design
- Developer tooling
- LLM-based assistants
- Improving the modeling experience
...then jump in! Try it out, explore the codebase, and open an issue or PR.
License
Licensed under GPLv3.
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 codius-0.3.0.tar.gz.
File metadata
- Download URL: codius-0.3.0.tar.gz
- Upload date:
- Size: 45.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0de3205a7506c7a7abd3ae5fedce0f44a6ce3696879105b64d142e05288d12d8
|
|
| MD5 |
87ad3067201b3c071c9fde3fa80d16ac
|
|
| BLAKE2b-256 |
6ec537523d607611f275ca981e81664cd879db8239d9ecd38fb28a31299508a0
|
Provenance
The following attestation bundles were made for codius-0.3.0.tar.gz:
Publisher:
release.yml on runemalm/codius-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codius-0.3.0.tar.gz -
Subject digest:
0de3205a7506c7a7abd3ae5fedce0f44a6ce3696879105b64d142e05288d12d8 - Sigstore transparency entry: 376450516
- Sigstore integration time:
-
Permalink:
runemalm/codius-cli@6382c7794ee56fec01ddd6daf96abd05ba773447 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/runemalm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6382c7794ee56fec01ddd6daf96abd05ba773447 -
Trigger Event:
push
-
Statement type:
File details
Details for the file codius-0.3.0-py3-none-any.whl.
File metadata
- Download URL: codius-0.3.0-py3-none-any.whl
- Upload date:
- Size: 90.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fed0e522d79bfa6db72a78789294d64371a8be18495ac2a3b874e027f83dee95
|
|
| MD5 |
5492e14ce045c627487c19c0502b21b8
|
|
| BLAKE2b-256 |
f4b68346d959f596b04661414f5b7f8f9f5e1c5a56ea3cb8a8089cea7f607468
|
Provenance
The following attestation bundles were made for codius-0.3.0-py3-none-any.whl:
Publisher:
release.yml on runemalm/codius-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codius-0.3.0-py3-none-any.whl -
Subject digest:
fed0e522d79bfa6db72a78789294d64371a8be18495ac2a3b874e027f83dee95 - Sigstore transparency entry: 376450533
- Sigstore integration time:
-
Permalink:
runemalm/codius-cli@6382c7794ee56fec01ddd6daf96abd05ba773447 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/runemalm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6382c7794ee56fec01ddd6daf96abd05ba773447 -
Trigger Event:
push
-
Statement type: