Name | codius JSON |
Version |
0.2.1
JSON |
| download |
home_page | None |
Summary | A coding assistant for domain-driven design projects in ASP.NET Core. |
upload_time | 2025-07-20 21:04:36 |
maintainer | None |
docs_url | None |
author | David Runemalm |
requires_python | !=3.13.*,>=3.9 |
license | GPLv3 |
keywords |
ddd
codegen
aspnetcore
cli
assistant
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<h1 align="center">Codius CLI</h1>
<p align="center">
Coding assistant for domain-driven design projects in ASP.NET Core.
</p>
<p align="center"><code>pip install codius</code></p>
<p align="center">
<img src="resources/images/screenshot_3.png" alt="Codius CLI screenshot" width="650"/>
</p>
<p align="center">
<a href="https://pypi.org/project/codius/">
<img src="https://img.shields.io/pypi/v/codius" alt="PyPI version">
</a>
<a href="https://github.com/runemalm/codius-cli/actions/workflows/release.yml">
<img src="https://github.com/runemalm/codius-cli/actions/workflows/release.yml/badge.svg" alt="Build status">
</a>
<img src="https://img.shields.io/pypi/l/codius" alt="License">
<a href="https://pepy.tech/project/codius">
<img src="https://static.pepy.tech/badge/codius" alt="Downloads">
</a>
<a href="https://pypi.org/project/codius/">
<img src="https://img.shields.io/pypi/pyversions/codius" alt="Python versions">
</a>
</p>
---
> ⚠️ **Alpha Release**
>
> Codius is currently in alpha.
> Features may be incomplete, unstable, or subject to change.
> Use with care in production environments — and help shape it by providing feedback or contributing!
---
## 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](https://www.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
```bash
$ 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](https://www.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](https://www.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
```yaml
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:<br>• `suggest` — manual approval<br>• `auto` — apply immediately |
| `llm.provider` | `str` | Specifies which LLM provider to use:<br>• `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](https://www.gnu.org/licenses/gpl-3.0.html).
Raw data
{
"_id": null,
"home_page": null,
"name": "codius",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.13.*,>=3.9",
"maintainer_email": null,
"keywords": "ddd, codegen, aspnetcore, cli, assistant",
"author": "David Runemalm",
"author_email": "david.runemalm@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/23/00/9e5aaf4abc73aac588adbe9977877a881fc4af624b09cebfdd87aeb45b78/codius-0.2.1.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">Codius CLI</h1>\n<p align=\"center\">\n Coding assistant for domain-driven design projects in ASP.NET Core.\n</p>\n\n<p align=\"center\"><code>pip install codius</code></p>\n\n<p align=\"center\">\n <img src=\"resources/images/screenshot_3.png\" alt=\"Codius CLI screenshot\" width=\"650\"/>\n</p>\n\n<p align=\"center\">\n <a href=\"https://pypi.org/project/codius/\">\n <img src=\"https://img.shields.io/pypi/v/codius\" alt=\"PyPI version\">\n </a>\n <a href=\"https://github.com/runemalm/codius-cli/actions/workflows/release.yml\">\n <img src=\"https://github.com/runemalm/codius-cli/actions/workflows/release.yml/badge.svg\" alt=\"Build status\">\n </a>\n <img src=\"https://img.shields.io/pypi/l/codius\" alt=\"License\">\n <a href=\"https://pepy.tech/project/codius\">\n <img src=\"https://static.pepy.tech/badge/codius\" alt=\"Downloads\">\n </a>\n <a href=\"https://pypi.org/project/codius/\">\n <img src=\"https://img.shields.io/pypi/pyversions/codius\" alt=\"Python versions\">\n </a>\n</p>\n\n---\n\n> \u26a0\ufe0f **Alpha Release**\n>\n> Codius is currently in alpha. \n> Features may be incomplete, unstable, or subject to change. \n> Use with care in production environments \u2014 and help shape it by providing feedback or contributing!\n\n---\n\n## Why Codius?\n\n> Free domain-driven designers from boilerplate and let them focus on modeling.\n\n\nCodius is your coding assistant for domain-driven design \u2014 built to take care of the repetitive tasks that just have to get done.\n\nInstead 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](https://www.openddd.net) framework.\n\nThis frees you up to focus on what really matters: modeling your domain and evolving your design. \nRefinements become faster, iteration cycles shorter, and the feedback loop tighter.\n\nWith Codius, your ideas move from thought to implementation without getting lost in scaffolding.\n\nIf you\u2019re passionate about DDD, code quality, and improving developer flow, try Codius \u2014 or help shape it by contributing to its development.\n\n---\n\n## Example\n\nSay you want a `Book` aggregate with `Title`, `Author`, and `Price`, and a method to apply discounts.\n\nJust tell Codius:\n\n```\n> Create a Book aggregate with Title, Author, and Price. \nAdd a method to apply a discount to the Price.\n```\n\nCodius handles the boilerplate \u2014 aggregate, method, repository \u2014 so you can focus on the model.\n\n---\n\n## Quickstart\n\n```bash\n$ pip install codius # Temporary package name\n$ cd /your/project/root # Go to your project's root\n$ codius # Starts Codius CLI\n```\n\nOn first run, Codius will create `.codius/config.yaml` and initialize a modeling session.\n\n---\n\n## Compatibility\n\nCodius is designed for projects built with [OpenDDD.NET](https://www.openddd.net) \u2014 a framework for Domain-Driven Design in .NET.\n\nIt works directly on your existing codebase, generating and modifying code according to OpenDDD.NET\u2019s conventions.\n\nWhether you\u2019re evolving your domain model or adding new building blocks, Codius helps you stay consistent and productive within the framework\u2019s structure.\n\n---\n\n## Slash Commands\n\n| Command | Description |\n|----------------|-------------|\n| `/clear` | Reset session state and history |\n| `/clearhistory` | Reset session history |\n| `/compact` | Summarize and condense history |\n| `/model` | Change LLM provider/model |\n| `/approval` | Switch approval mode (suggest/auto) |\n| `/sessions` | List previous sessions |\n| `/history` | Show session history |\n\n---\n\n## Requirements\n\n- Python 3.9 to 3.12\n- A project built with [OpenDDD.NET](https://www.openddd.net)\n- OpenAI or Anthropic API key (set in `config.yaml` or use `/model` in the CLI)\n\n---\n\n## Configuration\n\nWhen you run Codius for the first time, it creates a `.codius/config.yaml` file in your project root.\n\nThis file controls how Codius behaves \u2014 including which LLM provider it uses, how verbose it is, and whether changes are auto-approved or suggested.\n\n### Example\n\n```yaml\ndebug: true\ndebug_llm: false\nlog_level: warning\napproval_mode: suggest\n\nllm:\n provider: openai\n openai:\n model: gpt-4o\n api_key: sk-... # Or leave blank to use the OPENAI_API_KEY environment variable\n anthropic:\n model: claude-3-opus\n```\n\n### Config Options\n\n| Key | Type | Description |\n|------------------|----------|-------------|\n| `debug` | `bool` | Enables general debug output in the CLI |\n| `debug_llm` | `bool` | Logs LLM request and response payloads |\n| `log_level` | `str` | Controls log verbosity: `info`, `warning`, or `error` |\n| `approval_mode` | `str` | Determines if changes are auto-applied:<br>\u2022 `suggest` \u2014 manual approval<br>\u2022 `auto` \u2014 apply immediately |\n| `llm.provider` | `str` | Specifies which LLM provider to use:<br>\u2022 `openai`, `anthropic` |\n| `llm.<provider>.model` | `str` | The name of the LLM model to use (e.g. `gpt-4o`, `claude-3-opus`) |\n| `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`) |\n\n> \ud83d\udca1 If `api_key` is not specified in the YAML file, Codius falls back to environment variables like `OPENAI_API_KEY`.\n\n---\n\n## Contribute\n\nCodius is **under active development**.\n\nIf you're into:\n- Domain-Driven Design\n- Developer tooling\n- LLM-based assistants\n- Improving the modeling experience\n\n...then jump in! Try it out, explore the codebase, and open an issue or PR.\n\n---\n\n## License\n\nLicensed under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html).\n\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "A coding assistant for domain-driven design projects in ASP.NET Core.",
"version": "0.2.1",
"project_urls": null,
"split_keywords": [
"ddd",
" codegen",
" aspnetcore",
" cli",
" assistant"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a658cb7788828d8b8c4ce4635747893e5dc9d55429e796a9b85c092085840c79",
"md5": "44ae0ab066fcb453d7590cce3ada3db7",
"sha256": "7de02c73aeab9d53a7afc3c3d7ce94b1ef79a04fa1da84cea36cc4cc3a4077b2"
},
"downloads": -1,
"filename": "codius-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "44ae0ab066fcb453d7590cce3ada3db7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "!=3.13.*,>=3.9",
"size": 86621,
"upload_time": "2025-07-20T21:04:32",
"upload_time_iso_8601": "2025-07-20T21:04:32.804260Z",
"url": "https://files.pythonhosted.org/packages/a6/58/cb7788828d8b8c4ce4635747893e5dc9d55429e796a9b85c092085840c79/codius-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23009e5aaf4abc73aac588adbe9977877a881fc4af624b09cebfdd87aeb45b78",
"md5": "9627765a132a19f5fe4db28c8e27baf6",
"sha256": "ada53e54fddb12c1cd02ea40a8b6ba277096939b6fdb079ab444b043261dfc8a"
},
"downloads": -1,
"filename": "codius-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "9627765a132a19f5fe4db28c8e27baf6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "!=3.13.*,>=3.9",
"size": 43418,
"upload_time": "2025-07-20T21:04:36",
"upload_time_iso_8601": "2025-07-20T21:04:36.296682Z",
"url": "https://files.pythonhosted.org/packages/23/00/9e5aaf4abc73aac588adbe9977877a881fc4af624b09cebfdd87aeb45b78/codius-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-20 21:04:36",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "codius"
}