Interactive Python CLI for scaffolding backend projects (Flask, Django, FastAPI, etc.)
Project description
🌌 init-app
This is the "Source of Truth" document for your engine. I’ve designed this COMMANDLINE.md to look professional, high-tech, and crystal clear, exposing every feature from the Architect logic to the Infrastructure Forge.
Version: 1.8.0
Engineer: Ashmeet Singh
This document outlines the full capabilities of the Project Engine. The engine supports two primary flows: Interactive UI (Menu-driven) and Headless CLI (Flag-driven).
🕹️ 1. Build Strategies
The engine behaves differently based on the -t (type) flag:
| Strategy | Behavior |
|---|---|
auto_config |
Zero-Config. Uses smart defaults for the chosen framework. Best for rapid prototyping. |
standard |
The Balanced Build. Generates common folder structures (routes, models, schemas). |
production |
Enterprise Ready. Includes full infrastructure suites (Docker, K8s) and strict folder separation. |
custom |
Total Control. Enables manual folder selection and individual __init__.py configuration. |
🛠️ 2. CLI Flag Reference
Use these flags to bypass menus and automate your workflow.
Core Identity
name: The name of your project folder.-f, --framework:fastapi,flask,django,others.-s, --server: Specify the runner (e.g.,uvicorn,gunicorn,hypercorn).-t, --type: The build strategy (auto_config,standard,production,custom).
Architecture & Packages (Custom Mode)
--folders: Manually define every directory to be created.--packages: Define which of those folders should be Python packages (adds__init__.py).
Data & Environment
--db: Set the database engine (sqlite,postgres,mysql,mongodb).--venv: Enable virtual environment creation (yorn).
Infrastructure Forge
--docker:dockerfile,docker-compose,.dockerignore.--github:main.yml,ci.yml,cd.yml.--k8s:deployment.yml,service.yml,ingress.yml.--jenkins:Jenkinsfile.
🚀 3. Usage Examples
A. The "Speed Demon" (Auto-Config)
Builds a FastAPI project with SQLite and a VENV instantly.
init-app quick_api -f fastapi -t auto_config --venv y
B. The "Full Stack Pro" (Production)
Builds a Django + Postgres app with Docker and GitHub Actions.
init-app pro_backend -f django -t production --db postgres --docker dockerfile docker-compose --github main.yml
C. The "Architect" (Deep Customization)
The most powerful command. Manually define folders and only make src and app Python packages.
init-app bespoke_engine -f fastapi -t custom \
--folders src app docs tests logs \
--packages src app \
--db mongodb --venv y
🧠 4. Internal Logic & Features
🐍 Selective Package Initialization
Unlike standard generators that put __init__.py everywhere, this engine uses an init_strategy map. It only converts a folder into a Python package if explicitly told to or if the framework requires it.
💉 Snippet Injection (Django)
When building Django, the engine performs "surgical" regex injections:
- Settings Patching: Automatically adds your App to
INSTALLED_APPS. - Security Injection: Moves
SECRET_KEYto environment variable logic. - DRF Integration: If DRF is detected, it injects the
REST_FRAMEWORKconfiguration block automatically.
🛡️ UI Folder Guard
The engine contains a security layer that prevents any template rendering from writing into the ui/ directory, protecting the engine's core interface assets during a project build.
🏗️ 5. Directory Structure Example (Production)
Contributors are welcome to this to enhance the optimisation of this repository
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 init_app-1.8.0.tar.gz.
File metadata
- Download URL: init_app-1.8.0.tar.gz
- Upload date:
- Size: 45.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
684ed9871fb9fb4a924ab31a1aa275bba8b64c7a0439d1e1ab4c234576b161ce
|
|
| MD5 |
6e8dae24810fda2d4cb9764783f0a873
|
|
| BLAKE2b-256 |
ac15204e4e28affd687492dd9e13a54f726b7742953d4740113efd8e7a23aa10
|
File details
Details for the file init_app-1.8.0-py3-none-any.whl.
File metadata
- Download URL: init_app-1.8.0-py3-none-any.whl
- Upload date:
- Size: 55.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba180eca15d2a57685d7529b0c05e7b0f42ec65e25418320bffc1dfbabff9f78
|
|
| MD5 |
84c51fd92e9bab695b3e9be115e76244
|
|
| BLAKE2b-256 |
0306834f5f76240239e7cc8767e07cb0982617922ac29c1501fa7f2acb78e10c
|