nameRequiredDoes: Names the generated project directory.
Optimize with: Always provide a clear, import-safe project name.
Example:billing_apiCLI field guide
Use this reference to tune Init App from a quick scaffold to a deliberate production foundation. Required flags establish the project; optional flags optimize its structure, delivery, and local workflow.
init-app NAME --framework FRAMEWORK [optional flags]For automation, use --spec with a JSON project definition. For safety, add --dry-run before writing files.Init App controls
The smallest direct-generation setup needs a project name and framework.
nameRequiredDoes: Names the generated project directory.
Optimize with: Always provide a clear, import-safe project name.
Example:billing_api--frameworkRequiredDoes: Selects a supported blueprint and its framework-aware defaults.
Optimize with: The web builder generates the selected Init App blueprint, including dbt analytics.
Example:--framework dbt_analytics--appsDjango onlyDoes: Creates and registers multiple Django application packages.
Optimize with: Use when the project has separate domains such as catalog, billing, and users; the first name owns the primary generated routes.
Example:--apps catalog billing users--spec FILEOptionalDoes: Loads a JSON project specification; direct flags override it.
Optimize with: Use for repeatable team templates and automation.
Example:--spec project.jsonInit App controls
These flags shape the generated code structure and how the project is expected to run.
--typeOptionalDoes: Selects standard, production, auto_config, or custom generation.
Optimize with: Use standard for a clean start, production for operational layers, and custom for exact folder control.
Example:--type production--serverOptionalDoes: Selects a Django-compatible runner.
Optimize with: Use gunicorn, waitress, or wsgiref for the generated Django project.
Example:--server gunicorn--dbOptionalDoes: Selects sqlite, postgresql, mysql, mongodb, or none.
Optimize with: Use sqlite for local work, PostgreSQL for production relational workloads, or none for framework-only projects.
Example:--db postgresql--drfOptionalDoes: Enables Django REST Framework integration; Django only.
Optimize with: Use when Django is serving an API with serializers, routers, and REST settings.
Example:--drf--venv y|nOptionalDoes: Controls whether Init App creates a project virtual environment.
Optimize with: Enable isolation for most local and team projects. Package tooling remains the user's choice.
Example:--venv y--dbt-adapterdbt analytics onlyDoes: Selects a warehouse adapter such as Snowflake, Databricks, BigQuery, Redshift, Postgres, or DuckDB.
Optimize with: Init App checks dbt-core and the selected adapter in the chosen environment before native dbt initialization; use custom for any compatible PyPI adapter.
Example:--dbt-adapter snowflake--dbt-adapter-package / --dbt-adapter-typedbt custom adapter onlyDoes: Defines the PyPI package and dbt adapter type for a provider outside the built-in catalog.
Optimize with: Use both flags together only with --dbt-adapter custom.
Example:--dbt-adapter custom --dbt-adapter-package dbt-acme --dbt-adapter-type acme--dbt-profile / --dbt-targetdbt analytics onlyDoes: Creates or preserves the selected profile in project .dbt/profiles.yml and ~/.dbt/profiles.yml.
Optimize with: Credentials stay in environment variables, never in generated files or command output. dbt reads profiles.yml, not user.yml.
Example:--dbt-profile finance --dbt-target devInit App controls
The generator uses framework-native commands only after its selected environment is available and dependencies are checked.
Django bootstrapDjango onlyDoes: Creates or reuses .venv, installs requirements, then runs Django's startproject and startapp commands.
Optimize with: Generated manage.py reuses .venv automatically, so team commands do not accidentally use a global Django install.
Example:python -m django startproject billing .dbt bootstrapdbt analytics onlyDoes: Creates or reuses the selected environment, checks dbt-core and the selected adapter, then runs native dbt init without interactive profile setup.
Optimize with: The generated project keeps a portable .dbt/profiles.yml and uses --profiles-dir .dbt for dbt debug, deps, and run.
Example:python -m dbt.cli.main init --skip-profile-setup finance_transformProfile verificationdbt analytics onlyDoes: Writes credential-free environment-variable placeholders and preserves an existing named profile instead of overwriting it.
Optimize with: Run dbt debug before dbt run; configure provider credentials in your environment or secret manager.
Example:dbt debug --profiles-dir .dbtInit App controls
Custom mode gives direct control over generated directories and Python package initialization.
--foldersCustom onlyDoes: Lists the folders to create.
Optimize with: Use when the default architecture does not match the project boundary.
Example:--folders src services tests--packagesCustom onlyDoes: Marks selected folders for __init__.py generation.
Optimize with: Every package must also be listed in --folders; keep package initialization intentional.
Example:--packages src services--gitignore-presetOptionalDoes: Chooses framework, python, django, dbt, node, cpp, or minimal ignore rules.
Optimize with: Use dbt to exclude artifacts, packages, and local dbt environment files.
Example:--gitignore-preset dbt--gitignore / --ignoreOptionalDoes: Adds custom ignore patterns.
Optimize with: Protect secrets, local data, generated assets, and machine-specific files.
Example:--gitignore .env.local uploads/ *.secret--no-rag-contextOptionalDoes: Disables the local safe file-inventory bundle.
Optimize with: Keep the default enabled when local tooling needs project context; disable it for minimal output.
Example:--no-rag-contextInit App controls
Infrastructure flags accept one or more exact files, so you can keep the project focused.
--dockerOptionalDoes: Adds selected Docker files.
Optimize with: Choose Dockerfile for a container image, compose files for local services, and DOCKER.md for notes.
Example:--docker docker/Dockerfile docker/docker-compose.yml--githubOptionalDoes: Adds selected GitHub workflow and issue-template files.
Optimize with: Start with ci.yml for pull-request checks and add security.yml for dependency scanning.
Example:--github .github/workflows/ci.yml--k8sOptionalDoes: Adds selected Kubernetes manifests.
Optimize with: Use deployment and service first; add ingress, secrets, storage, or autoscaling as needed.
Example:--k8s k8s/deployment.yml k8s/service.yml--jenkinsOptionalDoes: Adds selected Jenkins pipeline files.
Optimize with: Choose the Jenkinsfile and add build/deploy scripts when Jenkins owns delivery.
Example:--jenkins jenkins/Jenkinsfile--communityOptionalDoes: Adds contribution, conduct, security, and changelog files.
Optimize with: Use for public repositories and teams that want contribution standards from day one.
Example:--community CONTRIBUTING.md SECURITY.md--package-filesOptionalDoes: Adds package metadata files such as setup.py, setup.cfg, and requirements.txt.
Optimize with: Select only the packaging files your distribution or deployment workflow needs.
Example:--package-files setup.cfg requirements.txtInit App controls
These flags control where generation happens and how automation behaves.
--output-dir PATHOptionalDoes: Chooses the explicit parent directory for the generated project.
Optimize with: Use when the project should not be created in the current directory; leaving it empty keeps generation local.
Example:--output-dir ~/Projects--hereOptionalDoes: Creates the project in the current directory.
Optimize with: Use when the current directory is already the intended project root.
Example:--here--forceOptionalDoes: Allows generation into a non-empty project directory.
Optimize with: Use carefully after reviewing existing files; the default refusal protects work.
Example:--force--dry-runOptionalDoes: Prints the resolved configuration without writing files.
Optimize with: Use in CI, previews, and reviews before committing to a filesystem change.
Example:--dry-run--path-behaviorOptionalDoes: Sets one-off documents, current, or custom path behavior.
Optimize with: Use to override the saved default for one generation.
Example:--path-behavior current--show-path-configUtilityDoes: Displays saved path defaults and exits.
Optimize with: Use when a project is appearing in an unexpected location.
Example:--show-path-config--reset-path-configUtilityDoes: Resets saved path defaults and exits.
Optimize with: Use to return path resolution to its clean default state.
Example:--reset-path-configStarting points
These recipes combine the controls for common project goals.
init-app orders -f django -t standard --db sqlite --apps orders --venv y --server wsgirefinit-app billing -f django -t production --db postgresql --apps billing users --venv y --server gunicorn --docker docker/Dockerfile --github .github/workflows/ci.ymlinit-app catalog -f django -t production --db postgresql --drf --apps catalog billing --venv y --server gunicorninit-app finance_transform -f dbt_analytics --dbt-adapter snowflake --dbt-profile finance --env-manager uvinit-app worker -f django -t custom --apps worker --folders src services tests --packages src services --gitignore-preset django