Commands by group
All commands accept --json and -p <path>. Add -h to any of them for its full help.
Creating the project
Section titled “Creating the project”aseptic init [path] # .aseptic/ with its config and an empty catalogEverything else needs a project —the folder that contains .aseptic/—. On the desktop the
installer seeds it the first time; from a terminal (a CI, a fresh clone) you create it with
this. It overwrites nothing: on a half-made folder it completes what’s missing.
Scenario status and lifecycle
Section titled “Scenario status and lifecycle”aseptic status # live engine, Docker, active scenario and microsaseptic doctor [scenario] # environment check before launching (and how to get what's missing)aseptic start <scenario> [flags] # starts (launches daemon if needed) and waits healthyaseptic stop # stops the active scenarioaseptic restart <micro> # restarts a single microaseptic debug <micro> [on|off] # opens or closes its debugger; without on/off, how to attachaseptic runs [show|logs|pin|delete] # scenario run historyaseptic restart-all # stops and starts the whole scenario againaseptic metrics [micro] # last metrics sample (--json = history)aseptic set-resolution <dep> <local|cloud|mock> # changes the resolution hotaseptic cleanup [scenario] # defensive cleanup (orphans, ports)aseptic prep <scenario> --when <pre-boot|post-migrate>aseptic console <service> # psql/redis-cli inside its containeraseptic kafka topics|consume|produce # topics and messages of the infra Kafkaaseptic logs [micro] [-f] [-n N] [--errors] [-g pattern]aseptic call <micro> [path] [-X method] [-d body] [-H k=v...]aseptic diagnose <micro> [-n N] # what's wrong with a micro, in one shotFlags for start: -r/--resolve <dep=mode> (one-off resolution override),
-m/--mode <micro=mode> (native|container), --no-wait, --no-docker,
--timeout <s> (default 600). start starts Docker on its own unless --no-docker.
Scenarios
Section titled “Scenarios”aseptic scenario list | show <n> | graph <n> | save --file <yml> | delete <n>aseptic scenario add-service <scenario> <micro> # without resending the whole documentaseptic scenario remove-service <scenario> <micro>aseptic scenario set-resolution <scenario> <dep> <local|cloud|mock> # sets the stored oneaseptic scenario from-folder <folder> <name> # imports the folder and creates the scenarioaseptic scenario export <n> [-o file] [--include-run]aseptic scenario import <file> [--apply] [policies]add-service and remove-service edit what’s saved: there’s no need to resend the
whole scenario to touch one micro. And mind the two set-resolution: the top-level one
(aseptic set-resolution) changes the resolution hot, on the running scenario; this one
pins it in the saved scenario.
from-folder is the getting-started shortcut: it imports every micro in a folder and
creates the scenario with them, in one go.
Micros
Section titled “Micros”aseptic service list | show <id> | add <repo-path> | save --file <yml> | delete <id>aseptic service detect <path> # which manifest Aseptic sees there, WITHOUT saving itaseptic service clone <url> [--alta] # clones and, with --alta, registers itaseptic service clone-all <url...> # clones in bulk and autodetects each microaseptic service import-all <folder> # registers every micro in a folderaseptic service export <id> [--include-run] | import <yml...>aseptic service drift <id> # does the manifest diverge from the repo? (exit 1 if drift)aseptic service rescan <id> # reconciles from the repo (preserves curation)aseptic service rescan-all # the same for the WHOLE catalogaseptic service effective-config <id> # final value of each key and which layer it comes fromaseptic service frontend-info <id> # front: how it serves, whether it takes --proxy-config and what the repo hasaseptic service branch <id> | branches <id> | checkout <id> <branch> | fetch <id> | pull <id>aseptic service fetch-all # fetches news for EVERY repo in the catalogaseptic service switch-branch <id> <branch> # switches branch and reconciles the manifestaseptic service hot-switch-branch <id> <branch> # the same with the micro running: stops only that oneaseptic dependency rename <from> <to> # renames the dependency across services, scenarios and mocksaseptic service files <id> [pattern] [-d <subfolder>] # lists files in the micro's repoaseptic service read-file <id> <path> # prints a text file from the repoaseptic service write-file <id> <path> [--from <file>] # writes one (or from standard input)clone-all and import-all onboard a whole team: cloning twenty repos and registering
them one by one is the afternoon this saves on day one.
effective-config answers “where does this value come from?” without starting anything,
which is the question behind every micro that starts with the wrong configuration.
Databases
Section titled “Databases”aseptic db list | save --file <yml> | delete <id>aseptic db test <host> <port> # TCP reachability (exit 1 if no response)aseptic mock services | catalog [service] | calls | events | clear-callsaseptic mock save <service> --file <json> | delete <service> --method GET --path /xaseptic mock set-active <service> --method GET --path /x --variant 1aseptic mock capture|uncapture <service> --method GET --path /x # calls the real service and records the responseaseptic mock operations <service> | skeleton <service> <method> <path>aseptic mock set-openapi <service> [source] # where the bodies come from (no source removes it)aseptic mock set-service <group> --prefix /x [--openapi <source>] [--base-url <url>] [--rename-from <id>]aseptic mock regroup <group> [--from <service>] # moves into the group the stubs under its prefixaseptic mock delete-service <service> --yes # deletes the service's WHOLE mock catalogaseptic mock from-call <method> <path>aseptic mock probe <method> <path> [-H 'Name: value'] [-d '<body>'] # what it would serve, and by which ruleaseptic mock put-file <service> <file> # copies a file to mocks/files/ to serve it as a bodyaseptic mock export|import <service> [file] | export-all|import-all [file]aseptic mock request [path] [-X method] [-d body] [-H k=v] # calls the mock gateway (live engine)In capture, an endpoint stops serving its variant: it calls the real service and saves
the response as a Real <status> variant, which becomes active. Once you turn it off
(uncapture) it keeps serving what it recorded.
Custom startup
Section titled “Custom startup”aseptic run show <id> | set <id> [options] | clear <id> | preview <id>aseptic run export <id> [-o file] | import <id> <file>run set accepts --profile, --prop k=v, --toggle <id>, --extra-args,
--command, --datasource-ref <id>, --datasource local|cloud|custom [--url ...] and
--tools auto|local|container.
--tools decides where the native startup’s tools come from: auto (the default) uses
your machine’s and, if one is missing and Docker is running, the tools container;
local and container pin it, and auto drops the micro’s setting. See Native vs container
mode.
Settings
Section titled “Settings”aseptic config show | get <key> | set <key> <value> | unset <key>Keys: workspace, composeFile (bundled or path), mockPort, caBundle (your
company’s CA, PEM or DER), toolchainRegistry (mirror prefix for the tools images) and credentials.<name>.
Development tools
Section titled “Development tools”aseptic toolchain list # what it can install and what's installedaseptic toolchain install java 21 # for java, the major versionaseptic toolchain install node 22.22.3 # for the rest, the exact one (or a prefix: 22)aseptic toolchain remove maven 3.10.0 # deletes it from Aseptic's cacheIt installs the missing JDK, Maven, Gradle, Node, Go or .NET SDK in Aseptic’s cache
(~/.aseptic/toolchains/): no administrator, without touching the machine’s PATH, and
verifying the checksum before extracting. The one you already have installed still wins.
aseptic doctor tells you what’s missing and which command gets it.
Docker, catalog bundle and daemon
Section titled “Docker, catalog bundle and daemon”aseptic docker status | start [--no-wait] [--timeout <s>]aseptic containers | docker-clean | infra <n> | infra-up <n> | infra-downaseptic bundle export [-o file] | import <file> [--overwrite]aseptic daemon start | stop | statusDiagnostics, consent and self-discovery
Section titled “Diagnostics, consent and self-discovery”aseptic telemetry info | on | off | dismiss | test [--note <text>]aseptic telemetry report <message> # REAL incident report (grouped as an issue)aseptic report <message> [-n N] # LOCAL report in .aseptic/.runtime/reports/aseptic consent info | history | accept --yes | syncaseptic access sync # sends pending sign-ins to the account historyaseptic info # version, effective paths and active scenarioaseptic ops [--json] # the engine's complete surfaceaseptic mcp # starts the MCP server over stdioThe two reports are not the same one. telemetry report sends yours, so it needs
telemetry on and a network; report writes a file on your disk, works without either and
gives you its path so you can attach it wherever you want. Both are scrubbed.
Local libraries
Section titled “Local libraries”aseptic library list | show <id> | add <path> | delete <id>aseptic library clone <url> # clones the repo and returns its pathaseptic library detect <path> # which library Aseptic sees thereaseptic library build <id> # runs its build commandaseptic library link <id> # builds and puts the artifact where the consumer sees itaseptic library unlink <id> # removes the link in every consumeraseptic library watch <id> | unwatch <id> # rebuild and relink on change (opt-in)aseptic library status [id] # resolved consumers and whether it's linked (no id: all of them)aseptic library branch <id> | branches <id> | checkout <id> <branch> | fetch <id> | pull <id>watch is opt-in on purpose: rebuilding on every change costs, and it isn’t always
what you want while you’re working on the library. See Libraries.
Team catalog
Section titled “Team catalog”aseptic team list # what the team sharesaseptic team status # is what's here still what the team shares?aseptic team adopt <id> [--apply] # bring it over and adopt it hereaseptic team fetch <id> [-o file] # download the bundle onlyaseptic team publish <scenario> [-d "what it's for"]aseptic team unpublish <id> --yes # removes it for the WHOLE teamWithout --apply, adopt only shows the plan and what’s missing on this machine. It
needs the project to have a catalog configured. See Team.
Account, plan and personal settings
Section titled “Account, plan and personal settings”aseptic plan # plan, status, period and seatsaseptic sync status # published revision vs. the one this copy knowsaseptic sync pull | push # bring in or publish your personal settingsaseptic sync key-create | key-set <key> # the key that encrypts themaseptic sync forget # stop syncing and delete what was publishedBuying is not in the CLI on purpose: it happens in the web portal or from Settings. What
sync syncs are your settings (theme, palette, layout, language), never anything from
the project.
Tasks, dependencies and MCP surface
Section titled “Tasks, dependencies and MCP surface”aseptic tasks # the engine's long-running tasksaseptic tasks --history # the latest finished ones, with their resultaseptic tasks --output <id> # the output of one, already sanitizedaseptic install <micro> # installs a Node/Angular micro's dependenciesaseptic logs-export [-o file] # diagnostics bundle, already scrubbedaseptic mcp-surface # which MCP surface is activeaseptic mcp-usage # how it's being used on this machineaseptic mcp-tune # what's failing in that surface, with evidenceThe logs-export bundle is scrubbed: declared credentials don’t travel in it, which is
exactly what it’s attached to a bug report for.