@sylphx/flow 2.18.4 → 2.19.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/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @sylphx/flow
2
2
 
3
+ ## 2.19.0 (2025-12-18)
4
+
5
+ ### ✨ Features
6
+
7
+ - **agents:** add Builder as default agent, remove PM ([6d5c432](https://github.com/SylphxAI/flow/commit/6d5c4323102d9f3d910e0b4db2ded1b89c16d6cd))
8
+ - **agents:** add PM agent - product owner mindset ([aef8549](https://github.com/SylphxAI/flow/commit/aef854980794c8d007fc38e7ca5a3536a45e970b))
9
+
10
+ ### 🐛 Bug Fixes
11
+
12
+ - **commands:** /continue - use English only ([59f7506](https://github.com/SylphxAI/flow/commit/59f75066e0d468e33180b858a111587e6769bab4))
13
+
14
+ ### ♻️ Refactoring
15
+
16
+ - **commands:** /continue as autonomous trigger with self-loop ([2e1cd77](https://github.com/SylphxAI/flow/commit/2e1cd77a42df487137e28bd827a242e098062a85))
17
+ - **commands:** /continue - product owner mindset, not checklist ([600cc66](https://github.com/SylphxAI/flow/commit/600cc66aea1298ada657e90f8496e24c5fbae4d9))
18
+
19
+ ### 🔧 Chores
20
+
21
+ - **commands:** remove unused agent field from frontmatter ([dff5820](https://github.com/SylphxAI/flow/commit/dff5820dff56f44519a54c3a1fec34cd094687d5))
22
+
3
23
  ## 2.18.4 (2025-12-18)
4
24
 
5
25
  ### ♻️ Refactoring
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: Builder
3
+ description: Autonomous product builder - thinks like owner, executes like engineer
4
+ mode: both
5
+ temperature: 0.4
6
+ rules:
7
+ - core
8
+ - code-standards
9
+ ---
10
+
11
+ # BUILDER
12
+
13
+ ## Identity
14
+
15
+ You are not an assistant. You are the builder.
16
+
17
+ This product ships under your name. You decide what's needed. You make it happen.
18
+
19
+ Think: What's missing? What would break? What would users hate?
20
+ Execute: Fix it. No permission needed. No workarounds.
21
+
22
+ Many minds beat one. Delegate to multiple workers to ultrathink from different angles. Collective wisdom. You are Final Gate — synthesize, decide, execute.
23
+
24
+ Push relentlessly toward production-grade.
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: cleanup
3
3
  description: Clean technical debt, refactor, optimize, and simplify codebase
4
- agent: coder
5
4
  ---
6
5
 
7
6
  # Cleanup & Refactor
@@ -1,40 +1,14 @@
1
1
  ---
2
2
  name: continue
3
- description: Iterate toward production-grade - think deeply, find gaps, fix completely
4
- agent: coder
3
+ description: Trigger autonomous product iteration - think, fix, ship
5
4
  ---
6
5
 
7
6
  # Continue
8
7
 
9
- **Goal: Production-grade, not MVP.** No workarounds. No shortcuts. The final implementation.
8
+ **Go.** Don't wait for instructions.
10
9
 
11
- ## Think
10
+ You are the builder. Think what's missing. Fix it. Ship it.
12
11
 
13
- 不要 checklist。**深入思考**。
12
+ Invoke skills. Delegate for perspective. Final Gate.
14
13
 
15
- 這個產品還缺什麼?從每一個可能的角度去想:
16
- - 不同類型的用戶會怎樣用?他們會卡在哪裡?
17
- - 對比競品,我們缺什麼?什麼是高性價比可以做的?
18
- - 功能完整嗎?引導做好了嗎?付費流程順暢嗎?
19
- - 架構、命名、抽象——是最終版本還是臨時方案?
20
- - 每一個 domain 都要深入:auth, billing, admin, security, UX...
21
-
22
- 你要**模擬**,不是列清單。真正去感受哪裡有摩擦。
23
-
24
- ## Delegate
25
-
26
- Spawn multiple agents to ultrathink from different angles. 集思廣益。
27
-
28
- You are **Final Gate** — synthesize, verify, decide, execute.
29
-
30
- ## Skills
31
-
32
- Invoke relevant skills to load domain guidelines before fixing.
33
-
34
- ## Fix
35
-
36
- No workarounds. Production-ready. Battle-tested.
37
-
38
- ## Loop
39
-
40
- `/continue` until production-grade.
14
+ When done, `/continue` again until production-grade.
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: improve
3
3
  description: Proactively discover and implement improvements
4
- agent: coder
5
4
  ---
6
5
 
7
6
  # Proactive Improvement
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: polish
3
3
  description: Polish project presentation - docs, README, packaging, metadata
4
- agent: writer
5
4
  ---
6
5
 
7
6
  # Polish Project
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: quality
3
3
  description: Improve test coverage, fix tests, optimize performance, reduce bundle size
4
- agent: coder
5
4
  ---
6
5
 
7
6
  # Quality Assurance
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: release
3
3
  description: Publish new version and monitor release process
4
- agent: coder
5
4
  ---
6
5
 
7
6
  # Release & Publish
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: review
3
3
  description: Review codebase by topic - /review <what to review>
4
- agent: coder
5
4
  args:
6
5
  - name: topic
7
6
  description: What to review (e.g., auth, security, "the login flow", "why it's slow")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sylphx/flow",
3
- "version": "2.18.4",
3
+ "version": "2.19.0",
4
4
  "description": "One CLI to rule them all. Unified orchestration layer for Claude Code, OpenCode, Cursor and all AI development tools. Auto-detection, auto-installation, auto-upgrade.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -275,12 +275,12 @@ export async function executeFlowV2(
275
275
 
276
276
  // Determine which agent to use
277
277
  const flowConfig = await configService.loadFlowConfig();
278
- let agent = options.agent || settings.defaultAgent || 'coder';
278
+ let agent = options.agent || settings.defaultAgent || 'builder';
279
279
 
280
280
  // Check if agent is enabled (silent fallback)
281
281
  if (!flowConfig.agents[agent]?.enabled) {
282
282
  const enabledAgents = await configService.getEnabledAgents();
283
- agent = enabledAgents.length > 0 ? enabledAgents[0] : 'coder';
283
+ agent = enabledAgents.length > 0 ? enabledAgents[0] : 'builder';
284
284
  }
285
285
 
286
286
  // Load agent content
@@ -21,7 +21,7 @@ export const flowCommand = new Command('flow')
21
21
  .description('Run Flow with automatic environment attach')
22
22
 
23
23
  // Core options
24
- .option('--agent <name>', 'Agent to use (default: coder)', 'coder')
24
+ .option('--agent <name>', 'Agent to use (default: builder)', 'builder')
25
25
  .option('--agent-file <path>', 'Load agent from specific file')
26
26
  .option('--verbose', 'Show detailed output')
27
27
  .option('--dry-run', 'Show what would be done without making changes')
@@ -120,7 +120,8 @@ async function configureAgents(configService: GlobalConfigService): Promise<void
120
120
  const settings = await configService.loadSettings();
121
121
 
122
122
  const availableAgents = {
123
- coder: 'Coder - Write and modify code',
123
+ builder: 'Builder - Autonomous product builder (default)',
124
+ coder: 'Coder - Task-focused code execution',
124
125
  writer: 'Writer - Documentation and explanation',
125
126
  reviewer: 'Reviewer - Code review and critique',
126
127
  };
@@ -144,7 +145,7 @@ async function configureAgents(configService: GlobalConfigService): Promise<void
144
145
  name: availableAgents[key as keyof typeof availableAgents],
145
146
  value: key,
146
147
  })),
147
- default: settings.defaultAgent || 'coder',
148
+ default: settings.defaultAgent || 'builder',
148
149
  },
149
150
  ]);
150
151
 
package/src/index.ts CHANGED
@@ -57,7 +57,7 @@ export function createCLI(): Command {
57
57
  '[prompt]',
58
58
  'Prompt to execute with agent (optional, supports @file.txt for file input)'
59
59
  )
60
- .option('--agent <name>', 'Agent to use (default: coder)', 'coder')
60
+ .option('--agent <name>', 'Agent to use (default: builder)', 'builder')
61
61
  .option('--agent-file <path>', 'Load agent from specific file')
62
62
  .option('--verbose', 'Show detailed output')
63
63
  .option('--dry-run', 'Show what would be done without making changes')
@@ -268,6 +268,7 @@ export class GlobalConfigService {
268
268
  return {
269
269
  version: '1.0.0',
270
270
  agents: {
271
+ builder: { enabled: true },
271
272
  coder: { enabled: true },
272
273
  writer: { enabled: true },
273
274
  reviewer: { enabled: true },