asyncwf 1.0.0 → 1.2.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/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # AsyncWF
2
2
 
3
- **Model-Driven Parallel Agent Workflow CLI for claude-code**
3
+ **Model-Driven Parallel Agent Workflow CLI**
4
4
 
5
- AsyncWF empowers claude-code with asynchronous multitasking capabilities through a lightweight, tool-centric CLI. Instead of wrapping the LLM in a rigid control loop, AsyncWF injects a "Parallel Workflow Protocol" directly into the model's context.
5
+ AsyncWF empowers AI coding assistants (Claude Code, Codex, Gemini) with asynchronous multitasking capabilities. Instead of wrapping the LLM in a rigid control loop, AsyncWF injects a "Parallel Workflow Protocol" directly into the model's context.
6
6
 
7
7
  ## Features
8
8
 
9
+ - 🤖 **Multi-Agent Support** - Claude, Codex, Gemini working together
9
10
  - 🚀 **Parallel Task Dispatch** - Spawn multiple sub-agents concurrently
10
11
  - 📚 **Skills System** - Global reusable action templates
11
12
  - 🧠 **Knowledge Base** - Model-driven learning and context persistence
12
- - 🔗 **Project Linking** - Connect specs to global knowledge base
13
13
 
14
14
  ## Installation
15
15
 
@@ -17,95 +17,78 @@ AsyncWF empowers claude-code with asynchronous multitasking capabilities through
17
17
  npm install -g asyncwf
18
18
  ```
19
19
 
20
- Or from source:
21
-
22
- ```bash
23
- git clone https://github.com/yourname/asyncwf
24
- cd asyncwf
25
- npm install
26
- npm run build
27
- npm link
28
- ```
29
-
30
20
  ## Quick Start
31
21
 
32
22
  ```bash
33
- # Initialize a project
23
+ # Initialize for Claude (default)
34
24
  asyncwf init
35
25
 
36
- # Link specs to global KB
37
- asyncwf link
38
-
39
- # Dispatch parallel tasks
40
- asyncwf taskmgr dispatch --job api --prompt "Write a REST API handler"
41
- asyncwf taskmgr dispatch --job tests --prompt "Write unit tests"
26
+ # Initialize for multiple agents
27
+ asyncwf init -c -g -x # Claude + Gemini + Codex
42
28
 
43
- # Wait for completion
44
- asyncwf taskmgr wait --jobs api,tests
29
+ # Multi-agent parallel workflow
30
+ asyncwf taskmgr dispatch --job frontend --agent gemini --prompt "Create React UI..."
31
+ asyncwf taskmgr dispatch --job backend --agent claude --prompt "Build REST API..."
32
+ asyncwf taskmgr dispatch --job fullstack --agent codex --prompt "Integrate..."
45
33
 
46
- # Fetch results
47
- asyncwf taskmgr fetch --job api
34
+ # Wait and fetch
35
+ asyncwf taskmgr wait --jobs frontend,backend,fullstack
36
+ asyncwf taskmgr fetch --job frontend
48
37
  ```
49
38
 
50
39
  ## Commands
51
40
 
52
- ### Setup
41
+ ### Init Options
53
42
 
54
- | Command | Description |
55
- |---------|-------------|
56
- | `asyncwf init` | Initialize project with `.asyncwf/` and `claude.md` |
57
- | `asyncwf link` | Link specs to `~/.ckb/projects/` |
43
+ | Flag | Description |
44
+ |------|-------------|
45
+ | `-c, --claude` | Configure for Claude Code (default) |
46
+ | `-g, --gemini` | Configure for Gemini CLI |
47
+ | `-x, --codex` | Configure for OpenAI Codex |
58
48
 
59
49
  ### Task Manager
60
50
 
61
51
  | Command | Description |
62
52
  |---------|-------------|
63
- | `asyncwf taskmgr dispatch --job <id> --prompt "<text>" [--skill <name>]` | Spawn sub-agent |
64
- | `asyncwf taskmgr list [--status <status>]` | List tasks |
65
- | `asyncwf taskmgr wait --jobs <ids>` | Wait for completion |
66
- | `asyncwf taskmgr fetch --job <id>` | Get task output |
67
- | `asyncwf taskmgr kill --job <id>` | Terminate task |
53
+ | `dispatch --job <id> --agent <type> --prompt "<text>"` | Spawn sub-agent |
54
+ | `list [--status <status>]` | List tasks |
55
+ | `wait --jobs <ids>` | Wait for completion |
56
+ | `fetch --job <id>` | Get output |
57
+ | `kill --job <id>` | Terminate |
68
58
 
69
- ### Skills
70
-
71
- | Command | Description |
72
- |---------|-------------|
73
- | `asyncwf skill list` | List available skills |
74
- | `asyncwf skill show <name>` | Display skill content |
75
- | `asyncwf skill add <name> --content "<md>"` | Add/update skill |
76
- | `asyncwf skill use <name>` | Output for prompt injection |
77
- | `asyncwf skill delete <name>` | Remove skill |
59
+ **Agent types:** `claude`, `codex`, `gemini`
78
60
 
79
- ### Knowledge Base
61
+ ### Skills & Knowledge Base
80
62
 
81
- | Command | Description |
82
- |---------|-------------|
83
- | `asyncwf kb list` | List knowledge entries |
84
- | `asyncwf kb show <topic>` | Display entry |
85
- | `asyncwf kb learn --topic <name> --content "<md>"` | Learn new knowledge |
86
- | `asyncwf kb search <query>` | Search KB |
87
- | `asyncwf kb delete <topic>` | Remove entry |
63
+ ```bash
64
+ asyncwf skill list # List skills
65
+ asyncwf skill add <name> --content "..." # Add skill
66
+ asyncwf kb learn --topic <n> --content "..." # Learn
67
+ asyncwf kb search <query> # Search
68
+ ```
88
69
 
89
- ## Directory Structure
70
+ ## Multi-Agent Workflow Example
90
71
 
91
72
  ```
92
- ~/.ckb/ # Global Knowledge Base
93
- ├── skills/ # Reusable skills
94
- ├── knowledge/ # Learned knowledge
95
- └── projects/ # Project symlinks
96
-
97
- .asyncwf/ # Local project state
98
- ├── config.json
99
- ├── tasks.json
100
- └── logs/
73
+ User: "Build a login system with React frontend and Rust backend"
74
+
75
+ Claude (Controller):
76
+ 1. asyncwf taskmgr dispatch --job ui --agent gemini --prompt "React login form..."
77
+ 2. asyncwf taskmgr dispatch --job api --agent claude --prompt "Rust Actix handler..."
78
+ 3. asyncwf taskmgr wait --jobs ui,api
79
+ 4. asyncwf taskmgr fetch --job ui
80
+ 5. asyncwf taskmgr fetch --job api
101
81
  ```
102
82
 
103
- ## How It Works
83
+ ## Directory Structure
104
84
 
105
- 1. **Controller**: Main claude-code session running in terminal
106
- 2. **Protocol**: Instructions injected into `claude.md`
107
- 3. **Workers**: Ephemeral sub-agents spawned via `taskmgr dispatch`
108
- 4. **State**: Local JSON registry tracking job status
85
+ ```
86
+ ~/.ckb/ # Global KB (skills, knowledge, projects)
87
+ .asyncwf/ # Local state (config, tasks, logs)
88
+ claude.md # Claude protocol
89
+ GEMINI.md # Gemini protocol (if -g)
90
+ AGENTS.md # Codex protocol (if -x)
91
+ ```
109
92
 
110
93
  ## License
111
94
 
@@ -0,0 +1,2 @@
1
+ export declare function agentCommand(action: string): Promise<void>;
2
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AA4CA,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAShE"}
@@ -0,0 +1,79 @@
1
+ import chalk from 'chalk';
2
+ import { spawn } from 'child_process';
3
+ async function checkAgentAvailable(command) {
4
+ return new Promise((resolve) => {
5
+ const child = spawn(command, ['--version'], {
6
+ shell: true,
7
+ timeout: 5000,
8
+ });
9
+ let output = '';
10
+ child.stdout?.on('data', (data) => {
11
+ output += data.toString();
12
+ });
13
+ child.on('error', () => {
14
+ resolve({ available: false });
15
+ });
16
+ child.on('close', (code) => {
17
+ if (code === 0) {
18
+ const version = output.trim().split('\n')[0];
19
+ resolve({ available: true, version });
20
+ }
21
+ else {
22
+ resolve({ available: false });
23
+ }
24
+ });
25
+ // Timeout fallback
26
+ setTimeout(() => {
27
+ child.kill();
28
+ resolve({ available: false });
29
+ }, 5000);
30
+ });
31
+ }
32
+ export async function agentCommand(action) {
33
+ switch (action) {
34
+ case 'status':
35
+ await handleStatus();
36
+ break;
37
+ default:
38
+ console.log(chalk.red(`Unknown action: ${action}`));
39
+ console.log(chalk.gray('Available: status'));
40
+ }
41
+ }
42
+ async function handleStatus() {
43
+ console.log(chalk.cyan('🤖 Checking agent availability...\n'));
44
+ const agents = [
45
+ { name: 'claude', command: 'claude', description: 'Backend, system design, complex logic' },
46
+ { name: 'codex', command: 'codex', description: 'Full-stack, rapid prototyping' },
47
+ { name: 'gemini', command: 'gemini', description: 'Frontend, UI/UX, documentation' },
48
+ ];
49
+ const results = [];
50
+ for (const agent of agents) {
51
+ const { available, version } = await checkAgentAvailable(agent.command);
52
+ results.push({
53
+ name: agent.name,
54
+ command: agent.command,
55
+ available,
56
+ version,
57
+ });
58
+ const statusIcon = available ? chalk.green('✓') : chalk.red('✗');
59
+ const statusText = available ? chalk.green('available') : chalk.gray('not found');
60
+ const versionText = version ? chalk.gray(` (${version})`) : '';
61
+ console.log(`${statusIcon} ${chalk.bold(agent.name)}: ${statusText}${versionText}`);
62
+ console.log(chalk.gray(` ${agent.description}`));
63
+ console.log();
64
+ }
65
+ // Summary
66
+ const availableCount = results.filter(r => r.available).length;
67
+ console.log(chalk.cyan('---'));
68
+ console.log(`Available agents: ${availableCount}/${agents.length}`);
69
+ if (availableCount === 0) {
70
+ console.log(chalk.yellow('\n⚠ No agents found. Install at least one:'));
71
+ console.log(chalk.gray(' • Claude: npm install -g @anthropic-ai/claude-code'));
72
+ console.log(chalk.gray(' • Codex: npm install -g @openai/codex'));
73
+ console.log(chalk.gray(' • Gemini: npm install -g @anthropic-ai/gemini-cli'));
74
+ }
75
+ // JSON output for programmatic use
76
+ console.log(chalk.gray('\n--- JSON ---'));
77
+ console.log(JSON.stringify(results, null, 2));
78
+ }
79
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,8 @@
1
- export declare function initCommand(): Promise<void>;
1
+ interface InitOptions {
2
+ claude?: boolean;
3
+ gemini?: boolean;
4
+ codex?: boolean;
5
+ }
6
+ export declare function initCommand(options?: InitOptions): Promise<void>;
7
+ export {};
2
8
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAmFjD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AASA,UAAU,WAAW;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiI1E"}
@@ -2,12 +2,28 @@ import { existsSync, mkdirSync, writeFileSync } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import chalk from 'chalk';
5
- import { generateClaudeMD } from '../lib/templates.js';
5
+ import { generateClaudeMD, generateGeminiMD, generateCodexMD } from '../lib/templates.js';
6
6
  import { ensureSkillsDir } from '../lib/skills.js';
7
7
  import { ensureKnowledgeDir } from '../lib/knowledge.js';
8
- export async function initCommand() {
8
+ export async function initCommand(options = {}) {
9
9
  const cwd = process.cwd();
10
+ // Determine default agent from flags
11
+ let defaultAgent = 'claude';
12
+ const agents = [];
13
+ if (options.claude)
14
+ agents.push('claude');
15
+ if (options.gemini)
16
+ agents.push('gemini');
17
+ if (options.codex)
18
+ agents.push('codex');
19
+ // If no flags, default to claude
20
+ if (agents.length === 0) {
21
+ agents.push('claude');
22
+ }
23
+ defaultAgent = agents[0];
10
24
  console.log(chalk.cyan('🚀 Initializing AsyncWF...\n'));
25
+ console.log(chalk.gray(` Default agent: ${defaultAgent}`));
26
+ console.log(chalk.gray(` Configured agents: ${agents.join(', ')}\n`));
11
27
  // 1. Ensure global ~/.ckb exists
12
28
  const ckbDir = join(homedir(), '.ckb');
13
29
  if (!existsSync(ckbDir)) {
@@ -36,16 +52,15 @@ export async function initCommand() {
36
52
  else {
37
53
  console.log(chalk.gray('• .asyncwf/ exists'));
38
54
  }
39
- // Create config.json
55
+ // Create config.json with agent configuration
40
56
  const configPath = join(asyncwfDir, 'config.json');
41
- if (!existsSync(configPath)) {
42
- writeFileSync(configPath, JSON.stringify({
43
- version: '1.0.0',
44
- agentCommand: 'claude',
45
- ckbPath: ckbDir,
46
- }, null, 2));
47
- console.log(chalk.green('✓ Created .asyncwf/config.json'));
48
- }
57
+ writeFileSync(configPath, JSON.stringify({
58
+ version: '1.0.0',
59
+ defaultAgent: defaultAgent,
60
+ configuredAgents: agents,
61
+ ckbPath: ckbDir,
62
+ }, null, 2));
63
+ console.log(chalk.green('✓ Created .asyncwf/config.json'));
49
64
  // Create tasks.json
50
65
  const tasksPath = join(asyncwfDir, 'tasks.json');
51
66
  if (!existsSync(tasksPath)) {
@@ -58,15 +73,42 @@ export async function initCommand() {
58
73
  mkdirSync(logsDir, { recursive: true });
59
74
  console.log(chalk.green('✓ Created .asyncwf/logs/'));
60
75
  }
61
- // 3. Generate claude.md
62
- const claudeMdPath = join(cwd, 'claude.md');
63
- if (!existsSync(claudeMdPath)) {
64
- const content = generateClaudeMD();
65
- writeFileSync(claudeMdPath, content);
66
- console.log(chalk.green('✓ Generated claude.md with AsyncWF protocol'));
76
+ // 3. Generate agent-specific config files
77
+ // Always generate claude.md for claude (or as default)
78
+ if (agents.includes('claude') || defaultAgent === 'claude') {
79
+ const claudeMdPath = join(cwd, 'claude.md');
80
+ if (!existsSync(claudeMdPath)) {
81
+ const content = generateClaudeMD();
82
+ writeFileSync(claudeMdPath, content);
83
+ console.log(chalk.green('✓ Generated claude.md'));
84
+ }
85
+ else {
86
+ console.log(chalk.yellow('⚠ claude.md already exists (skipped)'));
87
+ }
67
88
  }
68
- else {
69
- console.log(chalk.yellow('⚠ claude.md already exists (skipped)'));
89
+ // Generate GEMINI.md for gemini-cli
90
+ if (agents.includes('gemini')) {
91
+ const geminiMdPath = join(cwd, 'GEMINI.md');
92
+ if (!existsSync(geminiMdPath)) {
93
+ const content = generateGeminiMD();
94
+ writeFileSync(geminiMdPath, content);
95
+ console.log(chalk.green('✓ Generated GEMINI.md'));
96
+ }
97
+ else {
98
+ console.log(chalk.yellow('⚠ GEMINI.md already exists (skipped)'));
99
+ }
100
+ }
101
+ // Generate AGENTS.md for codex
102
+ if (agents.includes('codex')) {
103
+ const codexMdPath = join(cwd, 'AGENTS.md');
104
+ if (!existsSync(codexMdPath)) {
105
+ const content = generateCodexMD();
106
+ writeFileSync(codexMdPath, content);
107
+ console.log(chalk.green('✓ Generated AGENTS.md (for Codex)'));
108
+ }
109
+ else {
110
+ console.log(chalk.yellow('⚠ AGENTS.md already exists (skipped)'));
111
+ }
70
112
  }
71
113
  // 4. Create specs directory if missing
72
114
  const specsDir = join(cwd, 'specs');
@@ -79,5 +121,9 @@ export async function initCommand() {
79
121
  console.log(chalk.gray(' 1. Add your specs to specs/'));
80
122
  console.log(chalk.gray(' 2. Run `asyncwf link` to connect to global KB'));
81
123
  console.log(chalk.gray(' 3. Start using taskmgr for parallel workflows'));
124
+ console.log(chalk.gray('\nExample multi-agent dispatch:'));
125
+ console.log(chalk.gray(' asyncwf taskmgr dispatch --job frontend --agent gemini --prompt "..."'));
126
+ console.log(chalk.gray(' asyncwf taskmgr dispatch --job backend --agent claude --prompt "..."'));
127
+ console.log(chalk.gray(' asyncwf taskmgr dispatch --job fullstack --agent codex --prompt "..."'));
82
128
  }
83
129
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ interface TaskmgrOptions {
2
2
  job?: string;
3
3
  prompt?: string;
4
4
  skill?: string;
5
+ agent?: string;
5
6
  status?: string;
6
7
  jobs?: string;
7
8
  timeout?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"taskmgr.d.ts","sourceRoot":"","sources":["../../src/commands/taskmgr.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
1
+ {"version":3,"file":"taskmgr.d.ts","sourceRoot":"","sources":["../../src/commands/taskmgr.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,cAAc,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACxB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -24,11 +24,21 @@ export async function taskmgrCommand(action, options) {
24
24
  }
25
25
  }
26
26
  async function handleDispatch(options) {
27
- const { job, prompt, skill } = options;
27
+ const { job, prompt, skill, agent } = options;
28
28
  if (!job || !prompt) {
29
29
  console.log(chalk.red('Error: --job and --prompt are required'));
30
30
  return;
31
31
  }
32
+ // Validate agent type if provided
33
+ const validAgents = ['claude', 'codex', 'gemini'];
34
+ let agentType;
35
+ if (agent) {
36
+ if (!validAgents.includes(agent)) {
37
+ console.log(chalk.red(`Error: Invalid agent "${agent}". Valid options: ${validAgents.join(', ')}`));
38
+ return;
39
+ }
40
+ agentType = agent;
41
+ }
32
42
  // Check if job already exists
33
43
  const existing = await getTask(job);
34
44
  if (existing) {
@@ -36,13 +46,17 @@ async function handleDispatch(options) {
36
46
  return;
37
47
  }
38
48
  console.log(chalk.cyan(`🚀 Dispatching job: ${job}`));
49
+ if (agentType) {
50
+ console.log(chalk.gray(` Agent: ${agentType}`));
51
+ }
39
52
  if (skill) {
40
- console.log(chalk.gray(` Using skill: ${skill}`));
53
+ console.log(chalk.gray(` Skill: ${skill}`));
41
54
  }
42
- const task = await dispatchAgent(job, prompt, skill);
55
+ const task = await dispatchAgent(job, prompt, skill, agentType);
43
56
  console.log(chalk.green(`✓ Job dispatched`));
44
57
  console.log(JSON.stringify({
45
58
  id: task.id,
59
+ agent: task.agent,
46
60
  status: task.status,
47
61
  pid: task.pid,
48
62
  skill: task.skill,
@@ -1 +1 @@
1
- {"version":3,"file":"taskmgr.js","sourceRoot":"","sources":["../../src/commands/taskmgr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taskmgr.js","sourceRoot":"","sources":["../../src/commands/taskmgr.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,16 +6,20 @@ import { linkCommand } from './commands/link.js';
6
6
  import { taskmgrCommand } from './commands/taskmgr.js';
7
7
  import { skillCommand } from './commands/skill.js';
8
8
  import { kbCommand } from './commands/kb.js';
9
+ import { agentCommand } from './commands/agent.js';
9
10
  const program = new Command();
10
11
  program
11
12
  .name('asyncwf')
12
13
  .description(chalk.cyan('AsyncWF - Model-Driven Parallel Agent Workflow CLI'))
13
- .version('1.0.0');
14
+ .version('1.2.0');
14
15
  // Setup commands
15
16
  program
16
17
  .command('init')
17
18
  .description('Initialize AsyncWF in the current directory')
18
- .action(initCommand);
19
+ .option('-c, --claude', 'Configure for Claude Code (default)')
20
+ .option('-g, --gemini', 'Configure for Gemini CLI')
21
+ .option('-x, --codex', 'Configure for OpenAI Codex')
22
+ .action((opts) => initCommand(opts));
19
23
  program
20
24
  .command('link')
21
25
  .description('Link local specs to global knowledge base')
@@ -30,6 +34,7 @@ taskmgr
30
34
  .requiredOption('--job <id>', 'Job identifier')
31
35
  .requiredOption('--prompt <text>', 'Prompt for the sub-agent')
32
36
  .option('--skill <name>', 'Skill to inject into prompt')
37
+ .option('--agent <type>', 'Agent type: claude, codex, or gemini')
33
38
  .action((opts) => taskmgrCommand('dispatch', opts));
34
39
  taskmgr
35
40
  .command('list')
@@ -105,5 +110,13 @@ kb
105
110
  .command('delete <topic>')
106
111
  .description('Delete knowledge entry')
107
112
  .action((topic) => kbCommand('delete', { topic }));
113
+ // Agent Manager
114
+ const agent = program
115
+ .command('agent')
116
+ .description('Manage and check AI agent backends');
117
+ agent
118
+ .command('status')
119
+ .description('Check availability of agent backends (claude/codex/gemini)')
120
+ .action(() => agentCommand('status'));
108
121
  program.parse();
109
122
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;KAC7E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,iBAAiB;AACjB,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,cAAc,EAAE,qCAAqC,CAAC;KAC7D,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;KAClD,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;KACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzC,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEzB,eAAe;AACf,MAAM,OAAO,GAAG,OAAO;KAClB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2CAA2C,CAAC,CAAC;AAE9D,OAAO;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,wBAAwB,CAAC;KACrC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC;KAC9C,cAAc,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;KAC7D,MAAM,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;KACvD,MAAM,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;KAChE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAExD,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,CAAC;KAC7E,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpD,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4BAA4B,CAAC;KACzC,cAAc,CAAC,cAAc,EAAE,yBAAyB,CAAC;KACzD,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,QAAQ,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpD,OAAO;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mBAAmB,CAAC;KAChC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC;KAC9C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAErD,OAAO;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qBAAqB,CAAC;KAClC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC;KAC9C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpD,iBAAiB;AACjB,MAAM,KAAK,GAAG,OAAO;KAChB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAE3C,KAAK;KACA,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAE5C,KAAK;KACA,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEtD,KAAK;KACA,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,uBAAuB,CAAC;KACpC,cAAc,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KACnE,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;KACnD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AAEpE,KAAK;KACA,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAExD,KAAK;KACA,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAErD,iBAAiB;AACjB,MAAM,EAAE,GAAG,OAAO;KACb,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAE1C,EAAE;KACG,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAEzC,EAAE;KACG,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAErD,EAAE;KACG,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,uBAAuB,CAAC;KACpC,cAAc,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;KACnD,cAAc,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;KAC3D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAEhD,EAAE;KACG,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEvD,EAAE;KACG,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEvD,gBAAgB;AAChB,MAAM,KAAK,GAAG,OAAO;KAChB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAEvD,KAAK;KACA,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE1C,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,5 +1,10 @@
1
- import type { Task } from '../types.js';
2
- export declare function dispatchAgent(jobId: string, prompt: string, skillName?: string): Promise<Task>;
1
+ import type { Task, AgentType } from '../types.js';
2
+ export declare const AGENT_CONFIGS: Record<AgentType, {
3
+ command: string;
4
+ promptArg: string[];
5
+ }>;
6
+ export declare function getDefaultAgent(): AgentType;
7
+ export declare function dispatchAgent(jobId: string, prompt: string, skillName?: string, agentType?: AgentType): Promise<Task>;
3
8
  export declare function killAgent(jobId: string): Promise<boolean>;
4
9
  export declare function waitForJobs(jobIds: string[], timeoutMs?: number): Promise<Task[]>;
5
10
  //# sourceMappingURL=agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/lib/agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAKxC,wBAAsB,aAAa,CAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAqFf;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyB/D;AAED,wBAAsB,WAAW,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,GAAE,MAAe,GAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,CAwBjB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/lib/agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMnD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAIrF,CAAC;AAGF,wBAAgB,eAAe,IAAI,SAAS,CAW3C;AAED,wBAAsB,aAAa,CAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,SAAS,GACtB,OAAO,CAAC,IAAI,CAAC,CAsFf;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyB/D;AAED,wBAAsB,WAAW,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,GAAE,MAAe,GAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,CAwBjB"}
package/dist/lib/agent.js CHANGED
@@ -1,10 +1,31 @@
1
1
  import { spawn } from 'child_process';
2
- import { createWriteStream, existsSync } from 'fs';
2
+ import { createWriteStream, existsSync, readFileSync } from 'fs';
3
+ import { join } from 'path';
3
4
  import { getLogPath, getLogsDir, createTask, updateTask, getTask } from './state.js';
4
5
  import { getSkill, formatSkillForPrompt } from './skills.js';
5
6
  // Store child process references for kill
6
7
  const processes = new Map();
7
- export async function dispatchAgent(jobId, prompt, skillName) {
8
+ // Agent command configurations
9
+ export const AGENT_CONFIGS = {
10
+ claude: { command: 'claude', promptArg: ['-p'] },
11
+ codex: { command: 'codex', promptArg: ['-q'] }, // codex uses -q for quiet mode with prompt
12
+ gemini: { command: 'gemini', promptArg: ['-p'] }, // gemini-cli
13
+ };
14
+ // Get default agent from config
15
+ export function getDefaultAgent() {
16
+ const configPath = join(process.cwd(), '.asyncwf', 'config.json');
17
+ if (existsSync(configPath)) {
18
+ try {
19
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
20
+ return config.defaultAgent || 'claude';
21
+ }
22
+ catch {
23
+ return 'claude';
24
+ }
25
+ }
26
+ return 'claude';
27
+ }
28
+ export async function dispatchAgent(jobId, prompt, skillName, agentType) {
8
29
  // Build full prompt with skill if provided
9
30
  let fullPrompt = prompt;
10
31
  if (skillName) {
@@ -21,22 +42,22 @@ export async function dispatchAgent(jobId, prompt, skillName) {
21
42
  }
22
43
  const logPath = getLogPath(jobId);
23
44
  const logStream = createWriteStream(logPath);
45
+ // Determine which agent to use
46
+ const agent = agentType || getDefaultAgent();
47
+ const agentConfig = AGENT_CONFIGS[agent];
24
48
  // Create task record
25
49
  const task = await createTask({
26
50
  id: jobId,
27
51
  prompt: fullPrompt,
28
52
  skill: skillName,
53
+ agent: agent,
29
54
  status: 'running',
30
55
  logFile: logPath,
31
56
  });
32
- // Spawn the agent process
33
- // Try claude CLI first, fallback to echo for testing
34
- const agentCommand = process.env.ASYNCWF_AGENT || 'claude';
35
- const args = agentCommand === 'claude'
36
- ? ['-p', fullPrompt]
37
- : [fullPrompt]; // For testing with echo
57
+ // Build command args
58
+ const args = [...agentConfig.promptArg, fullPrompt];
38
59
  try {
39
- const child = spawn(agentCommand, args, {
60
+ const child = spawn(agentConfig.command, args, {
40
61
  detached: true,
41
62
  stdio: ['ignore', 'pipe', 'pipe'],
42
63
  shell: true,
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/lib/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/lib/agent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  export declare const ARCHITECT_PERSONA = "## Architect Persona\n\nYou are operating as a senior software architect with the ability to parallelize work.\nYou have access to the `asyncwf` tool suite for managing parallel agent workflows.\n\n**Capabilities:**\n- Analyze complex tasks and decompose into independent sub-tasks\n- Dispatch parallel sub-agents for concurrent execution\n- Coordinate and integrate outputs from multiple agents\n- Learn and reuse skills across projects\n";
2
- export declare const PARALLEL_PROTOCOL = "## Parallel Execution Protocol\n\n[SYSTEM: ASYNCWF ENABLED]\n\n### When to Parallelize\nIf a request involves multiple distinct, independent modules (e.g., \"Write the Rust Client AND the Python Backend\"), DO NOT do them sequentially.\n\n### How to Use\n\n1. **Analyze**: Break the request into independent sub-tasks.\n2. **Check Skills**: Run `asyncwf skill list` to see available reusable patterns.\n3. **Dispatch**: Run multiple dispatch commands:\n ```bash\n asyncwf taskmgr dispatch --job <id> --prompt \"<context>\" [--skill <name>]\n ```\n4. **Wait**: Run `asyncwf taskmgr wait --jobs <id1>,<id2>,...`\n5. **Fetch & Integrate**: Run `asyncwf taskmgr fetch --job <id>` to see outputs.\n6. **Review**: Check for consistency between outputs.\n\n### Skills Usage\n- List skills: `asyncwf skill list`\n- Use skill in dispatch: `asyncwf taskmgr dispatch --job api --skill rust-api --prompt \"...\"`\n- Add new skill: `asyncwf skill add <name> --content \"<markdown>\"`\n\n### Knowledge Base\n- Search knowledge: `asyncwf kb search <query>`\n- Learn new knowledge: `asyncwf kb learn --topic <name> --content \"<insights>\"`\n- Review knowledge: `asyncwf kb show <topic>`\n\n### Constraints\n- Sub-agents cannot see your conversation history - provide FULL context in --prompt\n- Use skills to ensure consistent patterns across agents\n- Learn reusable patterns to knowledge base for future reference\n- Always check `asyncwf link` status before starting to ensure specs are up to date\n";
2
+ export declare const AGENT_SELECTION_GUIDE = "## Agent Selection Guide\n\n### Check Available Agents\nBefore dispatching, check which agents are available:\n```bash\nasyncwf agent status\n```\n\n### Agent Comparison\n\n| Agent | Strengths | Weaknesses | Best For |\n|-------|-----------|------------|----------|\n| **Claude Code** | Deep reasoning, complex logic, system design, debugging | Slower on simple tasks | Backend, architecture, Rust/Go/Python, debugging |\n| **Codex (cx)** | Fast iteration, full-stack, good context | Less deep analysis | Rapid prototyping, JS/TS, full-stack features |\n| **Gemini** | Multimodal, long context, documentation | Less coding-focused | Frontend, UI/UX, docs, code review, large files |\n\n### Decision Framework\n\n1. **Backend / System Design / Complex Logic**\n \u2192 Use `--agent claude`\n - Complex algorithms, multi-file refactoring, architecture decisions\n \n2. **Frontend / UI / Documentation**\n \u2192 Use `--agent gemini`\n - React/Vue components, CSS, markdown docs, multimodal tasks\n \n3. **Full-Stack / Quick Features / Integration**\n \u2192 Use `--agent codex`\n - End-to-end features, API + UI together, rapid prototyping\n\n4. **Fallback Strategy**\n - If preferred agent unavailable, use the next best match\n - Claude \u2192 Codex \u2192 Gemini (for backend)\n - Gemini \u2192 Codex \u2192 Claude (for frontend)\n\n### Example: Intelligent Dispatch\n```bash\n# Check availability first\nasyncwf agent status\n\n# Then dispatch based on task type\nasyncwf taskmgr dispatch --job auth-api --agent claude --prompt \"Implement JWT auth...\"\nasyncwf taskmgr dispatch --job login-ui --agent gemini --prompt \"Create login form...\"\nasyncwf taskmgr dispatch --job connect --agent codex --prompt \"Wire API to UI...\"\n```\n";
3
+ export declare const MULTI_AGENT_PROTOCOL = "## Multi-Agent Collaboration\n\nYou can dispatch tasks to different AI agents based on their strengths:\n\n| Agent | Flag | Best For |\n|-------|------|----------|\n| Claude Code | `--agent claude` | Backend, system design, complex logic |\n| Codex | `--agent codex` | Full-stack, rapid prototyping |\n| Gemini | `--agent gemini` | Frontend, UI/UX, documentation |\n\n**Example - Parallel Multi-Agent Workflow:**\n```bash\n# Frontend with Gemini\nasyncwf taskmgr dispatch --job frontend --agent gemini --prompt \"Create React components for...\"\n\n# Backend with Claude\nasyncwf taskmgr dispatch --job backend --agent claude --prompt \"Implement REST API for...\"\n\n# Full-stack integration with Codex\nasyncwf taskmgr dispatch --job integration --agent codex --prompt \"Connect frontend and backend...\"\n\n# Wait for all\nasyncwf taskmgr wait --jobs frontend,backend,integration\n```\n";
4
+ export declare const PARALLEL_PROTOCOL = "## Parallel Execution Protocol\n\n[SYSTEM: ASYNCWF ENABLED]\n\n### When to Parallelize\nIf a request involves multiple distinct, independent modules (e.g., \"Write the Rust Client AND the Python Backend\"), DO NOT do them sequentially.\n\n### How to Use\n\n1. **Analyze**: Break the request into independent sub-tasks.\n2. **Check Agents**: Run `asyncwf agent status` to see available backends.\n3. **Check Skills**: Run `asyncwf skill list` to see available reusable patterns.\n4. **Dispatch**: Run multiple dispatch commands:\n ```bash\n asyncwf taskmgr dispatch --job <id> --agent <type> --prompt \"<context>\" [--skill <name>]\n ```\n Agents: `claude` | `codex` | `gemini`\n5. **Wait**: Run `asyncwf taskmgr wait --jobs <id1>,<id2>,...`\n6. **Fetch & Integrate**: Run `asyncwf taskmgr fetch --job <id>` to see outputs.\n7. **Review**: Check for consistency between outputs.\n\n### Skills Usage\n- List skills: `asyncwf skill list`\n- Use skill in dispatch: `asyncwf taskmgr dispatch --job api --skill rust-api --prompt \"...\"`\n- Add new skill: `asyncwf skill add <name> --content \"<markdown>\"`\n\n### Knowledge Base\n- Search knowledge: `asyncwf kb search <query>`\n- Learn new knowledge: `asyncwf kb learn --topic <name> --content \"<insights>\"`\n- Review knowledge: `asyncwf kb show <topic>`\n\n### Constraints\n- Sub-agents cannot see your conversation history - provide FULL context in --prompt\n- Use skills to ensure consistent patterns across agents\n- Learn reusable patterns to knowledge base for future reference\n- Always check `asyncwf link` status before starting to ensure specs are up to date\n";
3
5
  export declare const FILE_WATCH_DIRECTIVE = "## File Watching\n\nMonitor the `specs/` directory for specification changes.\nWhen specs are updated, run `asyncwf link` to refresh project context.\n";
4
6
  export declare function generateClaudeMD(projectContext?: string): string;
7
+ export declare function generateGeminiMD(projectContext?: string): string;
8
+ export declare function generateCodexMD(projectContext?: string): string;
5
9
  export declare function generateProjectContext(specs: Array<{
6
10
  name: string;
7
11
  summary: string;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,4bAU7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,09CAkC7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,4JAIhC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,cAAc,GAAE,MAAW,GAAG,MAAM,CAmBpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAQ9F"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,4bAU7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,ouDA6CjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,83BAwBhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,+lDAoC7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,4JAIhC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,cAAc,GAAE,MAAW,GAAG,MAAM,CAuBpE;AAED,wBAAgB,gBAAgB,CAAC,cAAc,GAAE,MAAW,GAAG,MAAM,CA2BpE;AAED,wBAAgB,eAAe,CAAC,cAAc,GAAE,MAAW,GAAG,MAAM,CA2BnE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAQ9F"}
@@ -9,6 +9,77 @@ You have access to the \`asyncwf\` tool suite for managing parallel agent workfl
9
9
  - Coordinate and integrate outputs from multiple agents
10
10
  - Learn and reuse skills across projects
11
11
  `;
12
+ export const AGENT_SELECTION_GUIDE = `## Agent Selection Guide
13
+
14
+ ### Check Available Agents
15
+ Before dispatching, check which agents are available:
16
+ \`\`\`bash
17
+ asyncwf agent status
18
+ \`\`\`
19
+
20
+ ### Agent Comparison
21
+
22
+ | Agent | Strengths | Weaknesses | Best For |
23
+ |-------|-----------|------------|----------|
24
+ | **Claude Code** | Deep reasoning, complex logic, system design, debugging | Slower on simple tasks | Backend, architecture, Rust/Go/Python, debugging |
25
+ | **Codex (cx)** | Fast iteration, full-stack, good context | Less deep analysis | Rapid prototyping, JS/TS, full-stack features |
26
+ | **Gemini** | Multimodal, long context, documentation | Less coding-focused | Frontend, UI/UX, docs, code review, large files |
27
+
28
+ ### Decision Framework
29
+
30
+ 1. **Backend / System Design / Complex Logic**
31
+ → Use \`--agent claude\`
32
+ - Complex algorithms, multi-file refactoring, architecture decisions
33
+
34
+ 2. **Frontend / UI / Documentation**
35
+ → Use \`--agent gemini\`
36
+ - React/Vue components, CSS, markdown docs, multimodal tasks
37
+
38
+ 3. **Full-Stack / Quick Features / Integration**
39
+ → Use \`--agent codex\`
40
+ - End-to-end features, API + UI together, rapid prototyping
41
+
42
+ 4. **Fallback Strategy**
43
+ - If preferred agent unavailable, use the next best match
44
+ - Claude → Codex → Gemini (for backend)
45
+ - Gemini → Codex → Claude (for frontend)
46
+
47
+ ### Example: Intelligent Dispatch
48
+ \`\`\`bash
49
+ # Check availability first
50
+ asyncwf agent status
51
+
52
+ # Then dispatch based on task type
53
+ asyncwf taskmgr dispatch --job auth-api --agent claude --prompt "Implement JWT auth..."
54
+ asyncwf taskmgr dispatch --job login-ui --agent gemini --prompt "Create login form..."
55
+ asyncwf taskmgr dispatch --job connect --agent codex --prompt "Wire API to UI..."
56
+ \`\`\`
57
+ `;
58
+ export const MULTI_AGENT_PROTOCOL = `## Multi-Agent Collaboration
59
+
60
+ You can dispatch tasks to different AI agents based on their strengths:
61
+
62
+ | Agent | Flag | Best For |
63
+ |-------|------|----------|
64
+ | Claude Code | \`--agent claude\` | Backend, system design, complex logic |
65
+ | Codex | \`--agent codex\` | Full-stack, rapid prototyping |
66
+ | Gemini | \`--agent gemini\` | Frontend, UI/UX, documentation |
67
+
68
+ **Example - Parallel Multi-Agent Workflow:**
69
+ \`\`\`bash
70
+ # Frontend with Gemini
71
+ asyncwf taskmgr dispatch --job frontend --agent gemini --prompt "Create React components for..."
72
+
73
+ # Backend with Claude
74
+ asyncwf taskmgr dispatch --job backend --agent claude --prompt "Implement REST API for..."
75
+
76
+ # Full-stack integration with Codex
77
+ asyncwf taskmgr dispatch --job integration --agent codex --prompt "Connect frontend and backend..."
78
+
79
+ # Wait for all
80
+ asyncwf taskmgr wait --jobs frontend,backend,integration
81
+ \`\`\`
82
+ `;
12
83
  export const PARALLEL_PROTOCOL = `## Parallel Execution Protocol
13
84
 
14
85
  [SYSTEM: ASYNCWF ENABLED]
@@ -19,14 +90,16 @@ If a request involves multiple distinct, independent modules (e.g., "Write the R
19
90
  ### How to Use
20
91
 
21
92
  1. **Analyze**: Break the request into independent sub-tasks.
22
- 2. **Check Skills**: Run \`asyncwf skill list\` to see available reusable patterns.
23
- 3. **Dispatch**: Run multiple dispatch commands:
93
+ 2. **Check Agents**: Run \`asyncwf agent status\` to see available backends.
94
+ 3. **Check Skills**: Run \`asyncwf skill list\` to see available reusable patterns.
95
+ 4. **Dispatch**: Run multiple dispatch commands:
24
96
  \`\`\`bash
25
- asyncwf taskmgr dispatch --job <id> --prompt "<context>" [--skill <name>]
97
+ asyncwf taskmgr dispatch --job <id> --agent <type> --prompt "<context>" [--skill <name>]
26
98
  \`\`\`
27
- 4. **Wait**: Run \`asyncwf taskmgr wait --jobs <id1>,<id2>,...\`
28
- 5. **Fetch & Integrate**: Run \`asyncwf taskmgr fetch --job <id>\` to see outputs.
29
- 6. **Review**: Check for consistency between outputs.
99
+ Agents: \`claude\` | \`codex\` | \`gemini\`
100
+ 5. **Wait**: Run \`asyncwf taskmgr wait --jobs <id1>,<id2>,...\`
101
+ 6. **Fetch & Integrate**: Run \`asyncwf taskmgr fetch --job <id>\` to see outputs.
102
+ 7. **Review**: Check for consistency between outputs.
30
103
 
31
104
  ### Skills Usage
32
105
  - List skills: \`asyncwf skill list\`
@@ -54,6 +127,62 @@ export function generateClaudeMD(projectContext = '') {
54
127
 
55
128
  ${ARCHITECT_PERSONA}
56
129
 
130
+ ${AGENT_SELECTION_GUIDE}
131
+
132
+ ${MULTI_AGENT_PROTOCOL}
133
+
134
+ ${PARALLEL_PROTOCOL}
135
+
136
+ ${FILE_WATCH_DIRECTIVE}
137
+ `;
138
+ if (projectContext) {
139
+ content += `
140
+ ## Project Context
141
+
142
+ ${projectContext}
143
+ `;
144
+ }
145
+ return content;
146
+ }
147
+ export function generateGeminiMD(projectContext = '') {
148
+ let content = `# AsyncWF - Gemini Agent Configuration
149
+
150
+ ${ARCHITECT_PERSONA}
151
+
152
+ ## Your Role
153
+ You are the **Frontend & UI Specialist** in a multi-agent team.
154
+ Focus on: React, Vue, CSS, UI/UX design, documentation.
155
+
156
+ ${AGENT_SELECTION_GUIDE}
157
+
158
+ ${MULTI_AGENT_PROTOCOL}
159
+
160
+ ${PARALLEL_PROTOCOL}
161
+
162
+ ${FILE_WATCH_DIRECTIVE}
163
+ `;
164
+ if (projectContext) {
165
+ content += `
166
+ ## Project Context
167
+
168
+ ${projectContext}
169
+ `;
170
+ }
171
+ return content;
172
+ }
173
+ export function generateCodexMD(projectContext = '') {
174
+ let content = `# AsyncWF - Codex Agent Configuration
175
+
176
+ ${ARCHITECT_PERSONA}
177
+
178
+ ## Your Role
179
+ You are the **Full-Stack Integrator** in a multi-agent team.
180
+ Focus on: connecting components, rapid prototyping, end-to-end features.
181
+
182
+ ${AGENT_SELECTION_GUIDE}
183
+
184
+ ${MULTI_AGENT_PROTOCOL}
185
+
57
186
  ${PARALLEL_PROTOCOL}
58
187
 
59
188
  ${FILE_WATCH_DIRECTIVE}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;CAUhC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;CAInC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,iBAAyB,EAAE;IACxD,IAAI,OAAO,GAAG;;EAEhB,iBAAiB;;EAEjB,iBAAiB;;EAEjB,oBAAoB;CACrB,CAAC;IAEE,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,IAAI;;;EAGjB,cAAc;CACf,CAAC;IACE,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA+C;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,IAAI,OAAO,GAAG,iDAAiD,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/lib/templates.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;CAUhC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CpC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBnC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoChC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;CAInC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,iBAAyB,EAAE;IACxD,IAAI,OAAO,GAAG;;EAEhB,iBAAiB;;EAEjB,qBAAqB;;EAErB,oBAAoB;;EAEpB,iBAAiB;;EAEjB,oBAAoB;CACrB,CAAC;IAEE,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,IAAI;;;EAGjB,cAAc;CACf,CAAC;IACE,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,iBAAyB,EAAE;IACxD,IAAI,OAAO,GAAG;;EAEhB,iBAAiB;;;;;;EAMjB,qBAAqB;;EAErB,oBAAoB;;EAEpB,iBAAiB;;EAEjB,oBAAoB;CACrB,CAAC;IAEE,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,IAAI;;;EAGjB,cAAc;CACf,CAAC;IACE,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,iBAAyB,EAAE;IACvD,IAAI,OAAO,GAAG;;EAEhB,iBAAiB;;;;;;EAMjB,qBAAqB;;EAErB,oBAAoB;;EAEpB,iBAAiB;;EAEjB,oBAAoB;CACrB,CAAC;IAEE,IAAI,cAAc,EAAE,CAAC;QACjB,OAAO,IAAI;;;EAGjB,cAAc;CACf,CAAC;IACE,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAA+C;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,IAAI,OAAO,GAAG,iDAAiD,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,8 +1,10 @@
1
+ export type AgentType = 'claude' | 'codex' | 'gemini';
1
2
  export type TaskStatus = 'pending' | 'running' | 'done' | 'failed';
2
3
  export interface Task {
3
4
  id: string;
4
5
  prompt: string;
5
6
  skill?: string;
7
+ agent?: AgentType;
6
8
  status: TaskStatus;
7
9
  pid?: number;
8
10
  exitCode?: number;
@@ -47,7 +49,7 @@ export interface KnowledgeIndex {
47
49
  }
48
50
  export interface AsyncWFConfig {
49
51
  version: string;
50
- agentCommand: string;
52
+ defaultAgent: AgentType;
51
53
  ckbPath: string;
52
54
  }
53
55
  export interface GlobalConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAGnE,MAAM,WAAW,IAAI;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACjB;AAGD,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN;AAGD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN;AAGD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAGtD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAGnE,MAAM,WAAW,IAAI;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACjB;AAGD,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN;AAGD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACN;AAGD,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,SAAS,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asyncwf",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Model-Driven Parallel Agent Workflow CLI for claude-code",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",