A powerful CLI tool to bootstrap and manage production-ready Robyn applications with best practices built-in.
Project description
robyn-config
robyn-config is a comprehensive CLI tool designed to bootstrap and manage Robyn applications. It streamlines your development workflow by generating production-ready project structures and automating repetitive tasks, allowing you to focus on building your business logic.
Think of it as the essential companion for your Robyn projects-handling everything from initial setup with best practices to injecting new feature components as your application grows.
📦 Installation
You can simply use Pip for installation.
pip install robyn-config
🤖 AI Agent Skills
robyn-config also supports AI agent skills, which let agents apply reusable project-specific workflows and guidance.
To add the Robyn Config skills pack, run:
npx skills add Lehsqa/robyn-config-skills
🤔 Usage
🚀 Create a Project
To bootstrap a new project with your preferred architecture and ORM, run:
# Create a DDD project with SQLAlchemy (uses uv by default)
robyn-config create my-service --orm sqlalchemy --design ddd ./my-service
# Create an MVC project with Tortoise ORM, locking with poetry
robyn-config create newsletter --orm tortoise --design mvc --package-manager poetry ~/projects/newsletter
# Launch the interactive create UI
robyn-config create -i
Interactive mode defaults destination to . and lets you edit all fields
before confirmation. If you pass flags (for example --orm tortoise),
those values are prefilled in the form and still editable.
➕ Add Business Logic
Once inside a project, you can easily add new entities (models, routes, repositories, etc.) using the add command. This automatically generates all necessary files and wiring based on your project's architecture.
# Add a 'product' entity to your project
cd my-service
robyn-config add product
This will:
- Generate models/tables.
- Create repositories.
- Setup routes and controllers.
- Register everything in the app configuration.
- Respect your configured paths:
addreads injection targets from[tool.robyn-config.add]inpyproject.toml(e.g., domain/operational/presentation paths for DDD or views/repository/urls for MVC). You can customize those paths before runningaddto steer where new code is written.
🏃 CLI Options
Usage: robyn-config [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
add Add new business logic to an existing robyn-config project.
create Copy the template into destination with specific configurations.
create command options:
name: Sets the project name used in templated files likepyproject.tomlandREADME.md. Required unless-iis used.-i,--interactive: Launch a Textual terminal UI to fill create options interactively.--orm: Selects the database layer. Options:sqlalchemy(default),tortoise.--design: Toggles between the architecture templates. Options:ddd(default),mvc.--package-manager: Choose how dependencies are locked/installed. Options:uv(default),poetry.destination: The target directory. Defaults to.(including in interactive mode).
add command options:
name: The name of the entity/feature to add (e.g.,user,order-item).project_path: Path to the project root. Defaults to current directory.
🐍 Python Version Support
robyn-config is compatible with the following Python versions:
Python >= 3.11
Please make sure you have the correct version of Python installed before starting to use this project.
💡 Features
- Rapid Scaffolding: Instantly generate robust, production-ready Robyn backend projects.
- Integrated Component Management: Use the CLI to inject models, routes, and repositories into your existing architecture, ensuring consistency and best practices.
- Architectural Flexibility: Native support for Domain-Driven Design (DDD) and Model-View-Controller (MVC) patterns.
- ORM Choice: Seamless integration with SQLAlchemy or Tortoise ORM.
- Package Manager choice: Lock/install via uv (default) or poetry, with fresh lock files generated in quiet mode.
- Resilient operations:
createcleans up generated files if it fails;addrolls back using a temporary backup to keep your project intact. - Production Ready: Includes Docker, Docker Compose, and optimized configurations out of the box.
- DevEx: Pre-configured with
ruff,pytest,black, andmypyfor a superior development experience. - AI Agent Skills: Installable skills support for AI agents to streamline specialized workflows.
🗒️ How to contribute
🏁 Get started
Feel free to open an issue for any clarifications or suggestions.
⚙️ To Develop Locally
Prerequisites
- Python >= 3.11
uv(recommended) orpip
Setup
-
Clone the repository:
git clone https://github.com/Lehsqa/robyn-config.git
-
Setup a virtual environment and install dependencies:
uv venv && source .venv/bin/activate uv pip install -e .[dev]
-
Run linters and tests:
make check
✨ Special thanks
Special thanks to the Robyn team for creating such an amazing framework!
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 robyn_config-0.4.1.tar.gz.
File metadata
- Download URL: robyn_config-0.4.1.tar.gz
- Upload date:
- Size: 77.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9992b854d8e82bce89991628a87f9f58d382af3cbdf486e77a1f843de60cebe
|
|
| MD5 |
cc6fe5e32d35e79111c43a3966feda00
|
|
| BLAKE2b-256 |
9da3a2d378cb0c593ef22ee7a9a268b51bbaee51ccdf5e3e3c2cf06a5a0a4cf2
|
Provenance
The following attestation bundles were made for robyn_config-0.4.1.tar.gz:
Publisher:
python-publish.yml on Lehsqa/robyn-config
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robyn_config-0.4.1.tar.gz -
Subject digest:
a9992b854d8e82bce89991628a87f9f58d382af3cbdf486e77a1f843de60cebe - Sigstore transparency entry: 998183499
- Sigstore integration time:
-
Permalink:
Lehsqa/robyn-config@4706f5ea78f716716dc90d300cf27d8f1b21e341 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/Lehsqa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@4706f5ea78f716716dc90d300cf27d8f1b21e341 -
Trigger Event:
release
-
Statement type:
File details
Details for the file robyn_config-0.4.1-py3-none-any.whl.
File metadata
- Download URL: robyn_config-0.4.1-py3-none-any.whl
- Upload date:
- Size: 112.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9796ea4318e577292b1e29ce9a932ba5b8c44f61bd6e09c129c710104715db13
|
|
| MD5 |
dbd3a5c9c3ecb6f1467f7fced0887dd6
|
|
| BLAKE2b-256 |
db906da19a8c840ff0e4e135f42a37a4c379056247dbbd51a7b00d67a0f602b5
|
Provenance
The following attestation bundles were made for robyn_config-0.4.1-py3-none-any.whl:
Publisher:
python-publish.yml on Lehsqa/robyn-config
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robyn_config-0.4.1-py3-none-any.whl -
Subject digest:
9796ea4318e577292b1e29ce9a932ba5b8c44f61bd6e09c129c710104715db13 - Sigstore transparency entry: 998183597
- Sigstore integration time:
-
Permalink:
Lehsqa/robyn-config@4706f5ea78f716716dc90d300cf27d8f1b21e341 -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/Lehsqa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@4706f5ea78f716716dc90d300cf27d8f1b21e341 -
Trigger Event:
release
-
Statement type: