@runfusion/fusion 0.0.1

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.
Files changed (30) hide show
  1. package/README.md +166 -0
  2. package/dist/bin.js +141453 -0
  3. package/dist/client/assets/addon-fit-C7jRorKK.js +1 -0
  4. package/dist/client/assets/addon-web-links-CkJwd4cQ.js +1 -0
  5. package/dist/client/assets/addon-webgl-BjvOw43o.js +58 -0
  6. package/dist/client/assets/index-Dr0THfBG.css +1 -0
  7. package/dist/client/assets/index-bkmXzXw5.js +1241 -0
  8. package/dist/client/assets/vendor-react-K0fH_qHe.js +49 -0
  9. package/dist/client/assets/vendor-xterm-DzcZoU0P.js +9 -0
  10. package/dist/client/assets/vendor-xterm-LZoznX6r.css +32 -0
  11. package/dist/client/icons/icon-192.png +0 -0
  12. package/dist/client/icons/icon-512.png +0 -0
  13. package/dist/client/index.html +90 -0
  14. package/dist/client/logo.svg +6 -0
  15. package/dist/client/manifest.json +23 -0
  16. package/dist/client/sw.js +90 -0
  17. package/dist/client/theme-data.css +3764 -0
  18. package/dist/extension.js +79879 -0
  19. package/package.json +86 -0
  20. package/skill/fusion/SKILL.md +103 -0
  21. package/skill/fusion/references/best-practices.md +91 -0
  22. package/skill/fusion/references/cli-commands.md +117 -0
  23. package/skill/fusion/references/extension-tools.md +296 -0
  24. package/skill/fusion/references/fusion-capabilities.md +121 -0
  25. package/skill/fusion/references/skill-patterns.md +38 -0
  26. package/skill/fusion/references/task-structure.md +158 -0
  27. package/skill/fusion/workflows/dashboard-cli.md +92 -0
  28. package/skill/fusion/workflows/specifications.md +124 -0
  29. package/skill/fusion/workflows/task-lifecycle.md +116 -0
  30. package/skill/fusion/workflows/task-management.md +90 -0
package/package.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "name": "@runfusion/fusion",
3
+ "version": "0.0.1",
4
+ "license": "MIT",
5
+ "description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.",
6
+ "homepage": "https://github.com/Runfusion/Fusion#readme",
7
+ "bugs": {
8
+ "url": "https://github.com/Runfusion/Fusion/issues"
9
+ },
10
+ "type": "module",
11
+ "keywords": [
12
+ "pi-package"
13
+ ],
14
+ "bin": {
15
+ "fn": "./dist/bin.js"
16
+ },
17
+ "pi": {
18
+ "extensions": [
19
+ "./dist/extension.js"
20
+ ],
21
+ "skills": [
22
+ "./skill"
23
+ ],
24
+ "image": "https://raw.githubusercontent.com/Runfusion/Fusion/main/demo/screenshot.png"
25
+ },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "files": [
30
+ "dist/**/*.js",
31
+ "dist/**/*.d.ts",
32
+ "dist/**/*.d.ts.map",
33
+ "dist/**/*.js.map",
34
+ "dist/client/**",
35
+ "skill/**",
36
+ "README.md"
37
+ ],
38
+ "scripts": {
39
+ "dev": "tsx src/bin.ts",
40
+ "build": "tsup",
41
+ "build:exe": "bun run build.ts",
42
+ "build:exe:all": "bun run build.ts --all",
43
+ "typecheck": "tsc --noEmit",
44
+ "test": "vitest run --silent=passed-only --reporter=dot"
45
+ },
46
+ "dependencies": {
47
+ "@mariozechner/pi-ai": "^0.62.0",
48
+ "@mariozechner/pi-coding-agent": "^0.62.0",
49
+ "express": "^5.1.0",
50
+ "ioredis": "^5.6.0",
51
+ "multer": "^2.1.1"
52
+ },
53
+ "peerDependencies": {
54
+ "@mariozechner/pi-ai": "*",
55
+ "@mariozechner/pi-coding-agent": "*",
56
+ "@sinclair/typebox": "*"
57
+ },
58
+ "peerDependenciesMeta": {
59
+ "@mariozechner/pi-ai": {
60
+ "optional": true
61
+ },
62
+ "@mariozechner/pi-coding-agent": {
63
+ "optional": true
64
+ },
65
+ "@sinclair/typebox": {
66
+ "optional": true
67
+ }
68
+ },
69
+ "devDependencies": {
70
+ "@fusion/core": "workspace:*",
71
+ "@fusion/dashboard": "workspace:*",
72
+ "@fusion/engine": "workspace:*",
73
+ "@sinclair/typebox": "^0.34.0",
74
+ "@types/node": "^22.0.0",
75
+ "@vitest/coverage-v8": "^3.1.0",
76
+ "tsup": "^8.5.1",
77
+ "tsx": "^4.19.0",
78
+ "typescript": "^5.7.0",
79
+ "vitest": "^3.1.0",
80
+ "yaml": "^2.8.3"
81
+ },
82
+ "repository": {
83
+ "type": "git",
84
+ "url": "https://github.com/Runfusion/Fusion"
85
+ }
86
+ }
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: fusion
3
+ description: AI-orchestrated task board (Fusion/kb) interface. Use when working with the Fusion task management system, creating or managing tasks, understanding task workflows, organizing work into missions, or interfacing with the kb dashboard. Triggers on "create a task", "list tasks", "show board", "plan a mission", "check task status", "import issues", or any Fusion/kb interaction.
4
+ ---
5
+
6
+ <essential_principles>
7
+
8
+ Fusion (kb) is an AI-orchestrated task board. You throw in rough ideas; AI specifies, executes, reviews, and delivers them.
9
+
10
+ **Task lifecycle:** Triage → Todo → In Progress → In Review → Done → Archived
11
+
12
+ - **Triage** — AI auto-generates a full specification (PROMPT.md) with steps, file scope, and acceptance criteria
13
+ - **Todo** — Scheduler resolves dependencies and queues for execution
14
+ - **In Progress** — Executor agent works in a git worktree: plan → review → execute → review per step
15
+ - **In Review** — Completed work ready for merge (auto-merge or PR-based)
16
+ - **Done** — Merged to main branch
17
+ - **Archived** — Removed from active board view
18
+
19
+ **Missions** provide hierarchical planning above tasks:
20
+ Mission → Milestone → Slice → Feature → Task
21
+
22
+ **Available tools:** Fusion registers tools via the pi extension (prefixed `fn_*`). No CLI commands or Bash needed — use the registered tools directly.
23
+
24
+ **Tool categories:**
25
+ - **Task tools** — `fn_task_create`, `fn_task_update`, `fn_task_list`, `fn_task_show`, `fn_task_attach`, `fn_task_pause`, `fn_task_unpause`, `fn_task_retry`, `fn_task_duplicate`, `fn_task_refine`, `fn_task_archive`, `fn_task_unarchive`, `fn_task_delete`, `fn_task_plan`
26
+ - **GitHub tools** — `fn_task_import_github`, `fn_task_import_github_issue`, `fn_task_browse_github_issues`
27
+ - **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_delete`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_slice_activate`, `fn_feature_link_task`
28
+ - **Agent tools** — `fn_agent_stop`, `fn_agent_start`
29
+ - **Skills tools** — `fn_skills_search`, `fn_skills_install`
30
+ - **Dashboard** — Use `/fn` command to start/stop the dashboard
31
+
32
+ </essential_principles>
33
+
34
+ <routing>
35
+
36
+ Based on the user's request, route to the appropriate workflow:
37
+
38
+ **Task operations:**
39
+ - Create, list, show, manage tasks → workflows/task-management.md
40
+ - Understand task columns, lifecycle, statuses → workflows/task-lifecycle.md
41
+
42
+ **Planning and specifications:**
43
+ - Plan complex work, break down ideas → workflows/specifications.md
44
+ - Organize into missions, milestones, slices → workflows/specifications.md
45
+
46
+ **Dashboard and CLI:**
47
+ - Start dashboard, use CLI commands, settings → workflows/dashboard-cli.md
48
+
49
+ **If the intent is simple and clear** (e.g., "create a task to fix the login bug"), execute directly using the appropriate `fn_*` tool without loading a workflow file. Only load workflows for guidance on complex operations or when the user needs help understanding Fusion concepts.
50
+
51
+ </routing>
52
+
53
+ <quick_reference>
54
+
55
+ **Create a task:**
56
+ Use `fn_task_create` with a descriptive message. Include the problem AND desired outcome.
57
+
58
+ **List tasks:**
59
+ Use `fn_task_list` to see all tasks grouped by column. Use `column` param to filter.
60
+
61
+ **Show task details:**
62
+ Use `fn_task_show` with the task ID (e.g., KB-001) to see steps, progress, and log.
63
+
64
+ **Plan complex work:**
65
+ Use `fn_task_plan` for AI-guided planning that interviews you before creating the task.
66
+
67
+ **Import GitHub issues:**
68
+ Use `fn_task_browse_github_issues` to preview, then `fn_task_import_github_issue` for specific issues.
69
+
70
+ **Start dashboard:**
71
+ Use `/fn` command. `/fn stop` to stop. `/fn status` to check.
72
+
73
+ **Mission planning:**
74
+ Use `fn_mission_create` for high-level objectives, then add milestones, slices, and features.
75
+
76
+ </quick_reference>
77
+
78
+ <known_limitations>
79
+
80
+ These operations are **not available** via pi extension tools and require the dashboard or CLI:
81
+
82
+ - **Moving tasks between columns** — No tool for column moves (handled by the AI engine)
83
+ - **Workflow steps** — Creating/managing workflow step definitions requires the dashboard
84
+ - **Settings** — Changing settings requires the dashboard or `fn settings set` CLI command
85
+ - **Steering comments** — Adding steering comments to guide task execution requires CLI (`fn task steer`)
86
+ - **Merge operations** — Merging completed tasks requires CLI (`fn task merge`) or auto-merge
87
+
88
+ For these operations, guide the user to the dashboard (`/fn`) or CLI commands documented in workflows/dashboard-cli.md.
89
+
90
+ </known_limitations>
91
+
92
+ <reference_index>
93
+
94
+ | Reference | When to Use |
95
+ |-----------|-------------|
96
+ | references/cli-commands.md | Full CLI command reference |
97
+ | references/task-structure.md | Task file structure and storage |
98
+ | references/extension-tools.md | All pi extension tools with parameters |
99
+ | references/best-practices.md | Tips for effective Fusion usage |
100
+ | references/fusion-capabilities.md | Complete feature catalog |
101
+ | references/skill-patterns.md | Patterns used in this skill's design |
102
+
103
+ </reference_index>
@@ -0,0 +1,91 @@
1
+ # Best Practices for Working with Fusion
2
+
3
+ ## Writing Task Descriptions
4
+
5
+ **Do:**
6
+ - State the problem AND desired outcome
7
+ - Include specific file paths, technologies, or patterns to use
8
+ - Mention what's out of scope to prevent scope creep
9
+ - Reference related tasks by ID if there are dependencies
10
+ - Include "current behavior" vs "expected behavior" for bugs
11
+
12
+ **Don't:**
13
+ - Write one-liner descriptions like "fix the bug"
14
+ - Include implementation details the AI should figure out
15
+ - Create tasks that are too large (break into smaller tasks or use missions)
16
+ - Duplicate existing tasks — check `fn_task_list` first
17
+
18
+ ## Task Size Guidelines
19
+
20
+ | Size | Scope | Examples |
21
+ |------|-------|---------|
22
+ | S | Single file change, simple fix | Fix typo, update config, add CSS rule |
23
+ | M | 2-5 files, moderate complexity | Add form validation, create API endpoint |
24
+ | L | 5+ files, significant feature | New page/component, refactor module, add auth |
25
+
26
+ For work larger than L, use missions to break it into phases.
27
+
28
+ ## When to Use Each Tool
29
+
30
+ | Scenario | Tool |
31
+ |----------|------|
32
+ | Quick task with clear scope | `fn_task_create` |
33
+ | Vague idea needing refinement | `fn_task_plan` |
34
+ | Large project with phases | `fn_mission_create` + hierarchy |
35
+ | Task failed, needs retry | `fn_task_retry` |
36
+ | Task needs manual intervention | `fn_task_pause` |
37
+ | Completed task needs follow-up | `fn_task_refine` |
38
+ | Clean up done tasks | `fn_task_archive` |
39
+ | Import external work | `fn_task_import_github*` |
40
+
41
+ ## Dependency Management
42
+
43
+ - Declare dependencies at creation time using the `depends` parameter
44
+ - Dependencies must be valid task IDs that exist
45
+ - Tasks wait in todo until all dependencies are in done or archived
46
+ - Circular dependencies are rejected
47
+ - Use missions for complex dependency graphs across many tasks
48
+
49
+ ## Working with the AI Engine
50
+
51
+ - **Don't fight the automation** — let triage, scheduler, and executor do their jobs
52
+ - **Pause if needed** — use `fn_task_pause` when you want manual control
53
+ - **Steer don't micromanage** — use steering comments (via CLI `fn task steer`) to guide the AI without rewriting the spec
54
+ - **Check progress** — use `fn_task_show` to monitor step completion
55
+ - **Let it fail and retry** — if a task fails, check the log, then `fn_task_retry`
56
+
57
+ ## Mission Planning Tips
58
+
59
+ 1. **Start with the mission** — define the high-level goal first
60
+ 2. **Milestones are phases** — order them chronologically (what comes first?)
61
+ 3. **Slices are parallel tracks** — within a milestone, what can be done independently?
62
+ 4. **Features are deliverables** — each feature should map to one task
63
+ 5. **Activate slices sequentially** — only activate what's ready for implementation
64
+ 6. **Use auto-advance** — enable on the mission to automatically progress through slices
65
+
66
+ ## Common Patterns
67
+
68
+ **Bug fix flow:**
69
+ 1. `fn_task_create` with bug description (current vs expected behavior)
70
+ 2. Wait for triage to generate specification
71
+ 3. Monitor with `fn_task_show` until done
72
+
73
+ **Feature development flow:**
74
+ 1. `fn_task_plan` to refine requirements
75
+ 2. Check the task in triage → todo → in-progress
76
+ 3. Review in `fn_task_show` when in-review
77
+ 4. Task auto-merges to main
78
+
79
+ **Large project flow:**
80
+ 1. `fn_mission_create` with project overview
81
+ 2. Add milestones for each phase
82
+ 3. Add slices and features for the first milestone
83
+ 4. Activate first slice, create and link tasks
84
+ 5. As tasks complete, features auto-complete
85
+ 6. Activate next slice (or use auto-advance)
86
+
87
+ **GitHub issue triage flow:**
88
+ 1. `fn_task_browse_github_issues` to see what's open
89
+ 2. `fn_task_import_github_issue` for high-priority issues
90
+ 3. Tasks enter triage and get AI-specified
91
+ 4. Monitor board as AI works through them
@@ -0,0 +1,117 @@
1
+ # Fusion CLI Commands Reference
2
+
3
+ The Fusion CLI is invoked with `fn` (short for fusion).
4
+
5
+ ## Dashboard
6
+
7
+ ```bash
8
+ fn dashboard # Start web UI + AI engine (port 4040)
9
+ fn dashboard --port 8080 # Custom port
10
+ fn dashboard --interactive # Interactive port selection
11
+ fn dashboard --paused # Start with automation paused
12
+ fn dashboard --dev # Web UI only (no AI engine)
13
+ ```
14
+
15
+ ## Task Management
16
+
17
+ ```bash
18
+ fn task create "description" # Create task → triage
19
+ fn task create "desc" --attach file.png # Create with attachment
20
+ fn task create "desc" --depends KB-001 # Create with dependency
21
+ fn task plan "description" # AI-guided planning mode
22
+ fn task list # List all tasks by column
23
+ fn task show KB-001 # Show task details + steps + log
24
+ fn task move KB-001 todo # Move task to column
25
+ fn task merge KB-001 # Merge in-review task to main
26
+ fn task duplicate KB-001 # Copy task to triage
27
+ fn task refine KB-001 --feedback "..." # Create follow-up task
28
+ fn task archive KB-001 # Move done → archived
29
+ fn task unarchive KB-001 # Move archived → done
30
+ fn task delete KB-001 [--force] # Permanently delete
31
+ fn task retry KB-001 # Retry failed task → todo
32
+ fn task comment KB-001 "text" # Add general comment
33
+ fn task comments KB-001 # List task comments
34
+ fn task steer KB-001 "guidance" # Add steering comment for AI
35
+ fn task pause KB-001 # Pause automation
36
+ fn task unpause KB-001 # Resume automation
37
+ fn task logs KB-001 # View agent execution logs
38
+ fn task logs KB-001 --follow # Stream logs in real-time
39
+ fn task logs KB-001 --limit 50 # Limit log lines
40
+ fn task logs KB-001 --type tool # Filter by log type
41
+ ```
42
+
43
+ ## Mission Management
44
+
45
+ ```bash
46
+ fn mission create "Title" "Description" # Create a new mission
47
+ fn mission list # List all missions
48
+ fn mission show M-001 # Show mission hierarchy
49
+ fn mission delete M-001 [--force] # Delete mission (cascades)
50
+ fn mission activate-slice SL-001 # Manually activate a slice
51
+ ```
52
+
53
+ ## GitHub Integration
54
+
55
+ ```bash
56
+ fn task import owner/repo # Import all open issues
57
+ fn task import owner/repo --interactive # Select issues interactively
58
+ fn task import owner/repo --limit 10 # Limit import count
59
+ fn task import owner/repo --labels bug # Filter by labels
60
+ fn task pr-create KB-001 # Create GitHub PR
61
+ fn task pr-create KB-001 --title "Fix" # PR with custom title
62
+ fn task pr-create KB-001 --base main # PR targeting specific base
63
+ ```
64
+
65
+ ## Git Operations
66
+
67
+ ```bash
68
+ fn git status # Branch, commit, dirty state
69
+ fn git fetch [remote] # Fetch from remote
70
+ fn git pull [--yes] # Pull current branch
71
+ fn git push [--yes] # Push current branch
72
+ ```
73
+
74
+ ## Settings
75
+
76
+ ```bash
77
+ fn settings # Show all settings
78
+ fn settings set maxConcurrent 4 # Update a setting
79
+ fn settings set autoMerge false # Disable auto-merge
80
+ fn settings set prCompletionMode pr-first # Use PR workflow
81
+ ```
82
+
83
+ ## Backups
84
+
85
+ ```bash
86
+ fn backup --create # Create backup now
87
+ fn backup --list # List backups with sizes
88
+ fn backup --restore <file> # Restore from backup
89
+ fn backup --cleanup # Remove old backups
90
+ ```
91
+
92
+ ## Multi-Project
93
+
94
+ ```bash
95
+ fn project list # List registered projects
96
+ fn project add my-app /path/to/app # Register project
97
+ fn project remove my-app [--force] # Unregister project
98
+ fn project show my-app # Show project details
99
+ fn project set-default my-app # Set default project
100
+ fn project detect # Detect current project
101
+
102
+ # Use --project flag with any command
103
+ fn task list --project my-app
104
+ fn task create "desc" --project api
105
+ fn settings --project my-app
106
+ ```
107
+
108
+ ## Columns (valid values for `fn task move`)
109
+
110
+ | Column | Description |
111
+ |--------|-------------|
112
+ | `triage` | Awaiting specification |
113
+ | `todo` | Specified, waiting for execution |
114
+ | `in-progress` | Being executed by AI |
115
+ | `in-review` | Ready for merge |
116
+ | `done` | Merged to main |
117
+ | `archived` | Removed from active view |
@@ -0,0 +1,296 @@
1
+ # Fusion Pi Extension Tools
2
+
3
+ All tools are registered via the pi extension. They are available in any pi agent session when the Fusion extension is installed.
4
+
5
+ ## Task Tools
6
+
7
+ ### fn_task_create
8
+
9
+ Create a new task on the Fusion board. Enters triage for AI specification.
10
+
11
+ | Parameter | Type | Required | Description |
12
+ |-----------|------|----------|-------------|
13
+ | `description` | string | ✓ | What needs to be done — be descriptive |
14
+ | `depends` | string[] | — | Task IDs this depends on (e.g., ["FN-001"]) |
15
+
16
+ Returns: task ID, column, dependencies, path
17
+
18
+ ### fn_task_update
19
+
20
+ Update fields on an existing task (title, description, dependencies).
21
+
22
+ | Parameter | Type | Required | Description |
23
+ |-----------|------|----------|-------------|
24
+ | `id` | string | ✓ | Task ID (e.g., FN-001) |
25
+ | `title` | string | — | New task title |
26
+ | `description` | string | — | New task description |
27
+ | `depends` | string[] | — | New dependency list — replaces existing |
28
+
29
+ Returns: task ID, list of updated fields
30
+
31
+ ### fn_task_list
32
+
33
+ List all tasks grouped by column.
34
+
35
+ | Parameter | Type | Required | Description |
36
+ |-----------|------|----------|-------------|
37
+ | `column` | string | — | Filter to specific column |
38
+ | `limit` | number | — | Max tasks per column (default: 10) |
39
+
40
+ Returns: formatted task list grouped by column
41
+
42
+ ### fn_task_show
43
+
44
+ Show full task details including steps, progress, prompt preview, and log.
45
+
46
+ | Parameter | Type | Required | Description |
47
+ |-----------|------|----------|-------------|
48
+ | `id` | string | ✓ | Task ID (e.g., FN-001) |
49
+
50
+ Returns: task details with steps, prompt preview (500 chars), last 5 log entries
51
+
52
+ ### fn_task_attach
53
+
54
+ Attach a file to a task. Copies file to task's attachments directory.
55
+
56
+ | Parameter | Type | Required | Description |
57
+ |-----------|------|----------|-------------|
58
+ | `id` | string | ✓ | Task ID |
59
+ | `path` | string | ✓ | Path to file to attach |
60
+
61
+ Supported formats: png, jpg, jpeg, gif, webp, txt, log, json, yaml, yml, toml, csv, xml
62
+
63
+ ### fn_task_pause
64
+
65
+ Pause automation for a task. Scheduler and executor will skip this task.
66
+
67
+ | Parameter | Type | Required | Description |
68
+ |-----------|------|----------|-------------|
69
+ | `id` | string | ✓ | Task ID |
70
+
71
+ ### fn_task_unpause
72
+
73
+ Resume automation for a paused task.
74
+
75
+ | Parameter | Type | Required | Description |
76
+ |-----------|------|----------|-------------|
77
+ | `id` | string | ✓ | Task ID |
78
+
79
+ ### fn_task_retry
80
+
81
+ Retry a failed task. Clears error state, moves to todo for re-execution.
82
+
83
+ | Parameter | Type | Required | Description |
84
+ |-----------|------|----------|-------------|
85
+ | `id` | string | ✓ | Task ID (must be in failed state) |
86
+
87
+ ### fn_task_duplicate
88
+
89
+ Duplicate a task. Creates a fresh copy in triage with same title and description.
90
+
91
+ | Parameter | Type | Required | Description |
92
+ |-----------|------|----------|-------------|
93
+ | `id` | string | ✓ | Source task ID to duplicate |
94
+
95
+ ### fn_task_refine
96
+
97
+ Create a follow-up task for a completed task. New task depends on the original.
98
+
99
+ | Parameter | Type | Required | Description |
100
+ |-----------|------|----------|-------------|
101
+ | `id` | string | ✓ | Task ID (must be done or in-review) |
102
+ | `feedback` | string | ✓ | What needs to be refined (1-2000 chars) |
103
+
104
+ ### fn_task_archive
105
+
106
+ Archive a done task. Moves from done → archived.
107
+
108
+ | Parameter | Type | Required | Description |
109
+ |-----------|------|----------|-------------|
110
+ | `id` | string | ✓ | Task ID (must be in done column) |
111
+
112
+ ### fn_task_unarchive
113
+
114
+ Restore an archived task. Moves from archived → done.
115
+
116
+ | Parameter | Type | Required | Description |
117
+ |-----------|------|----------|-------------|
118
+ | `id` | string | ✓ | Task ID (must be in archived column) |
119
+
120
+ ### fn_task_delete
121
+
122
+ Permanently delete a task. Cannot be undone.
123
+
124
+ | Parameter | Type | Required | Description |
125
+ |-----------|------|----------|-------------|
126
+ | `id` | string | ✓ | Task ID |
127
+
128
+ ### fn_task_plan
129
+
130
+ Create a task via AI-guided planning mode. Non-interactive when called from extension.
131
+
132
+ | Parameter | Type | Required | Description |
133
+ |-----------|------|----------|-------------|
134
+ | `description` | string | — | Initial plan description |
135
+
136
+ ## GitHub Tools
137
+
138
+ ### fn_task_import_github
139
+
140
+ Batch import GitHub issues as Fusion tasks.
141
+
142
+ | Parameter | Type | Required | Description |
143
+ |-----------|------|----------|-------------|
144
+ | `ownerRepo` | string | ✓ | Repository (e.g., "owner/repo") |
145
+ | `limit` | number | — | Max issues (default: 30, max: 100) |
146
+ | `labels` | string[] | — | Label names to filter by |
147
+
148
+ ### fn_task_import_github_issue
149
+
150
+ Import a single GitHub issue by number.
151
+
152
+ | Parameter | Type | Required | Description |
153
+ |-----------|------|----------|-------------|
154
+ | `owner` | string | ✓ | Repository owner |
155
+ | `repo` | string | ✓ | Repository name |
156
+ | `issueNumber` | number | ✓ | GitHub issue number |
157
+
158
+ ### fn_task_browse_github_issues
159
+
160
+ Browse open issues from a repository before importing.
161
+
162
+ | Parameter | Type | Required | Description |
163
+ |-----------|------|----------|-------------|
164
+ | `owner` | string | ✓ | Repository owner |
165
+ | `repo` | string | ✓ | Repository name |
166
+ | `limit` | number | — | Max issues (default: 30, max: 100) |
167
+ | `labels` | string[] | — | Label names to filter by |
168
+
169
+ ## Mission Tools
170
+
171
+ ### fn_mission_create
172
+
173
+ Create a new mission — a high-level objective spanning multiple milestones.
174
+
175
+ | Parameter | Type | Required | Description |
176
+ |-----------|------|----------|-------------|
177
+ | `title` | string | ✓ | Mission title |
178
+ | `description` | string | — | Detailed objectives and context |
179
+ | `autoAdvance` | boolean | — | Auto-activate next slice on completion |
180
+
181
+ ### fn_mission_list
182
+
183
+ List all missions with current status. No parameters.
184
+
185
+ ### fn_mission_show
186
+
187
+ Show mission details with full hierarchy.
188
+
189
+ | Parameter | Type | Required | Description |
190
+ |-----------|------|----------|-------------|
191
+ | `id` | string | ✓ | Mission ID (e.g., M-001) |
192
+
193
+ ### fn_mission_delete
194
+
195
+ Delete a mission and all children. Tasks are NOT deleted.
196
+
197
+ | Parameter | Type | Required | Description |
198
+ |-----------|------|----------|-------------|
199
+ | `id` | string | ✓ | Mission ID |
200
+
201
+ ### fn_milestone_add
202
+
203
+ Add a milestone to a mission.
204
+
205
+ | Parameter | Type | Required | Description |
206
+ |-----------|------|----------|-------------|
207
+ | `missionId` | string | ✓ | Parent mission ID |
208
+ | `title` | string | ✓ | Milestone title |
209
+ | `description` | string | — | Milestone description |
210
+
211
+ ### fn_slice_add
212
+
213
+ Add a slice to a milestone.
214
+
215
+ | Parameter | Type | Required | Description |
216
+ |-----------|------|----------|-------------|
217
+ | `milestoneId` | string | ✓ | Parent milestone ID |
218
+ | `title` | string | ✓ | Slice title |
219
+ | `description` | string | — | Slice description |
220
+
221
+ ### fn_feature_add
222
+
223
+ Add a feature to a slice.
224
+
225
+ | Parameter | Type | Required | Description |
226
+ |-----------|------|----------|-------------|
227
+ | `sliceId` | string | ✓ | Parent slice ID |
228
+ | `title` | string | ✓ | Feature title |
229
+ | `description` | string | — | Feature description |
230
+ | `acceptanceCriteria` | string | — | Acceptance criteria |
231
+
232
+ ### fn_slice_activate
233
+
234
+ Activate a pending slice for implementation.
235
+
236
+ | Parameter | Type | Required | Description |
237
+ |-----------|------|----------|-------------|
238
+ | `id` | string | ✓ | Slice ID (must be pending) |
239
+
240
+ ### fn_feature_link_task
241
+
242
+ Link a feature to a kb task. Updates feature status to triaged.
243
+
244
+ | Parameter | Type | Required | Description |
245
+ |-----------|------|----------|-------------|
246
+ | `featureId` | string | ✓ | Feature ID (e.g., F-001) |
247
+ | `taskId` | string | ✓ | Task ID (e.g., FN-001) |
248
+
249
+ ### fn_agent_stop
250
+
251
+ Stop (pause) a running agent. Transitions the agent from running/active to paused state.
252
+
253
+ | Parameter | Type | Required | Description |
254
+ |-----------|------|----------|-------------|
255
+ | `id` | string | ✓ | Agent ID to stop (e.g., agent-abc123) |
256
+
257
+ ### fn_agent_start
258
+
259
+ Start (resume) a stopped agent. Transitions the agent from paused to active state.
260
+
261
+ | Parameter | Type | Required | Description |
262
+ |-----------|------|----------|-------------|
263
+ | `id` | string | ✓ | Agent ID to start (e.g., agent-abc123) |
264
+
265
+ ## Skills Tools
266
+
267
+ ### fn_skills_search
268
+
269
+ Search the skills.sh directory for agent skills. Returns matching skills with names, sources, install counts, and install commands.
270
+
271
+ | Parameter | Type | Required | Description |
272
+ |-----------|------|----------|-------------|
273
+ | `query` | string | ✓ | Search query — framework, technology, or capability (e.g., "react", "firebase", "testing", "docker") |
274
+ | `limit` | number | — | Max results (default: 10, max: 50) |
275
+
276
+ ### fn_skills_install
277
+
278
+ Install an agent skill from skills.sh into the current project. Downloads skill files into the project's skill directories.
279
+
280
+ | Parameter | Type | Required | Description |
281
+ |-----------|------|----------|-------------|
282
+ | `source` | string | ✓ | GitHub source in owner/repo format (e.g., "firebase/agent-skills") |
283
+ | `skill` | string | — | Specific skill name to install. Omit to install all skills from the source. |
284
+
285
+ ## Dashboard Command
286
+
287
+ ### /fn
288
+
289
+ Start or stop the Fusion dashboard from within a pi session.
290
+
291
+ | Command | Description |
292
+ |---------|-------------|
293
+ | `/fn` | Start dashboard on port 4040 |
294
+ | `/fn 8080` | Start on custom port |
295
+ | `/fn stop` | Stop dashboard |
296
+ | `/fn status` | Check if running |