Get started

one create

Create a new One workspace root skeleton.

6 min readUpdated 3 days agoEdit on GitHub

one create creates an empty workspace. It does not ask for projects or deployment or modify local AI-tool settings. Add projects later with one add.

Usage

one create [dir] [options]

Arguments

ArgumentDescription
dirTarget directory. Use . to create in the current directory with basename(cwd) as the name. The target must not exist or must be empty
-n, --name <name>Workspace name. Defaults to basename(dir)
-y, --yesNon-interactive mode; uses defaults and requires an explicit dir
-o, --output <fmt>json / yaml / text; default is TTY-aware auto detection

Interactive Mode

Running one create with no arguments opens terminal questions for:

  1. Target directory, such as ./my-app; use . for the current directory.
  2. Workspace name, optional; when empty, One CLI uses the target directory basename.

For scripts, CI, and agents, use non-interactive commands:

one create my-app --yes

Default Workspace Capabilities

one create no longer asks users to manually select many plugins.

Workspace defaults, enabled without terminal questions

CapabilityDefaultBehavior
Environment variablesUnboundBind Infisical when variables are needed; otherwise inherit the shell environment
Tool environmentmiseCreates root mise.toml; one add registers project tasks in that same file
Git checkshkCreates .config/hk.pkl and installs local Git launchers
Local developmentone devRuns the development task graph through mise

Creation and project addition prepare mise and automatically trust complete mise.toml files generated by One, so entering the new workspace does not require a separate trust command. Existing custom configuration keeps mise's trust policy. If no compatible runtime is installed, One may download its managed mise binary; project tools and dependencies are still installed when needed. A trust failure preserves the generated files and prints a recovery command.

Continuous integration is not configured automatically. Creating a workspace does not write files under .github/workflows/. After adding a project, enable a workflow that calls one run ci when needed.

Infisical binding

Creation does not contact Infisical or write an env binding. Sign in with one login when you need managed variables. The first one env set, get, or list initializes the binding; Dashboard also lets you select an existing project. Execution without a binding uses the shell environment.

Output

{
  "schema": "one-cli/create/v2",
  "project_name": "my-app",
  "created_path": "/abs/path/my-app",
  "created_in_place": false,
  "package_manager": "",
  "secrets_backend": "infisical",
  "dev_enabled": true
}

secrets_backend records the supported source (infisical), not whether a binding already exists. dev_enabled is true. Empty workspaces have no package manager yet.

Examples

Interactive

one create
# Asks for target directory and optional workspace name

Non-interactive

one create my-app --yes

Use Infisical As Secrets Backend

one create my-app --yes

Create In Current Directory

mkdir my-app && cd my-app
one create . --yes

Create Skeleton And Add First Project

one create my-app --yes
cd my-app
one add nestjs-api --name api --yes
pnpm install

Common Errors

CodeRecovery
EXISTING_TARGET_NOT_EMPTYChoose an empty directory, or delete the target manually and retry
INVALID_NAMENames must match ^[a-zA-Z0-9][a-zA-Z0-9_-]*$; replace spaces with -
PROJECT_NAME_REQUIREDPass the workspace directory as the positional argument in non-interactive mode
WORKSPACE_NESTED_FORBIDDENDo not create a workspace inside an existing workspace; use another directory or one add

Full table: Error codes.

Agent instructions

New workspaces include a concise bilingual AGENTS.md with 7 rules per language covering workspace discovery, CLI help, adding projects, tasks and verification, dependencies, environment variables, and automation error handling. Command details are discovered through one <command> --help instead of embedding a full command manual. The file is team-owned; later one add operations preserve edits.