Manual workspace
Run one create yourself in the terminal. See what gets written to disk, what manifest it produces, and what default backends get wired.
This tutorial covers one create. See templates to choose projects, then continue with environment variables.
1. Install the CLI
curl -fsSL https://1cli.dev/install.sh | bash
one --version
Manual options live in installation.
2. Run one create
The simplest form prompts you interactively for everything:
one create my-workspace
If you came from the templates page with a generated command, you can paste it directly — it has --preset / --project-names already filled in.
Non-interactive form (for scripts and CI):
one create my-workspace --yes
Key flags:
| Flag | What it does |
|---|---|
--name <name> | Workspace name (overrides positional arg's basename) |
--yes | Skip all prompts; accept defaults |
--preset <id> | Create the projects encoded by the template picker |
For the full list, see the one create reference.
3. What got written
cd my-workspace
ls -la
You'll see something like:
.git/
.config/
apps/
one.manifest.json
packages/
services/
Inspect the manifest:
cat one.manifest.json | jq
Key parts of the produced manifest:
version: 1— required schema versionworkspace.id— generated UUIDenvironments.names: ["dev", "preview", "prod"]anddefault: "dev"env— optional Infisical binding, absent until configuredprojects: []— empty unless you passed--preset
4. Defaults wired by one create
Every new workspace gets two baseline capabilities without prompting:
| Capability | Implementation | What it gives you |
|---|---|---|
env | Infisical | Direct process injection after binding; shell environment before binding |
dev | mise | Each one add records a dev command at projects[].dev.command, run by one dev through mise |
CI is not configured by one create or one add, and no workflow file is generated automatically.
5. The first commit
git status
git add .
git commit -m "chore: scaffold workspace"
one create already ran git init. The first commit captures the skeleton.
Common errors
| Code | Symptom | Fix |
|---|---|---|
INVALID_NAME | Workspace name has unsupported characters | Use ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ (kebab-case is safe) |
WORKSPACE_NESTED_FORBIDDEN | Tried to one create inside an existing workspace | Run from a non-workspace directory |
TARGET_EXISTS | The target directory already exists and is non-empty | Pick a different name, or empty the directory first |
TEMPLATE_NOT_FOUND | The preset refers to an unavailable template | Run one templates list or visit the templates page |
Full table: error codes.
Next
- Set your first env var → Configure env vars