openlogos init
Create the standard OpenLogos project structure in the current directory. This is the first command you run when starting a new project.
Synopsis
Section titled “Synopsis”openlogos init [name] [--locale <en|zh>] [--ai-tool <claude-code|opencode|cursor|other>]Arguments
Section titled “Arguments”| Argument | Description | Default |
|---|---|---|
name | Project name | Auto-detected from package.json, Cargo.toml, pyproject.toml, or directory name |
Options
Section titled “Options”| Option | Values | Default | Description |
|---|---|---|---|
--locale | en, zh | Interactive prompt | Set the document language (skips prompt) |
--ai-tool | claude-code, opencode, cursor, other | Interactive prompt | Set the AI coding tool (skips prompt) |
Interactive mode
Section titled “Interactive mode”When run in a TTY (terminal), init presents two interactive prompts:
Choose language / 选择语言: 1. English (default) 2. 中文
Your choice [1/2] (default: 1): 1
Choose AI coding tool / 选择 AI 编码工具: 1. Claude Code (default) 2. OpenCode 3. Cursor 4. Other
Your choice [1/2/3/4] (default: 1):Non-interactive mode (CI)
Section titled “Non-interactive mode (CI)”In non-TTY environments (CI pipelines, scripts), --locale is required:
openlogos init my-project --locale en --ai-tool claude-codeIf --locale is omitted in non-TTY mode, the command exits with an error. If --ai-tool is omitted, it auto-detects:
- If
CLAUDE_PLUGIN_ROOTorCLAUDE_CODEenv vars are set →claude-code - Otherwise →
claude-code(default)
What it creates
Section titled “What it creates”Directories
Section titled “Directories”logos/resources/prd/1-product-requirements/logos/resources/prd/2-product-design/1-feature-specs/logos/resources/prd/2-product-design/2-page-design/logos/resources/prd/3-technical-plan/1-architecture/logos/resources/prd/3-technical-plan/2-scenario-implementation/logos/resources/api/logos/resources/database/logos/resources/test/logos/resources/scenario/logos/resources/verify/logos/changes/logos/changes/archive/Each directory contains a .gitkeep file so empty directories are tracked by Git.
Configuration files
Section titled “Configuration files”| File | Description |
|---|---|
logos/logos.config.json | Project name, locale, AI tool, lifecycle state, document paths |
logos/logos-project.yaml | AI-readable project resource index |
AI instruction files
Section titled “AI instruction files”| File | Description |
|---|---|
AGENTS.md | Universal AI instruction file (read by Cursor, OpenCode, and other tools) |
CLAUDE.md | Claude Code-specific instruction file |
Skills deployment
Section titled “Skills deployment”The deployment target depends on the chosen AI tool:
| AI Tool | Skills target | Count |
|---|---|---|
| Claude Code | logos/skills/ (13 subdirectories with SKILL.md) | 13 |
| OpenCode | logos/skills/ (13 subdirectories with SKILL.md) | 13 |
| Cursor | .cursor/rules/ (13 .mdc rule files + 1 policy file) | 14 |
| Other | logos/skills/ (13 subdirectories with SKILL.md) | 13 |
Spec files
Section titled “Spec files”8 specification files are deployed to logos/spec/:
test-results.md— JSONL format specification for test resultssql-comment-convention.md— SQL comment conventions- And 6 additional methodology specifications
Tool-specific extras
Section titled “Tool-specific extras”Claude Code — Prints a plugin installation hint:
💡 Claude Code users: install the native plugin for the best experience: /plugin marketplace add miniidealab/openlogos /plugin install openlogos@miniidealab-openlogosOpenCode — Additionally deploys:
.opencode/plugins/openlogos.js— OpenCode pluginopencode.json— Permission defaults (bash: "ask",skill: "allow").opencode/commands/— 9 slash command files
Cursor — Additionally deploys:
.cursor/rules/openlogos-policy.mdc— Always-applied policy rule
Project name resolution
Section titled “Project name resolution”The project name is resolved in this order:
- Explicit
nameargument (e.g.,openlogos init my-project) namefield frompackage.json(with@scope/prefix stripped)namefield fromCargo.toml([package]section)namefield frompyproject.toml([project]section)- Current directory name (basename of
cwd)
If both an explicit name and a config file name exist and they differ, the CLI prompts you to choose.
Errors
Section titled “Errors”| Error | Cause | Fix |
|---|---|---|
logos/logos.config.json already exists | Directory already initialized | Use openlogos sync instead to update |
--locale is required in non-interactive mode | Running in CI without --locale | Add --locale en or --locale zh |