Skip to content

Presets

Presets are pre-defined module combinations that save you from manually selecting modules every time you create a project.

Built-in Presets

minimal

Core only — no optional modules.

moltpy new --preset minimal

Modules: (none)

standard

The recommended starting point for most projects.

moltpy new --preset standard

Modules: auth, users, database, docker, testing, logging, health, cors, makefile, pre_commit

full-stack

Everything — all available non-conflicting modules.

moltpy new --preset full-stack

Modules: admin, api_versioning, auth, auth_social, celery, cors, database, docker, docs, email, events, github_actions, graphql, grpc, health, kubernetes, logging, makefile, notifications, observability, openapi, pagination, payments, pre_commit, rate_limit, redis, scheduler, search, seeding, sentry, storage, terraform, testing, users, websockets

microservice

Lightweight — focused on deployment and observability.

moltpy new --preset microservice

Modules: docker, testing, logging, health, cors, github_actions, makefile


Custom Presets

Save your own presets for repeated use.

Save a Preset

moltpy preset save \
  --name my-team \
  --description "Our standard API stack" \
  --modules auth,database,docker,testing,logging,health,cors,makefile,pre_commit

List Presets

moltpy preset list

Output:

Available Presets:

  minimal (built-in)
    Core only — no optional modules

  standard (built-in)
    Core + auth + database + docker + testing + logging + health + cors + makefile + pre_commit

  my-team (custom)
    Our standard API stack
    Modules: auth, database, docker, testing, logging, health, cors, makefile, pre_commit

Delete a Preset

moltpy preset delete --name my-team

Built-in presets cannot be deleted.


Preset Storage

User-defined presets are stored as JSON files in:

~/.config/moltpy/presets/

Each preset is a single JSON file named <preset_name>.json.

Preset File Format

{
  "name": "my-team",
  "description": "Our standard API stack",
  "config": {
    "name": "",
    "description": "",
    "python_version": "3.12",
    "modules": ["auth", "database", "docker", "testing"]
  }
}

You can manually edit these files or version control them across your team.