Skip to content

Initialize a new project

soxom init scaffolds the two files Soxom needs — openapi.yaml and soxom.yaml — in the current directory. It’s the same starter content the dashboard uses when you create a new project, so the local and hosted workflows produce identical results.

Terminal window
mkdir my-sdk && cd my-sdk
soxom init

The CLI writes:

.
├── openapi.yaml
├── soxom.yaml
└── .gitignore # adds `previews/` so generated preview output isn't committed

If .gitignore already exists, the CLI appends previews/ only if it isn’t already listed.

FlagDescription
--forceOverwrite existing files. Without this, init refuses to clobber.

The generated openapi.yaml is a minimal but valid 3.1 spec with one resource and one operation — enough for soxom validate to pass and soxom preview to produce an SDK without further edits.

soxom.yaml is set up with TypeScript and Python targets enabled and sensible defaults (ESM module format, Python min_version: "3.9"). Edit it to match your stack and add or remove targets as needed.