@cliangdev/flux-plugin 0.2.0 → 0.3.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.
Files changed (108) hide show
  1. package/README.md +11 -7
  2. package/agents/coder.md +150 -25
  3. package/bin/install.cjs +171 -16
  4. package/commands/breakdown.md +47 -10
  5. package/commands/dashboard.md +29 -0
  6. package/commands/flux.md +92 -12
  7. package/commands/implement.md +166 -17
  8. package/commands/linear.md +6 -5
  9. package/commands/prd.md +996 -82
  10. package/manifest.json +2 -1
  11. package/package.json +9 -11
  12. package/skills/flux-orchestrator/SKILL.md +11 -3
  13. package/skills/prd-writer/SKILL.md +761 -0
  14. package/skills/ux-ui-design/SKILL.md +346 -0
  15. package/skills/ux-ui-design/references/design-tokens.md +359 -0
  16. package/src/__tests__/version.test.ts +37 -0
  17. package/src/adapters/local/.gitkeep +0 -0
  18. package/src/dashboard/__tests__/api.test.ts +211 -0
  19. package/src/dashboard/browser.ts +35 -0
  20. package/src/dashboard/public/app.js +869 -0
  21. package/src/dashboard/public/index.html +90 -0
  22. package/src/dashboard/public/styles.css +807 -0
  23. package/src/dashboard/public/vendor/highlight.css +10 -0
  24. package/src/dashboard/public/vendor/highlight.min.js +8422 -0
  25. package/src/dashboard/public/vendor/marked.min.js +2210 -0
  26. package/src/dashboard/server.ts +296 -0
  27. package/src/dashboard/watchers.ts +83 -0
  28. package/src/server/__tests__/config.test.ts +163 -0
  29. package/src/server/adapters/__tests__/a-client-linear.test.ts +197 -0
  30. package/src/server/adapters/__tests__/adapter-factory.test.ts +230 -0
  31. package/src/server/adapters/__tests__/dependency-ops.test.ts +429 -0
  32. package/src/server/adapters/__tests__/document-ops.test.ts +306 -0
  33. package/src/server/adapters/__tests__/linear-adapter.test.ts +91 -0
  34. package/src/server/adapters/__tests__/linear-config.test.ts +425 -0
  35. package/src/server/adapters/__tests__/linear-criteria-parser.test.ts +287 -0
  36. package/src/server/adapters/__tests__/linear-description-test.ts +238 -0
  37. package/src/server/adapters/__tests__/linear-epic-crud.test.ts +496 -0
  38. package/src/server/adapters/__tests__/linear-mappers-description.test.ts +276 -0
  39. package/src/server/adapters/__tests__/linear-mappers-epic.test.ts +294 -0
  40. package/src/server/adapters/__tests__/linear-mappers-prd.test.ts +300 -0
  41. package/src/server/adapters/__tests__/linear-mappers-task.test.ts +197 -0
  42. package/src/server/adapters/__tests__/linear-prd-crud.test.ts +620 -0
  43. package/src/server/adapters/__tests__/linear-stats.test.ts +450 -0
  44. package/src/server/adapters/__tests__/linear-task-crud.test.ts +534 -0
  45. package/src/server/adapters/__tests__/linear-types.test.ts +243 -0
  46. package/src/server/adapters/__tests__/status-ops.test.ts +441 -0
  47. package/src/server/adapters/factory.ts +90 -0
  48. package/src/server/adapters/index.ts +9 -0
  49. package/src/server/adapters/linear/adapter.ts +1141 -0
  50. package/src/server/adapters/linear/client.ts +169 -0
  51. package/src/server/adapters/linear/config.ts +152 -0
  52. package/src/server/adapters/linear/helpers/criteria-parser.ts +197 -0
  53. package/src/server/adapters/linear/helpers/index.ts +7 -0
  54. package/src/server/adapters/linear/index.ts +16 -0
  55. package/src/server/adapters/linear/mappers/description.ts +136 -0
  56. package/src/server/adapters/linear/mappers/epic.ts +81 -0
  57. package/src/server/adapters/linear/mappers/index.ts +27 -0
  58. package/src/server/adapters/linear/mappers/prd.ts +178 -0
  59. package/src/server/adapters/linear/mappers/task.ts +82 -0
  60. package/src/server/adapters/linear/types.ts +264 -0
  61. package/src/server/adapters/local-adapter.ts +1009 -0
  62. package/src/server/adapters/types.ts +293 -0
  63. package/src/server/config.ts +73 -0
  64. package/src/server/db/__tests__/queries.test.ts +473 -0
  65. package/src/server/db/ids.ts +17 -0
  66. package/src/server/db/index.ts +69 -0
  67. package/src/server/db/queries.ts +142 -0
  68. package/src/server/db/refs.ts +60 -0
  69. package/src/server/db/schema.ts +97 -0
  70. package/src/server/db/sqlite.ts +10 -0
  71. package/src/server/index.ts +81 -0
  72. package/src/server/tools/__tests__/crud.test.ts +411 -0
  73. package/src/server/tools/__tests__/get-version.test.ts +27 -0
  74. package/src/server/tools/__tests__/mcp-interface.test.ts +479 -0
  75. package/src/server/tools/__tests__/query.test.ts +405 -0
  76. package/src/server/tools/__tests__/z-configure-linear.test.ts +511 -0
  77. package/src/server/tools/__tests__/z-get-linear-url.test.ts +108 -0
  78. package/src/server/tools/configure-linear.ts +373 -0
  79. package/src/server/tools/create-epic.ts +44 -0
  80. package/src/server/tools/create-prd.ts +40 -0
  81. package/src/server/tools/create-task.ts +47 -0
  82. package/src/server/tools/criteria.ts +50 -0
  83. package/src/server/tools/delete-entity.ts +76 -0
  84. package/src/server/tools/dependencies.ts +55 -0
  85. package/src/server/tools/get-entity.ts +240 -0
  86. package/src/server/tools/get-linear-url.ts +28 -0
  87. package/src/server/tools/get-stats.ts +52 -0
  88. package/src/server/tools/get-version.ts +20 -0
  89. package/src/server/tools/index.ts +158 -0
  90. package/src/server/tools/init-project.ts +108 -0
  91. package/src/server/tools/query-entities.ts +167 -0
  92. package/src/server/tools/render-status.ts +219 -0
  93. package/src/server/tools/update-entity.ts +140 -0
  94. package/src/server/tools/update-status.ts +166 -0
  95. package/src/server/utils/__tests__/mcp-response.test.ts +331 -0
  96. package/src/server/utils/logger.ts +9 -0
  97. package/src/server/utils/mcp-response.ts +254 -0
  98. package/src/server/utils/status-transitions.ts +160 -0
  99. package/src/status-line/__tests__/status-line.test.ts +215 -0
  100. package/src/status-line/index.ts +147 -0
  101. package/src/utils/__tests__/chalk-import.test.ts +32 -0
  102. package/src/utils/__tests__/display.test.ts +97 -0
  103. package/src/utils/__tests__/status-renderer.test.ts +310 -0
  104. package/src/utils/display.ts +62 -0
  105. package/src/utils/status-renderer.ts +214 -0
  106. package/src/version.ts +5 -0
  107. package/dist/server/index.js +0 -87063
  108. package/skills/prd-template/SKILL.md +0 -242
package/manifest.json CHANGED
@@ -7,7 +7,8 @@
7
7
  "agent-creator",
8
8
  "epic-template",
9
9
  "flux-orchestrator",
10
- "prd-template"
10
+ "prd-writer",
11
+ "ux-ui-design"
11
12
  ],
12
13
  "agents": ["coder.md", "critic.md", "researcher.md", "verifier.md"],
13
14
  "hooks": []
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cliangdev/flux-plugin",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Claude Code plugin for AI-first workflow orchestration with MCP server",
5
5
  "type": "module",
6
6
  "main": "./dist/server/index.js",
@@ -8,8 +8,8 @@
8
8
  "flux-plugin": "./bin/install.cjs"
9
9
  },
10
10
  "files": [
11
- "bin/",
12
- "dist/",
11
+ "bin/install.cjs",
12
+ "src/",
13
13
  "skills/",
14
14
  "commands/",
15
15
  "agents/",
@@ -17,14 +17,14 @@
17
17
  ],
18
18
  "scripts": {
19
19
  "dev": "bun run src/server/index.ts",
20
- "build": "bun build src/server/index.ts --outdir dist/server --target node --external better-sqlite3",
21
- "postbuild": "node -e \"const fs=require('fs');const f='dist/server/index.js';const c=fs.readFileSync(f,'utf-8');if(!c.startsWith('#!/usr/bin/env node')){fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c)}\"",
22
- "build:compile": "bun build --compile --outfile bin/flux-server src/server/index.ts && bun build --compile --outfile bin/flux-status src/status-line/index.ts",
23
- "build:compile:server": "bun build --compile --outfile bin/flux-server src/server/index.ts",
24
- "build:compile:status": "bun build --compile --outfile bin/flux-status src/status-line/index.ts",
20
+ "build": "bun build --compile --outfile bin/flux-server src/server/index.ts && bun build --compile --outfile bin/flux-status src/status-line/index.ts && bun build --compile --outfile bin/flux-dashboard src/dashboard/server.ts",
21
+ "build:server": "bun build --compile --outfile bin/flux-server src/server/index.ts",
22
+ "build:status": "bun build --compile --outfile bin/flux-status src/status-line/index.ts",
23
+ "build:dashboard": "bun build --compile --outfile bin/flux-dashboard src/dashboard/server.ts",
24
+ "dev:dashboard": "bun run src/dashboard/server.ts",
25
25
  "validate": "node scripts/validate-structure.cjs",
26
26
  "test:integration": "bun test scripts/__tests__/integration.test.ts --timeout 120000",
27
- "prepublishOnly": "bun run validate && bun run build && bun run test:integration",
27
+ "prepublishOnly": "bun run validate && bun run test:integration",
28
28
  "test": "bun test",
29
29
  "test:linear-description": "bun run src/server/adapters/__tests__/linear-description-test.ts",
30
30
  "typecheck": "tsc --noEmit",
@@ -53,14 +53,12 @@
53
53
  "license": "MIT",
54
54
  "devDependencies": {
55
55
  "@biomejs/biome": "^2.3.11",
56
- "@types/better-sqlite3": "^7.6.13",
57
56
  "@types/bun": "^1.3.6",
58
57
  "typescript": "^5.0.0"
59
58
  },
60
59
  "dependencies": {
61
60
  "@linear/sdk": "^70.0.0",
62
61
  "@modelcontextprotocol/sdk": "^1.25.2",
63
- "better-sqlite3": "^12.6.2",
64
62
  "chalk": "^5.4.1",
65
63
  "zod": "^4.3.5"
66
64
  },
@@ -11,11 +11,11 @@ This skill is automatically active when working in a Flux project. It provides c
11
11
  ## Available MCP Tools
12
12
 
13
13
  ### Query Tools
14
- - `get_project_context` - Check if project initialized, get name/vision/adapter type
15
14
  - `get_stats` - Get PRD/epic/task counts by status
16
15
  - `get_entity` - Fetch entity by ref with optional includes (criteria, tasks, dependencies)
17
16
  - `query_entities` - Search entities by type, status, parent ref
18
17
  - `render_status` - Get formatted project status with progress bars
18
+ - `get_version` - Get Flux plugin version
19
19
 
20
20
  ### Mutation Tools
21
21
  - `init_project` - Initialize new .flux/ directory with project.json and database
@@ -39,10 +39,18 @@ This skill is automatically active when working in a Flux project. It provides c
39
39
  |---------|---------|
40
40
  | `/flux` | Project init, status, and workflow routing |
41
41
  | `/flux:linear` | Connect project to Linear (interactive setup) |
42
- | `/flux:prd` | Create or refine PRDs |
42
+ | `/flux:prd` | Create PRDs through discovery, research, and guided writing |
43
43
  | `/flux:breakdown` | Break approved PRD into epics and tasks |
44
44
  | `/flux:implement` | Implement tasks with TDD workflow |
45
45
 
46
+ ## Available Skills
47
+
48
+ | Skill | Purpose | Auto-loaded When |
49
+ |-------|---------|------------------|
50
+ | `flux:prd-writer` | PRD structure, templates, and quality guidelines | Creating or refining PRDs |
51
+ | `flux:epic-template` | Epic/task structure and breakdown patterns | Breaking down PRDs |
52
+ | `flux:agent-creator` | Guide for creating specialized subagents | Building new agents |
53
+
46
54
  ## Workflow States
47
55
 
48
56
  ```
@@ -107,7 +115,7 @@ Format: `{PREFIX}-{TYPE}{NUMBER}`
107
115
 
108
116
  ## Best Practices
109
117
 
110
- 1. **Check context first** - Call `get_project_context` before actions
118
+ 1. **Handle PROJECT_NOT_INITIALIZED** - If any tool returns this error, direct user to run `/flux` to initialize the project
111
119
  2. **Use refs, not IDs** - Tools accept `MSA-E1` format
112
120
  3. **Use render_status** - For visual project overview
113
121
  4. **Validate transitions** - `update_status` enforces valid transitions