@devflow-tools/cli 0.12.5 → 0.12.6

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 (154) hide show
  1. package/package.json +2 -2
  2. package/dist/commands/benchmark-cmd.d.ts +0 -5
  3. package/dist/commands/benchmark-cmd.d.ts.map +0 -1
  4. package/dist/commands/benchmark-cmd.js +0 -18
  5. package/dist/commands/benchmark-cmd.js.map +0 -1
  6. package/dist/commands/connect.d.ts +0 -8
  7. package/dist/commands/connect.d.ts.map +0 -1
  8. package/dist/commands/connect.js +0 -26
  9. package/dist/commands/connect.js.map +0 -1
  10. package/dist/commands/context.d.ts +0 -15
  11. package/dist/commands/context.d.ts.map +0 -1
  12. package/dist/commands/context.js +0 -24
  13. package/dist/commands/context.js.map +0 -1
  14. package/dist/commands/dashboard.d.ts +0 -3
  15. package/dist/commands/dashboard.d.ts.map +0 -1
  16. package/dist/commands/dashboard.js +0 -10
  17. package/dist/commands/dashboard.js.map +0 -1
  18. package/dist/commands/doctor.d.ts +0 -56
  19. package/dist/commands/doctor.d.ts.map +0 -1
  20. package/dist/commands/doctor.js +0 -156
  21. package/dist/commands/doctor.js.map +0 -1
  22. package/dist/commands/graph.d.ts +0 -11
  23. package/dist/commands/graph.d.ts.map +0 -1
  24. package/dist/commands/graph.js +0 -14
  25. package/dist/commands/graph.js.map +0 -1
  26. package/dist/commands/index-cmd.d.ts +0 -4
  27. package/dist/commands/index-cmd.d.ts.map +0 -1
  28. package/dist/commands/index-cmd.js +0 -15
  29. package/dist/commands/index-cmd.js.map +0 -1
  30. package/dist/commands/init.d.ts +0 -20
  31. package/dist/commands/init.d.ts.map +0 -1
  32. package/dist/commands/init.js +0 -145
  33. package/dist/commands/init.js.map +0 -1
  34. package/dist/commands/knowledge.d.ts +0 -5
  35. package/dist/commands/knowledge.d.ts.map +0 -1
  36. package/dist/commands/knowledge.js +0 -23
  37. package/dist/commands/knowledge.js.map +0 -1
  38. package/dist/commands/memory.d.ts +0 -5
  39. package/dist/commands/memory.d.ts.map +0 -1
  40. package/dist/commands/memory.js +0 -72
  41. package/dist/commands/memory.js.map +0 -1
  42. package/dist/commands/plugin/install.d.ts +0 -3
  43. package/dist/commands/plugin/install.d.ts.map +0 -1
  44. package/dist/commands/plugin/install.js +0 -22
  45. package/dist/commands/plugin/install.js.map +0 -1
  46. package/dist/commands/plugin/list.d.ts +0 -3
  47. package/dist/commands/plugin/list.d.ts.map +0 -1
  48. package/dist/commands/plugin/list.js +0 -47
  49. package/dist/commands/plugin/list.js.map +0 -1
  50. package/dist/commands/plugin/search.d.ts +0 -3
  51. package/dist/commands/plugin/search.d.ts.map +0 -1
  52. package/dist/commands/plugin/search.js +0 -29
  53. package/dist/commands/plugin/search.js.map +0 -1
  54. package/dist/commands/plugin/uninstall.d.ts +0 -3
  55. package/dist/commands/plugin/uninstall.d.ts.map +0 -1
  56. package/dist/commands/plugin/uninstall.js +0 -21
  57. package/dist/commands/plugin/uninstall.js.map +0 -1
  58. package/dist/commands/plugin-guide.d.ts +0 -19
  59. package/dist/commands/plugin-guide.d.ts.map +0 -1
  60. package/dist/commands/plugin-guide.js +0 -131
  61. package/dist/commands/plugin-guide.js.map +0 -1
  62. package/dist/commands/plugin-loader.d.ts +0 -2
  63. package/dist/commands/plugin-loader.d.ts.map +0 -1
  64. package/dist/commands/plugin-loader.js +0 -2
  65. package/dist/commands/plugin-loader.js.map +0 -1
  66. package/dist/commands/review.d.ts +0 -6
  67. package/dist/commands/review.d.ts.map +0 -1
  68. package/dist/commands/review.js +0 -75
  69. package/dist/commands/review.js.map +0 -1
  70. package/dist/commands/server.d.ts +0 -16
  71. package/dist/commands/server.d.ts.map +0 -1
  72. package/dist/commands/server.js +0 -88
  73. package/dist/commands/server.js.map +0 -1
  74. package/dist/commands/session.d.ts +0 -7
  75. package/dist/commands/session.d.ts.map +0 -1
  76. package/dist/commands/session.js +0 -20
  77. package/dist/commands/session.js.map +0 -1
  78. package/dist/commands/setup.d.ts +0 -6
  79. package/dist/commands/setup.d.ts.map +0 -1
  80. package/dist/commands/setup.js +0 -78
  81. package/dist/commands/setup.js.map +0 -1
  82. package/dist/commands/skill.d.ts +0 -18
  83. package/dist/commands/skill.d.ts.map +0 -1
  84. package/dist/commands/skill.js +0 -105
  85. package/dist/commands/skill.js.map +0 -1
  86. package/dist/commands/start.d.ts +0 -5
  87. package/dist/commands/start.d.ts.map +0 -1
  88. package/dist/commands/start.js +0 -58
  89. package/dist/commands/start.js.map +0 -1
  90. package/dist/commands/status.d.ts +0 -2
  91. package/dist/commands/status.d.ts.map +0 -1
  92. package/dist/commands/status.js +0 -33
  93. package/dist/commands/status.js.map +0 -1
  94. package/dist/commands/stop.d.ts +0 -2
  95. package/dist/commands/stop.d.ts.map +0 -1
  96. package/dist/commands/stop.js +0 -12
  97. package/dist/commands/stop.js.map +0 -1
  98. package/dist/commands/workflow.d.ts +0 -6
  99. package/dist/commands/workflow.d.ts.map +0 -1
  100. package/dist/commands/workflow.js +0 -24
  101. package/dist/commands/workflow.js.map +0 -1
  102. package/dist/index.d.ts +0 -3
  103. package/dist/index.d.ts.map +0 -1
  104. package/dist/index.js +0 -606
  105. package/dist/index.js.map +0 -1
  106. package/dist/lib/dashboard-cache.d.ts +0 -3
  107. package/dist/lib/dashboard-cache.d.ts.map +0 -1
  108. package/dist/lib/dashboard-cache.js +0 -97
  109. package/dist/lib/dashboard-cache.js.map +0 -1
  110. package/dist/lib/paths.d.ts +0 -1
  111. package/dist/lib/paths.d.ts.map +0 -1
  112. package/dist/lib/paths.js +0 -4
  113. package/dist/lib/paths.js.map +0 -1
  114. package/dist/lib/plugin-registry.d.ts +0 -18
  115. package/dist/lib/plugin-registry.d.ts.map +0 -1
  116. package/dist/lib/plugin-registry.js +0 -39
  117. package/dist/lib/plugin-registry.js.map +0 -1
  118. package/dist/lib/plugin-setup.d.ts +0 -23
  119. package/dist/lib/plugin-setup.d.ts.map +0 -1
  120. package/dist/lib/plugin-setup.js +0 -141
  121. package/dist/lib/plugin-setup.js.map +0 -1
  122. package/dist/lib/with-server.d.ts +0 -7
  123. package/dist/lib/with-server.d.ts.map +0 -1
  124. package/dist/lib/with-server.js +0 -28
  125. package/dist/lib/with-server.js.map +0 -1
  126. package/dist/mode.d.ts +0 -10
  127. package/dist/mode.d.ts.map +0 -1
  128. package/dist/mode.js +0 -40
  129. package/dist/mode.js.map +0 -1
  130. package/dist/plugin-files/.claude-plugin/plugin.json +0 -20
  131. package/dist/plugin-files/CLAUDE.md +0 -34
  132. package/dist/plugin-files/dist/command-registry.json +0 -235
  133. package/dist/plugin-files/dist/skills/devflow:context/SKILL.md +0 -49
  134. package/dist/plugin-files/dist/skills/devflow:docker/SKILL.md +0 -67
  135. package/dist/plugin-files/dist/skills/devflow:electron/SKILL.md +0 -67
  136. package/dist/plugin-files/dist/skills/devflow:graph/SKILL.md +0 -42
  137. package/dist/plugin-files/dist/skills/devflow:graphql/SKILL.md +0 -68
  138. package/dist/plugin-files/dist/skills/devflow:knowledge/SKILL.md +0 -42
  139. package/dist/plugin-files/dist/skills/devflow:memory/SKILL.md +0 -41
  140. package/dist/plugin-files/dist/skills/devflow:nest/SKILL.md +0 -68
  141. package/dist/plugin-files/dist/skills/devflow:nextjs/SKILL.md +0 -65
  142. package/dist/plugin-files/dist/skills/devflow:performance/SKILL.md +0 -67
  143. package/dist/plugin-files/dist/skills/devflow:react/SKILL.md +0 -85
  144. package/dist/plugin-files/dist/skills/devflow:tailwind/SKILL.md +0 -63
  145. package/dist/plugin-files/dist/skills/devflow:taro/SKILL.md +0 -66
  146. package/dist/plugin-files/dist/skills/devflow:vue/SKILL.md +0 -74
  147. package/dist/plugin-files/dist/skills/devflow:workflow/SKILL.md +0 -42
  148. package/dist/plugin-files/hooks/constitution.md +0 -20
  149. package/dist/plugin-files/hooks/post-tool-use +0 -16
  150. package/dist/plugin-files/hooks/pre-tool-use +0 -23
  151. package/dist/plugin-files/hooks/session-start +0 -165
  152. package/dist/plugin-files/hooks/stop +0 -32
  153. package/dist/plugin-files/hooks.json +0 -52
  154. package/dist/plugin-files/package.json +0 -31
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { KnowledgeEntry, KnowledgeSourceStatus, SyncResult } from "@devflow-tools/sdk";
2
- export declare function searchKnowledge(query: string, scope?: string, skipServer?: boolean): Promise<KnowledgeEntry[]>;
3
- export declare function getDocsStatus(skipServer?: boolean): Promise<KnowledgeSourceStatus[]>;
4
- export declare function syncDocs(pluginName?: string, skipServer?: boolean): Promise<SyncResult[]>;
5
- //# sourceMappingURL=knowledge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE5F,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,cAAc,EAAE,CAAC,CAY3B;AAED,wBAAsB,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAU1F;AAED,wBAAsB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAU/F"}
@@ -1,23 +0,0 @@
1
- import { withServer } from "../lib/with-server.js";
2
- import { KnowledgeEngine } from "@devflow-tools/knowledge-engine";
3
- export async function searchKnowledge(query, scope, skipServer) {
4
- return withServer(process.cwd(), (client) => client.searchKnowledge(query, scope), () => {
5
- const engine = new KnowledgeEngine({ projectRoot: process.cwd() });
6
- return engine.search(query, {
7
- sources: scope && scope !== "all" ? [scope] : undefined,
8
- });
9
- }, { skipServer });
10
- }
11
- export async function getDocsStatus(skipServer) {
12
- return withServer(process.cwd(), (client) => client.getKnowledgeSources(), () => {
13
- const engine = new KnowledgeEngine({ projectRoot: process.cwd() });
14
- return engine.getSources();
15
- }, { skipServer });
16
- }
17
- export async function syncDocs(pluginName, skipServer) {
18
- return withServer(process.cwd(), (client) => client.syncDocs(pluginName), () => {
19
- const engine = new KnowledgeEngine({ projectRoot: process.cwd() });
20
- return engine.syncDocs(pluginName);
21
- }, { skipServer });
22
- }
23
- //# sourceMappingURL=knowledge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,KAAc,EACd,UAAoB;IAEpB,OAAO,UAAU,CACf,OAAO,CAAC,GAAG,EAAE,EACb,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAyC,EACxF,GAAG,EAAE;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YAC1B,OAAO,EAAE,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SACxD,CAAC,CAAC;IACL,CAAC,EACD,EAAE,UAAU,EAAE,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAoB;IACtD,OAAO,UAAU,CACf,OAAO,CAAC,GAAG,EAAE,EACb,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAiD,EACvF,GAAG,EAAE;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC,EACD,EAAE,UAAU,EAAE,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAmB,EAAE,UAAoB;IACtE,OAAO,UAAU,CACf,OAAO,CAAC,GAAG,EAAE,EACb,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAqC,EAC3E,GAAG,EAAE;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC,EACD,EAAE,UAAU,EAAE,CACf,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare function showMemory(skipServer?: boolean): Promise<unknown>;
2
- export declare function setMemory(key: string, value: string, skipServer?: boolean): Promise<void>;
3
- export declare function reviewCandidates(skipServer?: boolean): Promise<unknown>;
4
- export declare function reviewMemories(): Promise<void>;
5
- //# sourceMappingURL=memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAUvE;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED,wBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAU7E;AAYD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDpD"}
@@ -1,72 +0,0 @@
1
- import { withServer } from "../lib/with-server.js";
2
- import { createEngines } from "@devflow-tools/context-engine";
3
- import readline from "node:readline";
4
- export async function showMemory(skipServer) {
5
- return withServer(process.cwd(), (client) => client.getMemory(), async () => {
6
- const { memory } = await createEngines(process.cwd());
7
- return memory.getAll();
8
- }, { skipServer });
9
- }
10
- export async function setMemory(key, value, skipServer) {
11
- return withServer(process.cwd(), async (client) => { await client.setMemory("project", key, value); }, async () => {
12
- const { memory } = await createEngines(process.cwd());
13
- await memory.updateUserPreference(key, value);
14
- }, { skipServer });
15
- }
16
- export async function reviewCandidates(skipServer) {
17
- return withServer(process.cwd(), (client) => client.reviewCandidates(), async () => {
18
- const { memory } = await createEngines(process.cwd());
19
- return memory.getCandidates();
20
- }, { skipServer });
21
- }
22
- function promptUser(question) {
23
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
24
- return new Promise(resolve => {
25
- rl.question(question, (answer) => {
26
- rl.close();
27
- resolve(answer.trim().toLowerCase());
28
- });
29
- });
30
- }
31
- export async function reviewMemories() {
32
- const result = await withServer(process.cwd(), async (client) => {
33
- const data = await client.getMemory();
34
- return data.memories?.filter((m) => m.status === 'pending') ?? [];
35
- }, async () => {
36
- const { memory } = await createEngines(process.cwd());
37
- return memory.getPendingMemories();
38
- }, { skipServer: false });
39
- const pending = result;
40
- if (pending.length === 0) {
41
- console.log('No pending memories to review.');
42
- return;
43
- }
44
- const sorted = [...pending].sort((a, b) => {
45
- if (a.category === 'failure_lesson' && b.category !== 'failure_lesson')
46
- return -1;
47
- if (b.category === 'failure_lesson' && a.category !== 'failure_lesson')
48
- return 1;
49
- return 0;
50
- });
51
- let reviewed = 0;
52
- for (const mem of sorted) {
53
- console.log(`\n[${mem.category}] (confidence: ${(mem.confidence * 100).toFixed(0)}%)`);
54
- console.log(` ${mem.content}`);
55
- const answer = await promptUser(' Approve? [y]es / [n]o / [s]kip: ');
56
- if (answer === 'y') {
57
- await withServer(process.cwd(), async (client) => { await client.approveMemory(mem.id); }, async () => { }, { skipServer: false });
58
- console.log(' Approved');
59
- reviewed++;
60
- }
61
- else if (answer === 'n') {
62
- await withServer(process.cwd(), async (client) => { await client.rejectMemory(mem.id); }, async () => { }, { skipServer: false });
63
- console.log(' Rejected');
64
- reviewed++;
65
- }
66
- else {
67
- console.log(' -> Skipped');
68
- }
69
- }
70
- console.log(`\nReviewed ${reviewed}/${pending.length} pending memories.`);
71
- }
72
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const pluginInstallCommand: Command;
3
- //# sourceMappingURL=install.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,oBAAoB,SAkB7B,CAAC"}
@@ -1,22 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import { execSync } from 'child_process';
4
- export const pluginInstallCommand = new Command('install')
5
- .description('Install a plugin')
6
- .argument('<name>', 'Plugin name (with or without @devflow-tools/ prefix)')
7
- .action(async (name) => {
8
- const fullName = name.startsWith('@devflow-tools/')
9
- ? name
10
- : `@devflow-tools/${name}`;
11
- console.log(`Installing ${fullName}...`);
12
- try {
13
- execSync(`npm install -g ${fullName}`, { stdio: 'inherit' });
14
- console.log(`\n${chalk.green('✓')} ${fullName} installed successfully`);
15
- console.log(`\nRun "devflow plugin list --installed" to verify.`);
16
- }
17
- catch (error) {
18
- console.error(`\n${chalk.red('✗')} Installation failed: ${error.message}`);
19
- process.exit(1);
20
- }
21
- });
22
- //# sourceMappingURL=install.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/plugin/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACvD,WAAW,CAAC,kBAAkB,CAAC;KAC/B,QAAQ,CAAC,QAAQ,EAAE,sDAAsD,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACjD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,KAAK,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,QAAQ,CAAC,kBAAkB,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,yBAAyB,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const pluginListCommand: Command;
3
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,iBAAiB,SA8C1B,CAAC"}
@@ -1,47 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import { loadPluginRegistry, getInstalledPlugins } from '../../lib/plugin-registry.js';
4
- export const pluginListCommand = new Command('list')
5
- .description('List available plugins')
6
- .option('-i, --installed', 'Show only installed plugins')
7
- .action(async (options) => {
8
- const registry = loadPluginRegistry();
9
- if (options.installed) {
10
- const installed = getInstalledPlugins();
11
- if (installed.length === 0) {
12
- console.log('No plugins installed.');
13
- console.log('\nRun "devflow plugin list" to see available plugins.');
14
- return;
15
- }
16
- console.log('Installed plugins:\n');
17
- installed.forEach(name => {
18
- const plugin = registry.plugins.find(p => p.name === name);
19
- if (plugin) {
20
- console.log(` ${chalk.green(plugin.name)}@${plugin.version}`);
21
- console.log(` ${plugin.description}`);
22
- }
23
- else {
24
- console.log(` ${chalk.green(name)}`);
25
- }
26
- });
27
- }
28
- else {
29
- if (registry.plugins.length === 0) {
30
- console.log('No plugins available.');
31
- return;
32
- }
33
- console.log(`Available plugins (${registry.plugins.length}):\n`);
34
- const maxNameLen = Math.max(...registry.plugins.map(p => p.name.length));
35
- registry.plugins.forEach(plugin => {
36
- const padding = ' '.repeat(maxNameLen - plugin.name.length + 2);
37
- console.log(` ${chalk.green(plugin.name)}${padding}v${plugin.version}`);
38
- console.log(` ${' '.repeat(maxNameLen)}${plugin.description.substring(0, 60)}`);
39
- if (plugin.tags.length > 0) {
40
- console.log(` ${' '.repeat(maxNameLen)}Tags: ${plugin.tags.join(', ')}`);
41
- }
42
- console.log('');
43
- });
44
- console.log(`\nInstall a plugin: devflow plugin install <name>`);
45
- }
46
- });
47
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/plugin/list.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const pluginSearchCommand: Command;
3
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,mBAAmB,SA8B5B,CAAC"}
@@ -1,29 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import { loadPluginRegistry } from '../../lib/plugin-registry.js';
4
- export const pluginSearchCommand = new Command('search')
5
- .description('Search for plugins')
6
- .argument('<keyword>', 'Search keyword')
7
- .action(async (keyword) => {
8
- const registry = loadPluginRegistry();
9
- const keywordLower = keyword.toLowerCase();
10
- const matches = registry.plugins.filter(p => p.name.toLowerCase().includes(keywordLower) ||
11
- p.description.toLowerCase().includes(keywordLower) ||
12
- p.tags.some(t => t.toLowerCase().includes(keywordLower)));
13
- if (matches.length === 0) {
14
- console.log(`No plugins found matching "${keyword}"`);
15
- console.log('\nTry: devflow plugin list');
16
- return;
17
- }
18
- console.log(`Found ${matches.length} plugin(s) matching "${keyword}":\n`);
19
- matches.forEach(plugin => {
20
- console.log(` ${chalk.green(plugin.name)}@${plugin.version}`);
21
- console.log(` ${plugin.description}`);
22
- if (plugin.tags.length > 0) {
23
- console.log(` Tags: ${plugin.tags.join(', ')}`);
24
- }
25
- console.log(` Size: ${plugin.size}`);
26
- console.log('');
27
- });
28
- });
29
- //# sourceMappingURL=search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/plugin/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACrD,WAAW,CAAC,oBAAoB,CAAC;KACjC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;KACvC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAChC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IAEtC,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3C,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAClD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CACzD,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,8BAA8B,OAAO,GAAG,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,wBAAwB,OAAO,MAAM,CAAC,CAAC;IAE1E,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const pluginUninstallCommand: Command;
3
- //# sourceMappingURL=uninstall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/plugin/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,sBAAsB,SAiB/B,CAAC"}
@@ -1,21 +0,0 @@
1
- import { Command } from 'commander';
2
- import chalk from 'chalk';
3
- import { execSync } from 'child_process';
4
- export const pluginUninstallCommand = new Command('uninstall')
5
- .description('Uninstall a plugin')
6
- .argument('<name>', 'Plugin name (with or without @devflow-tools/ prefix)')
7
- .action(async (name) => {
8
- const fullName = name.startsWith('@devflow-tools/')
9
- ? name
10
- : `@devflow-tools/${name}`;
11
- console.log(`Uninstalling ${fullName}...`);
12
- try {
13
- execSync(`npm uninstall -g ${fullName}`, { stdio: 'inherit' });
14
- console.log(`\n${chalk.green('✓')} ${fullName} uninstalled successfully`);
15
- }
16
- catch (error) {
17
- console.error(`\n${chalk.red('✗')} Uninstallation failed: ${error.message}`);
18
- process.exit(1);
19
- }
20
- });
21
- //# sourceMappingURL=uninstall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/commands/plugin/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;KAC3D,WAAW,CAAC,oBAAoB,CAAC;KACjC,QAAQ,CAAC,QAAQ,EAAE,sDAAsD,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACjD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,KAAK,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,QAAQ,CAAC,oBAAoB,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,QAAQ,2BAA2B,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Detect project tech stack by inspecting package.json dependencies.
3
- */
4
- export declare function detectTechStack(projectRoot: string): string[];
5
- /**
6
- * Resolve a user-supplied plugin name to a fully-qualified package name.
7
- */
8
- export declare function resolvePluginName(name: string): string;
9
- /**
10
- * Non-interactive plugin installation from a comma-separated list.
11
- */
12
- export declare function installPluginsFromList(names: string): Promise<void>;
13
- /**
14
- * Interactive plugin installation guide.
15
- * Detects project tech stack, recommends compatible plugins, and lets the user
16
- * select which ones to install via a checkbox prompt.
17
- */
18
- export declare function guidePluginInstallation(projectRoot: string): Promise<string[]>;
19
- //# sourceMappingURL=plugin-guide.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-guide.d.ts","sourceRoot":"","sources":["../../src/commands/plugin-guide.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAiB7D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAazE;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyEpF"}
@@ -1,131 +0,0 @@
1
- import { readFileSync } from "fs";
2
- import { join } from "path";
3
- import { execSync } from "child_process";
4
- import { checkbox } from "@inquirer/prompts";
5
- import { loadPluginRegistry } from "../lib/plugin-registry.js";
6
- /**
7
- * Detect project tech stack by inspecting package.json dependencies.
8
- */
9
- export function detectTechStack(projectRoot) {
10
- const detected = [];
11
- try {
12
- const pkg = JSON.parse(readFileSync(join(projectRoot, "package.json"), "utf-8"));
13
- const allDeps = { ...(pkg.dependencies ?? {}), ...(pkg.devDependencies ?? {}) };
14
- if (allDeps.react)
15
- detected.push("react");
16
- if (allDeps.next)
17
- detected.push("nextjs");
18
- if (allDeps.vue)
19
- detected.push("vue");
20
- if (allDeps.tailwindcss)
21
- detected.push("tailwind");
22
- if (allDeps.nest || allDeps["@nestjs/core"])
23
- detected.push("nest");
24
- if (allDeps.express)
25
- detected.push("express");
26
- if (allDeps.typescript)
27
- detected.push("typescript");
28
- }
29
- catch {
30
- // ignore — package.json may not exist
31
- }
32
- return detected;
33
- }
34
- /**
35
- * Resolve a user-supplied plugin name to a fully-qualified package name.
36
- */
37
- export function resolvePluginName(name) {
38
- const trimmed = name.trim();
39
- return trimmed.startsWith("@devflow-tools/") ? trimmed : `@devflow-tools/${trimmed}`;
40
- }
41
- /**
42
- * Non-interactive plugin installation from a comma-separated list.
43
- */
44
- export async function installPluginsFromList(names) {
45
- const plugins = names.split(",").map(resolvePluginName).filter(Boolean);
46
- if (plugins.length === 0)
47
- return;
48
- for (const plugin of plugins) {
49
- console.log(`Installing ${plugin}...`);
50
- try {
51
- execSync(`npm install -g ${plugin}`, { stdio: "inherit" });
52
- console.log(`✓ ${plugin}`);
53
- }
54
- catch {
55
- console.error(`✗ Failed to install ${plugin}`);
56
- }
57
- }
58
- }
59
- /**
60
- * Interactive plugin installation guide.
61
- * Detects project tech stack, recommends compatible plugins, and lets the user
62
- * select which ones to install via a checkbox prompt.
63
- */
64
- export async function guidePluginInstallation(projectRoot) {
65
- const registry = loadPluginRegistry();
66
- if (registry.plugins.length === 0) {
67
- console.log("\nNo plugins available. You can install plugins later with:");
68
- console.log(" devflow plugin list");
69
- console.log(" devflow plugin install <name>\n");
70
- return [];
71
- }
72
- console.log("\n🔌 Plugin Installation Guide\n");
73
- const detectedStack = detectTechStack(projectRoot);
74
- if (detectedStack.length > 0) {
75
- console.log(`Detected tech stack: ${detectedStack.join(", ")}\n`);
76
- }
77
- const recommended = new Set(registry.plugins
78
- .filter((p) => p.compatibleStacks.some((s) => detectedStack.includes(s)))
79
- .map((p) => p.name));
80
- // Non-TTY: skip interactive prompt and return recommended defaults
81
- if (!process.stdout.isTTY) {
82
- console.log("Non-interactive terminal detected. Installing recommended plugins...\n");
83
- const defaults = [...recommended];
84
- for (const plugin of defaults) {
85
- try {
86
- execSync(`npm install -g ${plugin}`, { stdio: "inherit" });
87
- console.log(`✓ ${plugin}`);
88
- }
89
- catch {
90
- console.error(`✗ Failed to install ${plugin}`);
91
- }
92
- }
93
- return defaults;
94
- }
95
- const choices = registry.plugins.map((p) => ({
96
- name: `${p.name.replace("@devflow-tools/", "")} - ${p.description.substring(0, 50)}`,
97
- value: p.name,
98
- checked: recommended.has(p.name),
99
- }));
100
- let selected;
101
- try {
102
- selected = await checkbox({
103
- message: "Select plugins to install (space to select, enter to confirm):",
104
- choices,
105
- });
106
- }
107
- catch {
108
- // User cancelled (Ctrl+C)
109
- console.log("\nPlugin installation cancelled.\n");
110
- return [];
111
- }
112
- if (selected.length > 0) {
113
- console.log("\nInstalling selected plugins...\n");
114
- for (const plugin of selected) {
115
- try {
116
- execSync(`npm install -g ${plugin}`, { stdio: "inherit" });
117
- console.log(`✓ ${plugin}\n`);
118
- }
119
- catch {
120
- console.error(`✗ Failed to install ${plugin}\n`);
121
- }
122
- }
123
- }
124
- else {
125
- console.log("\nSkipping plugin installation. You can install plugins later with:");
126
- console.log(" devflow plugin list");
127
- console.log(" devflow plugin install <name>\n");
128
- }
129
- return selected;
130
- }
131
- //# sourceMappingURL=plugin-guide.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-guide.js","sourceRoot":"","sources":["../../src/commands/plugin-guide.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export { loadPlugins, loadPluginsSync, clearPluginCache, getPluginsDir, KNOWN_PLUGINS, } from "@devflow-tools/sdk";
2
- //# sourceMappingURL=plugin-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/commands/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { loadPlugins, loadPluginsSync, clearPluginCache, getPluginsDir, KNOWN_PLUGINS, } from "@devflow-tools/sdk";
2
- //# sourceMappingURL=plugin-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-loader.js","sourceRoot":"","sources":["../../src/commands/plugin-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,GACd,MAAM,oBAAoB,CAAC"}
@@ -1,6 +0,0 @@
1
- export interface ReviewOptions {
2
- prUrl?: string;
3
- agent?: string;
4
- }
5
- export declare function runReview(opts: ReviewOptions): Promise<string>;
6
- //# sourceMappingURL=review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CA0EpE"}
@@ -1,75 +0,0 @@
1
- import { execSync } from "child_process";
2
- import chalk from "chalk";
3
- export async function runReview(opts) {
4
- let diff;
5
- let prLabel;
6
- if (opts.prUrl) {
7
- const prMatch = opts.prUrl.match(/pull\/(\d+)/);
8
- const prNum = prMatch ? `#${prMatch[1]}` : opts.prUrl;
9
- prLabel = `PR: ${prNum}`;
10
- try {
11
- diff = execSync(`gh pr diff ${opts.prUrl}`, { encoding: "utf-8", maxBuffer: 10 * 1024 * 1024 });
12
- }
13
- catch {
14
- diff = `Could not fetch PR diff from ${opts.prUrl}. Ensure 'gh' CLI is installed and authenticated.`;
15
- }
16
- }
17
- else {
18
- prLabel = "Current branch vs main";
19
- try {
20
- diff = execSync("git diff main...HEAD", { encoding: "utf-8", maxBuffer: 10 * 1024 * 1024 });
21
- }
22
- catch {
23
- diff = "Could not compute diff. Ensure you're on a feature branch.";
24
- }
25
- }
26
- const filesChanged = (diff.match(/^diff --git/gm) ?? []).length;
27
- const linesAdded = (diff.match(/^\+[^+]/gm) ?? []).length;
28
- const linesRemoved = (diff.match(/^-[^-]/gm) ?? []).length;
29
- // Simple rule-based checks (v1 — no LLM)
30
- const issues = [];
31
- const warnings = [];
32
- const suggestions = [];
33
- if (diff.includes("console.log")) {
34
- warnings.push("Contains console.log statements — remove before merge");
35
- }
36
- if (diff.includes(".only(") || diff.includes("it.only")) {
37
- issues.push("Contains .only() test filters — remove before merge");
38
- }
39
- if (diff.includes("TODO") || diff.includes("FIXME")) {
40
- warnings.push("Contains TODO/FIXME comments — track or resolve");
41
- }
42
- if (diff.match(/^\+.*TODO/gm) || diff.match(/^\+.*FIXME/gm)) {
43
- warnings.push("New code introduces TODO/FIXME comments");
44
- }
45
- if (diff.includes("process.exit")) {
46
- warnings.push("Contains process.exit() — consider throwing instead");
47
- }
48
- if (diff.includes(": any") && diff.match(/^\+.*: any/gm)) {
49
- suggestions.push("New code uses `any` type — use explicit types instead");
50
- }
51
- const lines = [
52
- chalk.blue("◉ Code Review"),
53
- "───────────────────────────────",
54
- prLabel,
55
- `Files changed: ${filesChanged}`,
56
- `+${linesAdded} / -${linesRemoved}`,
57
- "",
58
- issues.length > 0 ? chalk.red(`Critical (${issues.length})`) : "",
59
- ...issues.map(i => ` ${chalk.red("●")} ${i}`),
60
- "",
61
- warnings.length > 0 ? chalk.yellow(`Warning (${warnings.length})`) : "",
62
- ...warnings.map(w => ` ${chalk.yellow("○")} ${w}`),
63
- "",
64
- suggestions.length > 0 ? chalk.green(`Suggestion (${suggestions.length})`) : "",
65
- ...suggestions.map(s => ` ${chalk.green("○")} ${s}`),
66
- "",
67
- issues.length > 0
68
- ? chalk.red("Overall: Need changes")
69
- : warnings.length > 0
70
- ? chalk.yellow("Overall: Approve with comments")
71
- : chalk.green("Overall: LGTM"),
72
- ].join("\n");
73
- return lines;
74
- }
75
- //# sourceMappingURL=review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/commands/review.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export declare const DEFAULT_SERVER_PORT = 13337;
2
- declare function readPort(pidFile: string): number | null;
3
- declare function readPid(pidFile: string): number | null;
4
- export { readPort as readPortFromFile, readPid as readPidFromFile };
5
- export declare function startServer(opts: {
6
- port: number;
7
- }): Promise<{
8
- pid: number;
9
- }>;
10
- export declare function stopServer(): Promise<boolean>;
11
- export declare function serverStatus(): Promise<{
12
- running: boolean;
13
- pid?: number;
14
- port?: number;
15
- }>;
16
- //# sourceMappingURL=server.d.ts.map