thatgfsj-code 0.6.0 → 0.7.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 (149) hide show
  1. package/dist/app/index.d.ts +2 -0
  2. package/dist/app/index.d.ts.map +1 -1
  3. package/dist/app/index.js +10 -5
  4. package/dist/app/index.js.map +1 -1
  5. package/dist/cmd/index.js +1 -1
  6. package/dist/prompts/index.d.ts +2 -0
  7. package/dist/prompts/index.d.ts.map +1 -1
  8. package/dist/prompts/index.js +7 -0
  9. package/dist/prompts/index.js.map +1 -1
  10. package/dist/skills/brainstorming.d.ts +3 -0
  11. package/dist/skills/brainstorming.d.ts.map +1 -0
  12. package/dist/skills/brainstorming.js +42 -0
  13. package/dist/skills/brainstorming.js.map +1 -0
  14. package/dist/skills/code-review.d.ts +3 -0
  15. package/dist/skills/code-review.d.ts.map +1 -0
  16. package/dist/skills/code-review.js +44 -0
  17. package/dist/skills/code-review.js.map +1 -0
  18. package/dist/skills/executing-plans.d.ts +3 -0
  19. package/dist/skills/executing-plans.d.ts.map +1 -0
  20. package/dist/skills/executing-plans.js +26 -0
  21. package/dist/skills/executing-plans.js.map +1 -0
  22. package/dist/skills/frontend-design.d.ts +3 -0
  23. package/dist/skills/frontend-design.d.ts.map +1 -0
  24. package/dist/skills/frontend-design.js +34 -0
  25. package/dist/skills/frontend-design.js.map +1 -0
  26. package/dist/skills/git-workflow.d.ts +3 -0
  27. package/dist/skills/git-workflow.d.ts.map +1 -0
  28. package/dist/skills/git-workflow.js +35 -0
  29. package/dist/skills/git-workflow.js.map +1 -0
  30. package/dist/skills/improve-architecture.d.ts +3 -0
  31. package/dist/skills/improve-architecture.d.ts.map +1 -0
  32. package/dist/skills/improve-architecture.js +37 -0
  33. package/dist/skills/improve-architecture.js.map +1 -0
  34. package/dist/skills/index.d.ts +50 -0
  35. package/dist/skills/index.d.ts.map +1 -0
  36. package/dist/skills/index.js +98 -0
  37. package/dist/skills/index.js.map +1 -0
  38. package/dist/skills/neuroweave.d.ts +3 -0
  39. package/dist/skills/neuroweave.d.ts.map +1 -0
  40. package/dist/skills/neuroweave.js +46 -0
  41. package/dist/skills/neuroweave.js.map +1 -0
  42. package/dist/skills/playwright.d.ts +3 -0
  43. package/dist/skills/playwright.d.ts.map +1 -0
  44. package/dist/skills/playwright.js +71 -0
  45. package/dist/skills/playwright.js.map +1 -0
  46. package/dist/skills/prototype.d.ts +3 -0
  47. package/dist/skills/prototype.d.ts.map +1 -0
  48. package/dist/skills/prototype.js +29 -0
  49. package/dist/skills/prototype.js.map +1 -0
  50. package/dist/skills/subagent.d.ts +3 -0
  51. package/dist/skills/subagent.d.ts.map +1 -0
  52. package/dist/skills/subagent.js +27 -0
  53. package/dist/skills/subagent.js.map +1 -0
  54. package/dist/skills/supabase.d.ts +3 -0
  55. package/dist/skills/supabase.d.ts.map +1 -0
  56. package/dist/skills/supabase.js +43 -0
  57. package/dist/skills/supabase.js.map +1 -0
  58. package/dist/skills/systematic-debugging.d.ts +3 -0
  59. package/dist/skills/systematic-debugging.d.ts.map +1 -0
  60. package/dist/skills/systematic-debugging.js +43 -0
  61. package/dist/skills/systematic-debugging.js.map +1 -0
  62. package/dist/skills/tdd.d.ts +3 -0
  63. package/dist/skills/tdd.d.ts.map +1 -0
  64. package/dist/skills/tdd.js +38 -0
  65. package/dist/skills/tdd.js.map +1 -0
  66. package/dist/skills/triage.d.ts +3 -0
  67. package/dist/skills/triage.d.ts.map +1 -0
  68. package/dist/skills/triage.js +34 -0
  69. package/dist/skills/triage.js.map +1 -0
  70. package/dist/skills/verification.d.ts +3 -0
  71. package/dist/skills/verification.d.ts.map +1 -0
  72. package/dist/skills/verification.js +30 -0
  73. package/dist/skills/verification.js.map +1 -0
  74. package/dist/skills/writing-plans.d.ts +3 -0
  75. package/dist/skills/writing-plans.d.ts.map +1 -0
  76. package/dist/skills/writing-plans.js +41 -0
  77. package/dist/skills/writing-plans.js.map +1 -0
  78. package/dist/tools/index.d.ts +1 -0
  79. package/dist/tools/index.d.ts.map +1 -1
  80. package/dist/tools/index.js +3 -0
  81. package/dist/tools/index.js.map +1 -1
  82. package/dist/tools/nwt.d.ts +70 -0
  83. package/dist/tools/nwt.d.ts.map +1 -0
  84. package/dist/tools/nwt.js +289 -0
  85. package/dist/tools/nwt.js.map +1 -0
  86. package/dist/tui/app.d.ts.map +1 -1
  87. package/dist/tui/app.js +6 -6
  88. package/dist/tui/app.js.map +1 -1
  89. package/dist/tui/components/ChatList.d.ts +4 -5
  90. package/dist/tui/components/ChatList.d.ts.map +1 -1
  91. package/dist/tui/components/ChatList.js +6 -4
  92. package/dist/tui/components/ChatList.js.map +1 -1
  93. package/dist/tui/components/ChatMessage.d.ts +2 -1
  94. package/dist/tui/components/ChatMessage.d.ts.map +1 -1
  95. package/dist/tui/components/ChatMessage.js +10 -8
  96. package/dist/tui/components/ChatMessage.js.map +1 -1
  97. package/dist/tui/components/Header.d.ts +1 -1
  98. package/dist/tui/components/Header.d.ts.map +1 -1
  99. package/dist/tui/components/Header.js +5 -3
  100. package/dist/tui/components/Header.js.map +1 -1
  101. package/dist/tui/components/StatusBar.d.ts +9 -0
  102. package/dist/tui/components/StatusBar.d.ts.map +1 -0
  103. package/dist/tui/components/StatusBar.js +10 -0
  104. package/dist/tui/components/StatusBar.js.map +1 -0
  105. package/dist/tui/components/Thinking.js +1 -1
  106. package/dist/tui/components/Thinking.js.map +1 -1
  107. package/dist/tui/components/ToolCall.d.ts +2 -1
  108. package/dist/tui/components/ToolCall.d.ts.map +1 -1
  109. package/dist/tui/components/ToolCall.js +29 -24
  110. package/dist/tui/components/ToolCall.js.map +1 -1
  111. package/dist/tui/components/UserInput.d.ts +1 -1
  112. package/dist/tui/components/UserInput.d.ts.map +1 -1
  113. package/dist/tui/components/UserInput.js +19 -42
  114. package/dist/tui/components/UserInput.js.map +1 -1
  115. package/dist/tui/hooks/useCommands.d.ts.map +1 -1
  116. package/dist/tui/hooks/useCommands.js +28 -1
  117. package/dist/tui/hooks/useCommands.js.map +1 -1
  118. package/package.json +1 -1
  119. package/src/app/index.ts +12 -6
  120. package/src/cmd/index.tsx +1 -1
  121. package/src/prompts/index.ts +8 -0
  122. package/src/skills/brainstorming.ts +43 -0
  123. package/src/skills/code-review.ts +45 -0
  124. package/src/skills/executing-plans.ts +27 -0
  125. package/src/skills/frontend-design.ts +35 -0
  126. package/src/skills/git-workflow.ts +36 -0
  127. package/src/skills/improve-architecture.ts +38 -0
  128. package/src/skills/index.ts +136 -0
  129. package/src/skills/neuroweave.ts +47 -0
  130. package/src/skills/playwright.ts +72 -0
  131. package/src/skills/prototype.ts +30 -0
  132. package/src/skills/subagent.ts +28 -0
  133. package/src/skills/supabase.ts +44 -0
  134. package/src/skills/systematic-debugging.ts +44 -0
  135. package/src/skills/tdd.ts +39 -0
  136. package/src/skills/triage.ts +35 -0
  137. package/src/skills/verification.ts +31 -0
  138. package/src/skills/writing-plans.ts +42 -0
  139. package/src/tools/index.ts +3 -0
  140. package/src/tools/nwt.ts +362 -0
  141. package/src/tui/app.tsx +9 -8
  142. package/src/tui/components/ChatList.tsx +8 -5
  143. package/src/tui/components/ChatMessage.tsx +16 -13
  144. package/src/tui/components/Header.tsx +15 -9
  145. package/src/tui/components/StatusBar.tsx +30 -0
  146. package/src/tui/components/Thinking.tsx +3 -3
  147. package/src/tui/components/ToolCall.tsx +34 -32
  148. package/src/tui/components/UserInput.tsx +20 -54
  149. package/src/tui/hooks/useCommands.ts +29 -1
@@ -0,0 +1,46 @@
1
+ export const neuroweaveSkill = {
2
+ id: 'neuroweave',
3
+ name: 'NeuroWeave Timeline',
4
+ description: 'Project evolution memory - track decisions, changes, and milestones',
5
+ category: 'workflow',
6
+ autoActivate: ['timeline', 'history', 'what changed', 'why was', 'track'],
7
+ prompt: `## NeuroWeave Timeline (NWT)
8
+
9
+ You have access to the NWT tool for tracking project evolution. Use it to:
10
+
11
+ ### When to Log Events
12
+ - **After significant changes**: New features, refactors, bug fixes
13
+ - **When making decisions**: Architecture choices, library selection, design patterns
14
+ - **At milestones**: Feature complete, tests passing, deployment ready
15
+
16
+ ### How to Log
17
+ \`\`\`
18
+ nwt log
19
+ task: "Add user authentication"
20
+ summary: "Implemented JWT-based auth with login/register endpoints"
21
+ reason: "Need user accounts for personalized features"
22
+ files: "src/auth.ts, src/routes/auth.ts"
23
+ tags: "feature, auth, api"
24
+ \`\`\`
25
+
26
+ ### Tags Convention
27
+ - \`feature\` - New functionality
28
+ - \`fix\` - Bug fixes
29
+ - \`refactor\` - Code restructuring
30
+ - \`decision\` - Architecture/design decisions
31
+ - \`milestone\` - Project milestones
32
+ - \`config\` - Configuration changes
33
+ - \`docs\` - Documentation updates
34
+
35
+ ### Auto-log Rule
36
+ After completing a multi-step task, automatically log it to NWT with:
37
+ - task: What was done (imperative)
38
+ - summary: How it was done
39
+ - reason: Why it was done
40
+ - files: What files changed
41
+ - tags: Category labels
42
+
43
+ ### Archives
44
+ Events older than 30 days are automatically archived. Use \`nwt story\` to see the full project narrative.`,
45
+ };
46
+ //# sourceMappingURL=neuroweave.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neuroweave.js","sourceRoot":"","sources":["../../src/skills/neuroweave.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAU;IACpC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qEAAqE;IAClF,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC;IACzE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAqCiG;CAC1G,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const playwrightSkill: Skill;
3
+ //# sourceMappingURL=playwright.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../src/skills/playwright.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,eAAe,EAAE,KAqE7B,CAAC"}
@@ -0,0 +1,71 @@
1
+ export const playwrightSkill = {
2
+ id: 'playwright',
3
+ name: 'Playwright Browser Automation',
4
+ description: 'Automate browser tasks: testing, scraping, screenshots',
5
+ category: 'browser',
6
+ autoActivate: ['browser', 'screenshot', 'scrape', 'web', '网页', '浏览器', 'playwright', 'e2e'],
7
+ prompt: `## Playwright Browser Automation
8
+
9
+ You can use the shell tool to run Playwright commands for browser automation.
10
+
11
+ ### Setup
12
+ \`\`\`bash
13
+ npm install playwright
14
+ npx playwright install chromium
15
+ \`\`\`
16
+
17
+ ### Common Tasks
18
+
19
+ **Take a screenshot:**
20
+ \`\`\`bash
21
+ npx playwright screenshot https://example.com screenshot.png
22
+ \`\`\`
23
+
24
+ **Scrape page content:**
25
+ \`\`\`javascript
26
+ // save as scrape.js
27
+ const { chromium } = require('playwright');
28
+ (async () => {
29
+ const browser = await chromium.launch();
30
+ const page = await browser.newPage();
31
+ await page.goto('https://example.com');
32
+ const title = await page.title();
33
+ const text = await page.textContent('body');
34
+ console.log('Title:', title);
35
+ console.log('Content:', text.slice(0, 500));
36
+ await browser.close();
37
+ })();
38
+ \`\`\`
39
+
40
+ **Fill and submit forms:**
41
+ \`\`\`javascript
42
+ await page.fill('#username', 'user');
43
+ await page.fill('#password', 'pass');
44
+ await page.click('button[type="submit"]');
45
+ \`\`\`
46
+
47
+ **Wait for dynamic content:**
48
+ \`\`\`javascript
49
+ await page.waitForSelector('.results');
50
+ await page.waitForLoadState('networkidle');
51
+ \`\`\`
52
+
53
+ **E2E Testing:**
54
+ \`\`\`javascript
55
+ const { test, expect } = require('@playwright/test');
56
+ test('login flow', async ({ page }) => {
57
+ await page.goto('/login');
58
+ await page.fill('#email', 'test@example.com');
59
+ await page.fill('#password', 'password');
60
+ await page.click('button[type="submit"]');
61
+ await expect(page).toHaveURL('/dashboard');
62
+ });
63
+ \`\`\`
64
+
65
+ ### Best Practices
66
+ - Use \`waitForSelector\` before interacting with elements
67
+ - Use \`page.locator()\` for reliable element selection
68
+ - Take screenshots for visual verification
69
+ - Use \`--headed\` flag to watch: \`npx playwright test --headed\``,
70
+ };
71
+ //# sourceMappingURL=playwright.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/skills/playwright.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAU;IACpC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,wDAAwD;IACrE,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;IAC1F,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEA8DyD;CAClE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const prototypeSkill: Skill;
3
+ //# sourceMappingURL=prototype.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prototype.d.ts","sourceRoot":"","sources":["../../src/skills/prototype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,cAAc,EAAE,KA2B5B,CAAC"}
@@ -0,0 +1,29 @@
1
+ export const prototypeSkill = {
2
+ id: 'prototype',
3
+ name: 'Rapid Prototyping',
4
+ description: 'Quick working prototypes before production code',
5
+ category: 'workflow',
6
+ autoActivate: ['prototype', '原型', '快速实现', 'quick', 'demo'],
7
+ prompt: `## Rapid Prototyping Mode
8
+
9
+ When the user wants to quickly try something:
10
+
11
+ ### Principles
12
+ - **Working > Perfect** - Get something running first
13
+ - **Skip boilerplate** - Use minimal setup
14
+ - **Hardcode first** - Constants before config
15
+ - **Single file** - Don't split until needed
16
+
17
+ ### Workflow
18
+ 1. Create a single file with everything
19
+ 2. Make it work end-to-end
20
+ 3. Show the result
21
+ 4. Ask: "Want me to refactor this into proper code?"
22
+
23
+ ### When to Use
24
+ - Exploring a new API or library
25
+ - Testing a design idea
26
+ - Creating a quick demo
27
+ - Validating an approach`,
28
+ };
29
+ //# sourceMappingURL=prototype.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prototype.js","sourceRoot":"","sources":["../../src/skills/prototype.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAU;IACnC,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,iDAAiD;IAC9D,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAC1D,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;yBAoBe;CACxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const subagentSkill: Skill;
3
+ //# sourceMappingURL=subagent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/skills/subagent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,KAyB3B,CAAC"}
@@ -0,0 +1,27 @@
1
+ export const subagentSkill = {
2
+ id: 'subagent',
3
+ name: 'Subagent Delegation',
4
+ description: 'Break complex tasks into parallel subtasks',
5
+ category: 'workflow',
6
+ prompt: `## Task Decomposition
7
+
8
+ For complex tasks, think about what can be done in parallel:
9
+
10
+ ### Parallel-izable Tasks
11
+ - Reading multiple independent files
12
+ - Running multiple independent commands
13
+ - Creating multiple independent files
14
+ - Testing multiple independent features
15
+
16
+ ### Sequential Tasks (must be done in order)
17
+ - Build → Test → Deploy
18
+ - Read → Analyze → Write
19
+ - Design → Implement → Verify
20
+
21
+ ### When Task is Complex
22
+ 1. Identify independent subtasks
23
+ 2. Execute them (in parallel if possible)
24
+ 3. Combine results
25
+ 4. Verify the whole`,
26
+ };
27
+ //# sourceMappingURL=subagent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/skills/subagent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,4CAA4C;IACzD,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;oBAmBU;CACnB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const supabaseSkill: Skill;
3
+ //# sourceMappingURL=supabase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/skills/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,KAyC3B,CAAC"}
@@ -0,0 +1,43 @@
1
+ export const supabaseSkill = {
2
+ id: 'supabase',
3
+ name: 'Supabase Best Practices',
4
+ description: 'PostgreSQL and Supabase patterns for backend development',
5
+ category: 'architecture',
6
+ autoActivate: ['supabase', 'postgres', 'database', 'sql', '数据库'],
7
+ prompt: `## Supabase / PostgreSQL Best Practices
8
+
9
+ ### Schema Design
10
+ - Use UUIDs for primary keys (\`gen_random_uuid()\`)
11
+ - Always add \`created_at\` and \`updated_at\` timestamps
12
+ - Use enums for fixed sets of values
13
+ - Normalize first, denormalize for performance
14
+
15
+ ### Row Level Security (RLS)
16
+ - Always enable RLS on tables
17
+ - Write policies for each operation (SELECT, INSERT, UPDATE, DELETE)
18
+ - Use \`auth.uid()\` for user-specific access
19
+ - Test policies thoroughly
20
+
21
+ ### Queries
22
+ - Use \`select()\` with specific columns, not \`select('*')\`
23
+ - Use \`maybeSingle()\` instead of \`single()\` when 0 rows is valid
24
+ - Use \`range()\` for pagination
25
+ - Index columns used in WHERE and JOIN
26
+
27
+ ### Common Patterns
28
+ \`\`\`typescript
29
+ // Insert with returning
30
+ const { data, error } = await supabase
31
+ .from('posts')
32
+ .insert({ title, content, user_id: user.id })
33
+ .select()
34
+ .single();
35
+
36
+ // Realtime subscriptions
37
+ const channel = supabase
38
+ .channel('changes')
39
+ .on('postgres_changes', { event: '*', schema: 'public', table: 'messages' }, handleChange)
40
+ .subscribe();
41
+ \`\`\``,
42
+ };
43
+ //# sourceMappingURL=supabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase.js","sourceRoot":"","sources":["../../src/skills/supabase.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,0DAA0D;IACvE,QAAQ,EAAE,cAAc;IACxB,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC;IAChE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCH;CACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const systematicDebuggingSkill: Skill;
3
+ //# sourceMappingURL=systematic-debugging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systematic-debugging.d.ts","sourceRoot":"","sources":["../../src/skills/systematic-debugging.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,wBAAwB,EAAE,KAyCtC,CAAC"}
@@ -0,0 +1,43 @@
1
+ export const systematicDebuggingSkill = {
2
+ id: 'systematic-debugging',
3
+ name: 'Systematic Debugging',
4
+ description: 'Structured approach to finding and fixing bugs',
5
+ category: 'debugging',
6
+ autoActivate: ['bug', 'error', 'fix', 'debug', '不工作', '报错', '出错', '问题'],
7
+ prompt: `## Debugging Protocol
8
+
9
+ When debugging an issue, follow this systematic approach:
10
+
11
+ ### 1. Understand the Problem
12
+ - What is the expected behavior?
13
+ - What is the actual behavior?
14
+ - When does it happen? (always, sometimes, specific conditions)
15
+ - What changed recently?
16
+
17
+ ### 2. Gather Evidence
18
+ - Read error messages carefully - they often tell you exactly what's wrong
19
+ - Check logs, console output, stack traces
20
+ - Reproduce the issue reliably before attempting fixes
21
+
22
+ ### 3. Form Hypotheses
23
+ - List 2-3 possible causes, ranked by likelihood
24
+ - For each hypothesis: "If X is the cause, then Y should be true"
25
+
26
+ ### 4. Test Hypotheses
27
+ - Test the most likely hypothesis first
28
+ - Use minimal changes to isolate the issue
29
+ - Add debug logging if needed
30
+
31
+ ### 5. Fix and Verify
32
+ - Apply the minimal fix that addresses the root cause
33
+ - Verify the fix works
34
+ - Check for regressions
35
+ - Explain WHY the fix works
36
+
37
+ ### Anti-patterns to Avoid
38
+ - Don't make random changes hoping something works
39
+ - Don't change multiple things at once
40
+ - Don't skip the "understand" phase
41
+ - Don't fix symptoms instead of root causes`,
42
+ };
43
+ //# sourceMappingURL=systematic-debugging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systematic-debugging.js","sourceRoot":"","sources":["../../src/skills/systematic-debugging.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAU;IAC7C,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACvE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAkCkC;CAC3C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const tddSkill: Skill;
3
+ //# sourceMappingURL=tdd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tdd.d.ts","sourceRoot":"","sources":["../../src/skills/tdd.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,QAAQ,EAAE,KAoCtB,CAAC"}
@@ -0,0 +1,38 @@
1
+ export const tddSkill = {
2
+ id: 'tdd',
3
+ name: 'Test-Driven Development',
4
+ description: 'Write tests first, then implement to pass them',
5
+ category: 'testing',
6
+ autoActivate: ['test', '测试', 'tdd', '写测试', '单元测试'],
7
+ prompt: `## TDD Workflow
8
+
9
+ When implementing new features, follow the Red-Green-Refactor cycle:
10
+
11
+ ### 1. Red - Write a Failing Test
12
+ - Write the test FIRST
13
+ - Run it and confirm it FAILS
14
+ - This proves the test is actually testing something
15
+
16
+ ### 2. Green - Make It Pass
17
+ - Write the MINIMUM code to make the test pass
18
+ - Don't over-engineer
19
+ - Run the test and confirm it PASSES
20
+
21
+ ### 3. Refactor - Clean Up
22
+ - Now that tests protect you, improve the code
23
+ - Run tests after each change to ensure nothing broke
24
+
25
+ ### Test Naming
26
+ \`\`\`
27
+ describe('FeatureName', () => {
28
+ it('should do X when Y', () => { ... });
29
+ it('should handle edge case Z', () => { ... });
30
+ });
31
+ \`\`\`
32
+
33
+ ### Always Test
34
+ - Happy path (normal usage)
35
+ - Edge cases (empty input, null, boundary values)
36
+ - Error cases (invalid input, missing data)`,
37
+ };
38
+ //# sourceMappingURL=tdd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tdd.js","sourceRoot":"","sources":["../../src/skills/tdd.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IAClD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA6BkC;CAC3C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const triageSkill: Skill;
3
+ //# sourceMappingURL=triage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../src/skills/triage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,WAAW,EAAE,KAgCzB,CAAC"}
@@ -0,0 +1,34 @@
1
+ export const triageSkill = {
2
+ id: 'triage',
3
+ name: 'Issue Triage',
4
+ description: 'Quickly diagnose and prioritize issues',
5
+ category: 'debugging',
6
+ autoActivate: ['issue', 'problem', 'not working', 'broken', '不工作', '挂了'],
7
+ prompt: `## Issue Triage
8
+
9
+ When something is broken, quickly assess:
10
+
11
+ ### Severity Classification
12
+ - **P0 Critical**: System down, data loss, security breach
13
+ - **P1 High**: Major feature broken, no workaround
14
+ - **P2 Medium**: Feature degraded, workaround exists
15
+ - **P3 Low**: Minor issue, cosmetic, nice-to-have
16
+
17
+ ### Quick Diagnosis
18
+ 1. **What changed?** - Recent commits, deployments, config changes
19
+ 2. **Who is affected?** - All users, some users, specific environment
20
+ 3. **When did it start?** - Timeline of first occurrence
21
+ 4. **What's the impact?** - Data loss, functionality, UX
22
+
23
+ ### Triage Output
24
+ \`\`\`
25
+ ## Triage: [Issue Title]
26
+
27
+ **Severity**: P1 High
28
+ **Impact**: [who/what is affected]
29
+ **Root Cause**: [best guess based on evidence]
30
+ **Suggested Fix**: [minimal fix approach]
31
+ **Workaround**: [if any]
32
+ \`\`\``,
33
+ };
34
+ //# sourceMappingURL=triage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triage.js","sourceRoot":"","sources":["../../src/skills/triage.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAU;IAChC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,wCAAwC;IACrD,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC;IACxE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBH;CACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const verificationSkill: Skill;
3
+ //# sourceMappingURL=verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/skills/verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,iBAAiB,EAAE,KA4B/B,CAAC"}
@@ -0,0 +1,30 @@
1
+ export const verificationSkill = {
2
+ id: 'verification',
3
+ name: 'Verification Before Completion',
4
+ description: 'Always verify work before marking as done',
5
+ category: 'workflow',
6
+ prompt: `## Verification Protocol
7
+
8
+ Before saying "done", always verify:
9
+
10
+ ### For Code Changes
11
+ 1. **Read the file** - Confirm the change was actually saved
12
+ 2. **Check syntax** - Make sure there are no syntax errors
13
+ 3. **Run tests** - If tests exist, run them
14
+ 4. **Check imports** - Verify all imports resolve
15
+
16
+ ### For File Operations
17
+ 1. **Verify file exists** - Check the file was created/modified
18
+ 2. **Read it back** - Confirm the content is correct
19
+ 3. **Check permissions** - Ensure the file is accessible
20
+
21
+ ### For Commands
22
+ 1. **Check exit code** - Was it 0?
23
+ 2. **Read output** - Look for warnings or errors
24
+ 3. **Verify side effects** - Did the command do what was expected?
25
+
26
+ ### Never Say "Done" Without
27
+ - Seeing actual output confirming success
28
+ - Or running a verification command`,
29
+ };
30
+ //# sourceMappingURL=verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/skills/verification.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACtC,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,2CAA2C;IACxD,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;oCAsB0B;CACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Skill } from './index.js';
2
+ export declare const writingPlansSkill: Skill;
3
+ //# sourceMappingURL=writing-plans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writing-plans.d.ts","sourceRoot":"","sources":["../../src/skills/writing-plans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,eAAO,MAAM,iBAAiB,EAAE,KAuC/B,CAAC"}
@@ -0,0 +1,41 @@
1
+ export const writingPlansSkill = {
2
+ id: 'writing-plans',
3
+ name: 'Writing Plans',
4
+ description: 'Break down complex tasks into step-by-step execution plans',
5
+ category: 'planning',
6
+ autoActivate: ['plan', '怎么实现', '如何做', '方案', '设计', '架构'],
7
+ prompt: `## Planning Mode
8
+
9
+ When the user asks you to plan something or the task is complex:
10
+
11
+ 1. **Understand the goal** - Clarify what the user wants to achieve
12
+ 2. **Explore the codebase** - Read relevant files to understand context
13
+ 3. **Break it down** - Create a numbered list of concrete steps
14
+ 4. **Identify risks** - Note potential issues or blockers
15
+ 5. **Estimate complexity** - Mark steps as simple/medium/complex
16
+
17
+ ### Plan Format
18
+ \`\`\`
19
+ ## Plan: [Task Description]
20
+
21
+ ### Context
22
+ - What we know about the current state
23
+ - Files/modules involved
24
+
25
+ ### Steps
26
+ 1. [Step description] (simple/medium/complex)
27
+ 2. [Step description]
28
+ - Sub-step if needed
29
+ 3. [Step description]
30
+
31
+ ### Risks
32
+ - [Potential issue and mitigation]
33
+
34
+ ### Files to modify
35
+ - path/to/file1.ts - [what changes]
36
+ - path/to/file2.ts - [what changes]
37
+ \`\`\`
38
+
39
+ Always present the plan to the user before executing. Ask: "Should I proceed with this plan?"`,
40
+ };
41
+ //# sourceMappingURL=writing-plans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writing-plans.js","sourceRoot":"","sources":["../../src/skills/writing-plans.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACtC,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,4DAA4D;IACzE,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACvD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8FAgCoF;CAC7F,CAAC"}
@@ -39,4 +39,5 @@ export { FileTool } from './file.js';
39
39
  export { ShellTool } from './shell.js';
40
40
  export { GitTool } from './git.js';
41
41
  export { SearchTool } from './search.js';
42
+ export { NwtTool } from './nwt.js';
42
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAMjF,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,OAAO,CAAmB;;IAMlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI3C,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,IAAI,IAAI,IAAI,EAAE;IAId,SAAS,IAAI,MAAM,EAAE;IAIrB;;OAEG;IACH,cAAc,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAW5D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CAY9E;AAGD,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAOjF,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,OAAO,CAAmB;;IAMlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAI3C,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI1B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAInC,IAAI,IAAI,IAAI,EAAE;IAId,SAAS,IAAI,MAAM,EAAE;IAIrB;;OAEG;IACH,cAAc,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAW5D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CAY9E;AAGD,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
@@ -6,6 +6,7 @@ import { FileTool } from './file.js';
6
6
  import { ShellTool } from './shell.js';
7
7
  import { GitTool } from './git.js';
8
8
  import { SearchTool } from './search.js';
9
+ import { NwtTool } from './nwt.js';
9
10
  export class ToolRegistry {
10
11
  tools = new Map();
11
12
  context = {};
@@ -20,6 +21,7 @@ export class ToolRegistry {
20
21
  this.register(new ShellTool());
21
22
  this.register(new GitTool());
22
23
  this.register(new SearchTool());
24
+ this.register(new NwtTool());
23
25
  }
24
26
  setContext(ctx) {
25
27
  this.context = { ...this.context, ...ctx };
@@ -89,4 +91,5 @@ export { FileTool } from './file.js';
89
91
  export { ShellTool } from './shell.js';
90
92
  export { GitTool } from './git.js';
91
93
  export { SearchTool } from './search.js';
94
+ export { NwtTool } from './nwt.js';
92
95
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}