Skip to main content

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

Codius CLI screenshot

PyPI version Build status License Downloads Python versions


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.yaml or use /model in 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_key is not specified in the YAML file, Codius falls back to environment variables like OPENAI_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

codius-0.3.0.tar.gz (45.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

codius-0.3.0-py3-none-any.whl (90.2 kB view details)

Uploaded Python 3

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

Hashes for codius-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0de3205a7506c7a7abd3ae5fedce0f44a6ce3696879105b64d142e05288d12d8
MD5 87ad3067201b3c071c9fde3fa80d16ac
BLAKE2b-256 6ec537523d607611f275ca981e81664cd879db8239d9ecd38fb28a31299508a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for codius-0.3.0.tar.gz:

Publisher: release.yml on runemalm/codius-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for codius-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fed0e522d79bfa6db72a78789294d64371a8be18495ac2a3b874e027f83dee95
MD5 5492e14ce045c627487c19c0502b21b8
BLAKE2b-256 f4b68346d959f596b04661414f5b7f8f9f5e1c5a56ea3cb8a8089cea7f607468

See more details on using hashes here.

Provenance

The following attestation bundles were made for codius-0.3.0-py3-none-any.whl:

Publisher: release.yml on runemalm/codius-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page