orchestrix-yuri 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 dorayo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,122 @@
1
+ # Orchestrix Yuri — Meta-Orchestrator
2
+
3
+ Yuri is a **Meta-Orchestrator** that takes natural language from users and autonomously drives all [Orchestrix](https://orchestrix-mcp.youlidao.ai) agents through the full project lifecycle.
4
+
5
+ ```
6
+ User describes idea → Yuri drives: Create → Plan → Develop → Test → Deploy
7
+ ```
8
+
9
+ ## How It Works
10
+
11
+ Yuri is a [Claude Code skill](https://code.claude.com/docs/en/skills) that orchestrates specialized AI agents via tmux sessions:
12
+
13
+ | Phase | What Yuri Does | Agents Involved |
14
+ |-------|---------------|-----------------|
15
+ | **1. Create** | Collects project info, scaffolds directory, configures Orchestrix | — |
16
+ | **2. Plan** | Drives planning agents sequentially via tmux | Analyst → PM → UX-Expert → Architect → PO |
17
+ | **3. Develop** | Launches 4-agent dev automation, monitors progress | SM ↔ Architect ↔ Dev ↔ QA |
18
+ | **4. Test** | Runs smoke tests per epic, fixes bugs, regression tests | QA + Dev |
19
+ | **5. Deploy** | Recommends and executes deployment strategy | — |
20
+
21
+ ## Installation
22
+
23
+ ```bash
24
+ npx orchestrix-yuri install
25
+ ```
26
+
27
+ This installs the Yuri skill globally to `~/.claude/skills/yuri/`.
28
+
29
+ ### Prerequisites
30
+
31
+ - [Claude Code](https://claude.com/claude-code) CLI installed
32
+ - [tmux](https://github.com/tmux/tmux) installed (`brew install tmux`)
33
+ - An Orchestrix License Key (get one at [orchestrix-mcp.youlidao.ai](https://orchestrix-mcp.youlidao.ai))
34
+
35
+ ## Usage
36
+
37
+ In any Claude Code session:
38
+
39
+ ```
40
+ /yuri
41
+ ```
42
+
43
+ Then either:
44
+ - Describe your project idea in natural language
45
+ - Use a specific command: `*create`, `*plan`, `*develop`, `*test`, `*deploy`
46
+
47
+ ### Commands
48
+
49
+ | Command | Description |
50
+ |---------|-------------|
51
+ | `*create` | Create a new project (Phase 1) |
52
+ | `*plan` | Start/resume project planning (Phase 2) |
53
+ | `*develop` | Start/resume automated development (Phase 3) |
54
+ | `*test` | Start/resume smoke testing (Phase 4) |
55
+ | `*deploy` | Start/resume deployment (Phase 5) |
56
+ | `*status` | Show current project phase and progress |
57
+ | `*resume` | Resume from last saved checkpoint |
58
+ | `*change "{desc}"` | Handle mid-project requirement change |
59
+
60
+ ## Architecture
61
+
62
+ ```
63
+ ~/.claude/skills/yuri/ ← Globally installed skill
64
+ ├── SKILL.md ← Agent persona + activation protocol
65
+ ├── tasks/ ← Phase workflow instructions
66
+ ├── scripts/ ← Shell scripts (tmux control, monitoring)
67
+ ├── templates/ ← Memory schema
68
+ ├── data/ ← Decision rules (deployment, routing)
69
+ └── resources/ ← Files copied to new projects
70
+ ```
71
+
72
+ ### Memory System
73
+
74
+ Yuri maintains per-project state in `.yuri/memory.yaml`, enabling:
75
+ - **Resumption**: Pick up from any interruption point
76
+ - **Progress tracking**: Real-time story/epic completion counts
77
+ - **Change management**: History of requirement changes and actions taken
78
+ - **Error recovery**: Automatic retry with escalation
79
+
80
+ ### tmux Sessions
81
+
82
+ | Session | Purpose | Windows |
83
+ |---------|---------|---------|
84
+ | `op-{project}` | Planning phase | One per agent (Analyst, PM, UX, Architect, PO) |
85
+ | `orchestrix-{repo-id}` | Development phase | 4 fixed (Architect, SM, Dev, QA) |
86
+
87
+ Sessions are **lazily created and recreated** — if a session dies or is killed, Yuri automatically rebuilds it when needed.
88
+
89
+ ### Completion Detection
90
+
91
+ Yuri monitors agent completion in tmux panes using a priority-based detection system:
92
+
93
+ 1. **Claude Code completion message**: Pattern like "Baked for 31s" (`[A-Z][a-z]*ed for [0-9]`)
94
+ 2. **TUI idle indicator**: `○` symbol
95
+ 3. **Approval prompt**: `◐` → auto-approved
96
+ 4. **Content stability**: Pane unchanged for 90 seconds
97
+
98
+ ## Change Management
99
+
100
+ Yuri handles mid-project changes based on scope:
101
+
102
+ | Scope | Action |
103
+ |-------|--------|
104
+ | Small (≤5 files) | Dev `*solo` directly |
105
+ | Medium | PO `*route-change` → standard workflow |
106
+ | Large | Pause dev, partial re-plan |
107
+ | New iteration | PM `*start-iteration` → parse next-steps.md → drive agents → resume dev |
108
+
109
+ ## Deployment Options
110
+
111
+ | Region | Provider | Best For |
112
+ |--------|----------|----------|
113
+ | China | Sealos | Prototype / MVP |
114
+ | China | Aliyun ECS + Docker | Production |
115
+ | China | Vercel (CN) | Frontend / SSR |
116
+ | Overseas | Vercel | Frontend / Full-stack |
117
+ | Overseas | Railway | Backend APIs |
118
+ | Overseas | AWS / GCP | Enterprise |
119
+
120
+ ## License
121
+
122
+ MIT
package/bin/install.js ADDED
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ const { install } = require('../lib/installer');
5
+
6
+ const args = process.argv.slice(2);
7
+ const command = args[0];
8
+
9
+ if (command === 'install') {
10
+ install();
11
+ } else if (command === '--help' || command === '-h' || !command) {
12
+ console.log(`
13
+ orchestrix-yuri — Meta-Orchestrator for Orchestrix
14
+
15
+ Usage:
16
+ npx orchestrix-yuri install Install Yuri skill globally (~/.claude/skills/yuri/)
17
+ npx orchestrix-yuri --help Show this help message
18
+
19
+ After installation, type /yuri in any Claude Code session to activate.
20
+ `);
21
+ } else {
22
+ console.error(`Unknown command: ${command}`);
23
+ console.error('Run "npx orchestrix-yuri --help" for usage information.');
24
+ process.exit(1);
25
+ }
@@ -0,0 +1,86 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const os = require('os');
6
+
7
+ const SKILL_SOURCE = path.join(__dirname, '..', 'skill');
8
+ const SKILL_TARGET = path.join(os.homedir(), '.claude', 'skills', 'yuri');
9
+
10
+ function copyDirRecursive(src, dest) {
11
+ if (!fs.existsSync(dest)) {
12
+ fs.mkdirSync(dest, { recursive: true });
13
+ }
14
+
15
+ const entries = fs.readdirSync(src, { withFileTypes: true });
16
+
17
+ for (const entry of entries) {
18
+ const srcPath = path.join(src, entry.name);
19
+ const destPath = path.join(dest, entry.name);
20
+
21
+ if (entry.isDirectory()) {
22
+ copyDirRecursive(srcPath, destPath);
23
+ } else {
24
+ fs.copyFileSync(srcPath, destPath);
25
+ }
26
+ }
27
+ }
28
+
29
+ function makeScriptsExecutable(dir) {
30
+ if (!fs.existsSync(dir)) return;
31
+
32
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
33
+ for (const entry of entries) {
34
+ const fullPath = path.join(dir, entry.name);
35
+ if (entry.isDirectory()) {
36
+ makeScriptsExecutable(fullPath);
37
+ } else if (entry.name.endsWith('.sh')) {
38
+ fs.chmodSync(fullPath, 0o755);
39
+ }
40
+ }
41
+ }
42
+
43
+ function install() {
44
+ console.log('');
45
+ console.log(' Installing Yuri Meta-Orchestrator...');
46
+ console.log('');
47
+
48
+ // Check source exists
49
+ if (!fs.existsSync(SKILL_SOURCE)) {
50
+ console.error(' Error: Skill source directory not found.');
51
+ console.error(` Expected: ${SKILL_SOURCE}`);
52
+ process.exit(1);
53
+ }
54
+
55
+ // Check for existing installation
56
+ if (fs.existsSync(SKILL_TARGET)) {
57
+ console.log(` Existing installation found at ${SKILL_TARGET}`);
58
+ console.log(' Overwriting...');
59
+ fs.rmSync(SKILL_TARGET, { recursive: true, force: true });
60
+ }
61
+
62
+ // Ensure parent directory exists
63
+ const parentDir = path.dirname(SKILL_TARGET);
64
+ if (!fs.existsSync(parentDir)) {
65
+ fs.mkdirSync(parentDir, { recursive: true });
66
+ }
67
+
68
+ // Copy skill directory
69
+ copyDirRecursive(SKILL_SOURCE, SKILL_TARGET);
70
+
71
+ // Make all .sh files executable
72
+ makeScriptsExecutable(path.join(SKILL_TARGET, 'scripts'));
73
+ makeScriptsExecutable(path.join(SKILL_TARGET, 'resources'));
74
+
75
+ console.log(' Skill location: ~/.claude/skills/yuri/');
76
+ console.log('');
77
+ console.log(' Usage: Type /yuri in any Claude Code session to activate.');
78
+ console.log('');
79
+ console.log(' Yuri will:');
80
+ console.log(' 1. Collect your project idea');
81
+ console.log(' 2. Create a project skeleton with Orchestrix infrastructure');
82
+ console.log(' 3. Drive planning, development, testing, and deployment automatically');
83
+ console.log('');
84
+ }
85
+
86
+ module.exports = { install };
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "orchestrix-yuri",
3
+ "version": "1.0.0",
4
+ "description": "Yuri — Meta-Orchestrator for Orchestrix. Drive your entire project lifecycle with natural language.",
5
+ "main": "lib/installer.js",
6
+ "bin": {
7
+ "orchestrix-yuri": "bin/install.js"
8
+ },
9
+ "scripts": {
10
+ "test": "echo \"No tests yet\" && exit 0"
11
+ },
12
+ "keywords": [
13
+ "orchestrix",
14
+ "ai-agent",
15
+ "meta-orchestrator",
16
+ "claude-code",
17
+ "skill",
18
+ "project-lifecycle",
19
+ "tmux-automation"
20
+ ],
21
+ "author": "dorayo",
22
+ "license": "MIT",
23
+ "files": [
24
+ "bin/",
25
+ "lib/",
26
+ "skill/"
27
+ ],
28
+ "engines": {
29
+ "node": ">=18.0.0"
30
+ }
31
+ }
package/skill/SKILL.md ADDED
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: yuri
3
+ description: >
4
+ Meta-Orchestrator for full project lifecycle management.
5
+ Drives all Orchestrix agents autonomously: Create, Plan, Develop, Test, Deploy.
6
+ Use when starting a new project, resuming an existing one, or managing changes.
7
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch
8
+ argument-hint: "[*create | *plan | *develop | *test | *deploy | *status | *resume | *change]"
9
+ ---
10
+
11
+ # Yuri — Meta-Orchestrator
12
+
13
+ You are **Yuri**, a Meta-Orchestrator that controls all Orchestrix agents via tmux
14
+ to deliver complete projects from a single natural language description.
15
+
16
+ ## Core Principles
17
+
18
+ 1. **NEVER implement code directly.** You orchestrate, not execute.
19
+ 2. **ALWAYS check .yuri/memory.yaml on activation.** If exists, offer to resume.
20
+ 3. **Save state BEFORE asking user, AFTER receiving response, AFTER each tmux operation.**
21
+ 4. **Ask user ONLY for:** phase transition confirmation, planning output review, deployment choice, genuine ambiguity.
22
+ 5. **Self-solve problems.** Escalate to user only after 2 failed retries.
23
+ 6. **Proactive reporting** at phase boundaries and every 5 minutes during monitoring.
24
+ 7. **Default language is English.** Switch to Chinese only if user explicitly requests it.
25
+
26
+ ## Available Commands
27
+
28
+ | # | Command | Description |
29
+ |---|---------|-------------|
30
+ | 1 | *create | Create a new project (Phase 1) |
31
+ | 2 | *plan | Start/resume project planning (Phase 2) |
32
+ | 3 | *develop | Start/resume automated development (Phase 3) |
33
+ | 4 | *test | Start/resume smoke testing (Phase 4) |
34
+ | 5 | *deploy | Start/resume deployment (Phase 5) |
35
+ | 6 | *status | Show current project phase and progress |
36
+ | 7 | *resume | Resume from last saved checkpoint |
37
+ | 8 | *change "{desc}" | Handle mid-project requirement change |
38
+
39
+ ## Activation Protocol
40
+
41
+ 1. Adopt Yuri persona completely.
42
+ 2. Check for `.yuri/memory.yaml` in the current working directory.
43
+ 3. If memory exists: display project status summary, offer resume options.
44
+ 4. If no memory: show greeting and command table.
45
+ 5. If user provides natural language (not a `*command`): interpret intent using
46
+ [phase-routing.yaml](data/phase-routing.yaml) and route to appropriate phase.
47
+ 6. If user provides `$ARGUMENTS`: parse and execute the matching command.
48
+
49
+ ## Greeting (no existing project)
50
+
51
+ ```
52
+ 🚀 Hello! I'm Yuri, your project lifecycle Meta-Orchestrator.
53
+
54
+ I can take you from a one-sentence idea to a fully deployed project:
55
+ **Create → Plan → Develop → Test → Deploy**
56
+
57
+ | # | Command | Description |
58
+ |---|---------|-------------|
59
+ | 1 | *create | Create a new project (Phase 1) |
60
+ | 2 | *plan | Start/resume project planning (Phase 2) |
61
+ | 3 | *develop | Start/resume automated development (Phase 3) |
62
+ | 4 | *test | Start/resume smoke testing (Phase 4) |
63
+ | 5 | *deploy | Start/resume deployment (Phase 5) |
64
+ | 6 | *status | Show current project phase and progress |
65
+ | 7 | *resume | Resume from last saved checkpoint |
66
+ | 8 | *change "{desc}" | Handle mid-project requirement change |
67
+
68
+ Tell me what you'd like to build, or pick a command to get started.
69
+ ```
70
+
71
+ ## Greeting (existing project detected)
72
+
73
+ ```
74
+ 🚀 Welcome back! I'm Yuri. I found your project state:
75
+
76
+ **Project**: {project.name}
77
+ **Phase**: Phase {lifecycle.current_phase} — {lifecycle.current_step}
78
+ **Progress**: {phase-specific summary}
79
+ **Last active**: {lifecycle.started_at}
80
+
81
+ Would you like to resume from where we left off? Or tell me what you need.
82
+ ```
83
+
84
+ ## Phase Execution
85
+
86
+ Each command maps to a task file. **Read the task file and execute it step by step.**
87
+
88
+ | Command | Task File |
89
+ |---------|-----------|
90
+ | *create | [yuri-create-project.md](tasks/yuri-create-project.md) |
91
+ | *plan | [yuri-plan-project.md](tasks/yuri-plan-project.md) |
92
+ | *develop | [yuri-develop-project.md](tasks/yuri-develop-project.md) |
93
+ | *test | [yuri-test-project.md](tasks/yuri-test-project.md) |
94
+ | *deploy | [yuri-deploy-project.md](tasks/yuri-deploy-project.md) |
95
+ | *resume | [yuri-resume.md](tasks/yuri-resume.md) |
96
+ | *status | [yuri-status.md](tasks/yuri-status.md) |
97
+ | *change | [yuri-handle-change.md](tasks/yuri-handle-change.md) |
98
+
99
+ ## Memory Contract
100
+
101
+ - **Location**: `{project_root}/.yuri/memory.yaml`
102
+ - **Schema**: See [memory.template.yaml](templates/memory.template.yaml)
103
+ - **Read** at the start of every task execution.
104
+ - **Write** after every significant operation (tmux command sent, phase transition, user response received).
105
+ - **Checkpoint** at phase boundaries: copy memory to `.yuri/checkpoints/checkpoint-phase{N}.yaml`.
106
+
107
+ ## tmux Session Management
108
+
109
+ - **Planning session**: `op-{project-name}` — created during Phase 2, one window per agent step.
110
+ - **Dev session**: `orchestrix-{repo-id}` — created during Phase 3 via `start-orchestrix.sh`, 4 windows (Architect/SM/Dev/QA).
111
+ - **Lazy recreation**: If a session is needed but doesn't exist, recreate it using [ensure-session.sh](scripts/ensure-session.sh).
112
+ - **Never assume sessions are alive** — always check with `tmux has-session` first.
113
+
114
+ ## Completion Detection
115
+
116
+ When monitoring an agent in a tmux window, use [monitor-agent.sh](scripts/monitor-agent.sh):
117
+
118
+ | Priority | Signal | Pattern |
119
+ |----------|--------|---------|
120
+ | 1 | Claude Code completion | `/[A-Z][a-z]*ed for [0-9]/` (e.g., "Baked for 31s") |
121
+ | 2 | TUI idle indicator | `○` in last lines of pane |
122
+ | 3 | Approval prompt | `◐` → auto-send "y" + Enter |
123
+ | 4 | Content stability | Pane hash unchanged 3 consecutive polls |
124
+
125
+ ## Error Recovery
126
+
127
+ - **Max 2 auto-retries** per operation, then escalate to user.
128
+ - **Agent load failure**: `/clear` → retry `/o {agent}`.
129
+ - **tmux session death**: Lazy recreation via `ensure-session.sh`.
130
+ - **Stuck agent** (no change 5min): `/clear` → restart.
131
+ - **Handoff chain break** (Phase 3): Manually resend handoff command to target window.
132
+
133
+ ## Resource Directory
134
+
135
+ Files copied to new projects during Phase 1 are in [resources/](resources/).
136
+ Reference them as `${CLAUDE_SKILL_DIR}/resources/` in Bash commands.
@@ -0,0 +1,44 @@
1
+ # Yuri Deployment Options
2
+ # Used by Phase 5 to present deployment strategies to the user.
3
+
4
+ china:
5
+ - id: china-sealos
6
+ provider: Sealos
7
+ best_for: Prototype / MVP
8
+ description: One-click container deployment, zero ops
9
+
10
+ - id: china-aliyun-ecs
11
+ provider: Aliyun ECS + Docker Compose
12
+ best_for: Production
13
+ description: Full control with ECS instances, Nginx reverse proxy, SSL
14
+
15
+ - id: china-vercel
16
+ provider: Vercel (CN-accessible)
17
+ best_for: Frontend / SSR
18
+ description: Static and SSR deployment, accessible from China
19
+
20
+ - id: china-aliyun-oss-cdn
21
+ provider: Aliyun OSS + CDN
22
+ best_for: Static sites
23
+ description: Static asset hosting with CDN acceleration
24
+
25
+ overseas:
26
+ - id: overseas-vercel
27
+ provider: Vercel
28
+ best_for: Frontend / Full-stack (Next.js)
29
+ description: Zero-config deployment, edge functions
30
+
31
+ - id: overseas-railway
32
+ provider: Railway
33
+ best_for: Backend APIs
34
+ description: Simple container deployment with built-in databases
35
+
36
+ - id: overseas-aws
37
+ provider: AWS (ECS / Lambda)
38
+ best_for: Enterprise scale
39
+ description: Full cloud infrastructure with auto-scaling
40
+
41
+ - id: overseas-fly
42
+ provider: Fly.io
43
+ best_for: Global edge deployment
44
+ description: Deploy containers close to users worldwide
@@ -0,0 +1,50 @@
1
+ # Yuri Phase Routing Rules
2
+ # Determines which phase to route to based on user intent.
3
+
4
+ routes:
5
+ - intent_patterns: ["create", "new project", "start a project", "build something", "I want to make"]
6
+ target_phase: 1
7
+ command: "*create"
8
+
9
+ - intent_patterns: ["plan", "planning", "design", "specification", "PRD", "architecture"]
10
+ target_phase: 2
11
+ command: "*plan"
12
+
13
+ - intent_patterns: ["develop", "implement", "code", "build", "start development"]
14
+ target_phase: 3
15
+ command: "*develop"
16
+
17
+ - intent_patterns: ["test", "smoke test", "QA", "quality", "verify"]
18
+ target_phase: 4
19
+ command: "*test"
20
+
21
+ - intent_patterns: ["deploy", "ship", "release", "go live", "publish", "launch"]
22
+ target_phase: 5
23
+ command: "*deploy"
24
+
25
+ - intent_patterns: ["status", "progress", "where are we", "what's happening"]
26
+ target_phase: 0
27
+ command: "*status"
28
+
29
+ - intent_patterns: ["change", "modify", "update requirement", "add feature", "new feature"]
30
+ target_phase: 0
31
+ command: "*change"
32
+
33
+ - intent_patterns: ["resume", "continue", "pick up", "where we left off"]
34
+ target_phase: 0
35
+ command: "*resume"
36
+
37
+ change_scope_rules:
38
+ small:
39
+ max_files: 5
40
+ no_db_changes: true
41
+ no_security_changes: true
42
+ action: dev_solo
43
+
44
+ medium:
45
+ action: po_route_change
46
+ requires_planning_session: true
47
+
48
+ large:
49
+ action: pause_and_replan
50
+ requires_planning_session: true
@@ -0,0 +1,29 @@
1
+ # Dependencies
2
+ node_modules/
3
+ vendor/
4
+ venv/
5
+ __pycache__/
6
+
7
+ # Environment
8
+ .env
9
+ .env.local
10
+ .env.*.local
11
+
12
+ # OS
13
+ .DS_Store
14
+ Thumbs.db
15
+
16
+ # Build
17
+ dist/
18
+ build/
19
+ out/
20
+ *.log
21
+
22
+ # IDE
23
+ .idea/
24
+ .vscode/
25
+ *.swp
26
+ *.swo
27
+
28
+ # Orchestrix runtime
29
+ .orchestrix-core/runtime/
@@ -0,0 +1,67 @@
1
+ title: Orchestrix Core System
2
+ description: >
3
+ The core agent framework for Orchestrix, providing the essential agents,
4
+ workflows, and data for building and managing AI-driven development teams.
5
+ markdownExploder: true
6
+ project:
7
+ name: '{{PROJECT_NAME}}'
8
+ mode: monolith
9
+ testCommand: '{{TEST_COMMAND}}'
10
+ multi_repo:
11
+ role: implementation
12
+ repository_id: '{{REPO_ID}}'
13
+ product_repo_path: ''
14
+ auto_filter_stories: false
15
+ assigned_stories: []
16
+ prd:
17
+ prdFile: docs/prd.md
18
+ prdSharded: false
19
+ prdShardedLocation: docs/prd
20
+ architecture:
21
+ architectureFile: docs/architecture.md
22
+ architectureSharded: false
23
+ architectureShardedLocation: docs/architecture
24
+ storyReviewsLocation: docs/architecture/story-reviews
25
+ customTechnicalDocuments: null
26
+ devLoadAlwaysFiles:
27
+ - docs/architecture/*coding-standards.md
28
+ - docs/architecture/*tech-stack.md
29
+ - docs/architecture/*source-tree.md
30
+ devDebugLog: .ai/debug-log.md
31
+ devStoryLocation: docs/stories
32
+ verticalSliceStrategy: true
33
+ dev:
34
+ devLogLocation: docs/dev/logs
35
+ devLogEnabled: true
36
+ architect:
37
+ storyReviewsLocation: docs/architecture/story-reviews
38
+ qa:
39
+ qaLocation: docs/qa
40
+ qaReviewsLocation: docs/qa/reviews
41
+ evidenceLocation: docs/qa/evidence
42
+ testDesignThresholds:
43
+ simple:
44
+ maxComplexity: 0
45
+ minQualityScore: 8.5
46
+ securitySensitive: false
47
+ tasks: []
48
+ standard:
49
+ maxComplexity: 2
50
+ minQualityScore: 7
51
+ tasks:
52
+ - test-design
53
+ comprehensive:
54
+ minComplexity: 3
55
+ securitySensitive: true
56
+ tasks:
57
+ - test-design
58
+ - risk-profile
59
+ slashPrefix: Orchestrix
60
+ version: 15.14.0
61
+ i18n:
62
+ default_language: en
63
+ supported_languages:
64
+ - en
65
+ - zh
66
+ fallback_to_default: true
67
+ file_pattern: '{name}.{lang}.{ext}'