ModuFlow
A command-line tool for modular development with Test-Driven Development (TDD) support.
Overview
ModuFlow helps you organize your codebase into logical modules, making it easier to:
- Implement Test-Driven Development (TDD) for each module
- Keep track of which files belong to which module
- Compile modules separately or together
- Generate AI development prompts based on the project structure
Installation
pip install moduflow
For development:
git clone https://github.com/moduflow/moduflow.git
cd moduflow
pip install -e .
Core Concepts
- Modules: Logical groupings of files that represent a component or feature
- Module Configuration: YAML files stored in
.moduflow/config/sections/ - Design Files: Stored in
design/directory with module-specific design information - Compilation: Files from modules are compiled into
.compiled_sections/directory
Usage
Initialize a project
moduflow init
This creates the necessary directory structure and configuration files.
Working with modules
# Create a new module
moduflow create-section users --description "User authentication and management"
# Add files to a module
moduflow add-files users users/auth.py users/models.py
# Add a file to multiple modules
moduflow add-file .env users,core,api
Compiling code
# Compile a specific module
moduflow compile-section users
# Compile all modules separately
moduflow compile-all
# Compile the entire project
moduflow compile-project
Managing the project
# List all modules and their files
moduflow list
# Analyze the project structure and suggest modules
moduflow analyze
# Generate AI development prompt
moduflow get-prompt --output ai_prompt.md
Configuration Structure
ModuFlow uses YAML for configuration, with separate files for each module:
.moduflow/ # Hidden directory for configuration files
├── config/ # Configuration directory
│ ├── sections/ # Individual module configurations
│ │ ├── users.yaml # Users module config
│ │ ├── core.yaml # Core module config
│ │ └── ... # Other module configs
│ └── compiled.yaml # Compiled configuration (generated)
Example module YAML file (users.yaml):
name: users
description: User authentication, registration, and profile management
files:
- users/__init__.py
- users/models.py
- users/views.py
- users/tests/test_models.py
- .env
- requirements.txt
Development Workflow
- Initialize your project with
moduflow init - Define your modules using
create-section - Create design files in the
design/directory for each module - Use
get-promptto generate an AI development prompt - Implement each module using TDD
- Use
compile-sectionto verify that each module works independently - Use
compile-projectfor final integration
Documentation
Check out our documentation.
License
MIT
Metadata
Release files for moduflow 0.1.3
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 | |
|---|---|---|---|---|
| moduflow-0.1.3.tar.gz | 17.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| moduflow-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.2 kB
Release files / moduflow-0.1.3.tar.gz
| Download URL | moduflow-0.1.3.tar.gz |
|---|---|
| Size | 17.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72c10d8e4e599df20c49cd56b4a292fbba9b00847d3db0e40b2f68b496c7d51b
|
|
BLAKE2b-256 checksum How to use checksums |
4c34225421ac2a8df11adaa5ecb6c8bf7138595bb32e73326505b63b636ff0e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Release files / moduflow-0.1.3-py3-none-any.whl
| Download URL | moduflow-0.1.3-py3-none-any.whl |
|---|---|
| Size | 23.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3c9476991497f661daf28fff49b8f6246a5d9bc99a0b8b9c578d456916777cc6
|
|
BLAKE2b-256 checksum How to use checksums |
f15ca907e810ac08049cbf38774e5e65e053df13c90ffe7bf06878f6eefa0b9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.11
|
Security for moduflow 0.1.3
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.