superkit-mcp-server 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +102 -102
- package/README.md +71 -71
- package/SUPERKIT.md +168 -168
- package/agents/code-archaeologist.md +106 -106
- package/agents/coder.md +90 -90
- package/agents/data-engineer.md +28 -28
- package/agents/devops-engineer.md +242 -242
- package/agents/git-manager.md +203 -203
- package/agents/orchestrator.md +420 -420
- package/agents/penetration-tester.md +188 -188
- package/agents/performance-optimizer.md +187 -187
- package/agents/planner.md +270 -270
- package/agents/qa-automation-engineer.md +103 -103
- package/agents/quant-developer.md +32 -32
- package/agents/reviewer.md +100 -100
- package/agents/scout.md +222 -222
- package/agents/tester.md +274 -274
- package/agents/ui-designer.md +208 -208
- package/build/tools/sessionManager.js +79 -10
- package/build/tools/todoTools.js +39 -39
- package/build/tools/validators/__tests__/apiSchema.test.js +23 -23
- package/build/tools/validators/__tests__/convertRules.test.js +5 -5
- package/build/tools/validators/__tests__/frontendDesign.test.js +12 -12
- package/build/tools/validators/__tests__/geoChecker.test.js +19 -19
- package/build/tools/validators/__tests__/mobileAudit.test.js +12 -12
- package/build/tools/validators/__tests__/reactPerformanceChecker.test.js +17 -17
- package/build/tools/validators/__tests__/securityScan.test.js +6 -6
- package/build/tools/validators/__tests__/seoChecker.test.js +16 -16
- package/build/tools/validators/__tests__/typeCoverage.test.js +14 -14
- package/commands/README.md +122 -122
- package/commands/ask.toml +72 -72
- package/commands/brainstorm.toml +119 -119
- package/commands/chat.toml +77 -77
- package/commands/code-preview.toml +37 -37
- package/commands/code.toml +28 -28
- package/commands/content.toml +200 -200
- package/commands/cook.toml +77 -77
- package/commands/copywrite.toml +131 -131
- package/commands/db.toml +192 -192
- package/commands/debug.toml +166 -166
- package/commands/design.toml +158 -158
- package/commands/dev-rules.toml +14 -14
- package/commands/do.toml +117 -117
- package/commands/doc-rules.toml +14 -14
- package/commands/docs.toml +148 -148
- package/commands/fix.toml +440 -440
- package/commands/fullstack.toml +175 -175
- package/commands/git.toml +235 -235
- package/commands/help.toml +84 -84
- package/commands/integrate.toml +127 -127
- package/commands/journal.toml +136 -136
- package/commands/kit-setup.toml +40 -40
- package/commands/mcp.toml +183 -183
- package/commands/orchestration.toml +15 -15
- package/commands/plan.toml +171 -171
- package/commands/pm.toml +148 -148
- package/commands/pr.toml +50 -50
- package/commands/project.toml +32 -32
- package/commands/research.toml +117 -117
- package/commands/review-pr.toml +63 -63
- package/commands/review.toml +190 -190
- package/commands/scout-ext.toml +97 -97
- package/commands/scout.toml +79 -79
- package/commands/screenshot.toml +65 -65
- package/commands/session.toml +102 -102
- package/commands/skill.toml +384 -384
- package/commands/status.toml +22 -22
- package/commands/team.toml +56 -56
- package/commands/test.toml +164 -164
- package/commands/ticket.toml +70 -70
- package/commands/use.toml +106 -106
- package/commands/video.toml +83 -83
- package/commands/watzup.toml +71 -71
- package/commands/workflow.toml +14 -14
- package/package.json +35 -35
- package/skills/meta/README.md +30 -30
- package/skills/meta/api-design/SKILL.md +134 -134
- package/skills/meta/code-review/SKILL.md +44 -44
- package/skills/meta/code-review/checklists/pre-merge.md +25 -25
- package/skills/meta/code-review/workflows/architecture-pass.md +26 -26
- package/skills/meta/code-review/workflows/performance-pass.md +27 -27
- package/skills/meta/code-review/workflows/security-pass.md +29 -29
- package/skills/meta/compound-docs/SKILL.md +133 -133
- package/skills/meta/debug/SKILL.md +40 -40
- package/skills/meta/debug/templates/bug-report.template.md +31 -31
- package/skills/meta/debug/workflows/reproduce-issue.md +20 -20
- package/skills/meta/docker/SKILL.md +126 -126
- package/skills/meta/examples/supabase/SKILL.md +46 -46
- package/skills/meta/examples/supabase/references/best-practices.md +319 -319
- package/skills/meta/examples/supabase/references/common-patterns.md +373 -373
- package/skills/meta/examples/supabase/templates/migration-template.sql +49 -49
- package/skills/meta/examples/supabase/templates/rls-policy-template.sql +77 -77
- package/skills/meta/examples/supabase/workflows/debugging.md +260 -260
- package/skills/meta/examples/supabase/workflows/migration-workflow.md +211 -211
- package/skills/meta/examples/supabase/workflows/rls-policies.md +244 -244
- package/skills/meta/examples/supabase/workflows/schema-design.md +321 -321
- package/skills/meta/file-todos/SKILL.md +88 -88
- package/skills/meta/mobile/SKILL.md +140 -140
- package/skills/meta/nextjs/SKILL.md +101 -101
- package/skills/meta/performance/SKILL.md +130 -130
- package/skills/meta/react-patterns/SKILL.md +83 -83
- package/skills/meta/security/SKILL.md +114 -114
- package/skills/meta/session-resume/SKILL.md +96 -96
- package/skills/meta/tailwind/SKILL.md +139 -139
- package/skills/meta/testing/SKILL.md +43 -43
- package/skills/meta/testing/references/vitest-patterns.md +45 -45
- package/skills/meta/testing/templates/component-test.template.tsx +37 -37
- package/skills/tech/alpha-vantage/SKILL.md +142 -142
- package/skills/tech/alpha-vantage/references/commodities.md +153 -153
- package/skills/tech/alpha-vantage/references/economic-indicators.md +158 -158
- package/skills/tech/alpha-vantage/references/forex-crypto.md +154 -154
- package/skills/tech/alpha-vantage/references/fundamentals.md +223 -223
- package/skills/tech/alpha-vantage/references/intelligence.md +138 -138
- package/skills/tech/alpha-vantage/references/options.md +93 -93
- package/skills/tech/alpha-vantage/references/technical-indicators.md +374 -374
- package/skills/tech/alpha-vantage/references/time-series.md +157 -157
- package/skills/tech/financial-modeling/SKILL.md +18 -18
- package/skills/tech/financial-modeling/skills/3-statements/SKILL.md +368 -368
- package/skills/tech/financial-modeling/skills/3-statements/references/formatting.md +118 -118
- package/skills/tech/financial-modeling/skills/3-statements/references/formulas.md +292 -292
- package/skills/tech/financial-modeling/skills/3-statements/references/sec-filings.md +125 -125
- package/skills/tech/financial-modeling/skills/dcf-model/SKILL.md +1210 -1210
- package/skills/tech/financial-modeling/skills/dcf-model/TROUBLESHOOTING.md +40 -40
- package/skills/tech/financial-modeling/skills/dcf-model/requirements.txt +8 -8
- package/skills/tech/financial-modeling/skills/dcf-model/scripts/validate_dcf.py +292 -292
- package/skills/tech/financial-modeling/skills/lbo-model/SKILL.md +236 -236
- package/skills/tech/financial-modeling/skills/merger-model/SKILL.md +108 -108
- package/skills/workflows/README.md +203 -203
- package/skills/workflows/adr.md +174 -174
- package/skills/workflows/changelog.md +74 -74
- package/skills/workflows/compound.md +323 -323
- package/skills/workflows/compound_health.md +74 -74
- package/skills/workflows/create-agent-skill.md +138 -138
- package/skills/workflows/cycle.md +144 -144
- package/skills/workflows/deploy-docs.md +84 -84
- package/skills/workflows/development-rules.md +42 -42
- package/skills/workflows/doc.md +95 -95
- package/skills/workflows/documentation-management.md +34 -34
- package/skills/workflows/explore.md +146 -146
- package/skills/workflows/generate_command.md +106 -106
- package/skills/workflows/heal-skill.md +97 -97
- package/skills/workflows/housekeeping.md +229 -229
- package/skills/workflows/kit-setup.md +102 -102
- package/skills/workflows/map-codebase.md +78 -78
- package/skills/workflows/orchestration-protocol.md +43 -43
- package/skills/workflows/plan-compound.md +439 -439
- package/skills/workflows/plan_review.md +269 -269
- package/skills/workflows/primary-workflow.md +37 -37
- package/skills/workflows/promote_pattern.md +86 -86
- package/skills/workflows/release-docs.md +82 -82
- package/skills/workflows/report-bug.md +135 -135
- package/skills/workflows/reproduce-bug.md +118 -118
- package/skills/workflows/resolve_pr.md +133 -133
- package/skills/workflows/resolve_todo.md +128 -128
- package/skills/workflows/review-compound.md +376 -376
- package/skills/workflows/skill-review.md +127 -127
- package/skills/workflows/specs.md +257 -257
- package/skills/workflows/triage-sprint.md +102 -102
- package/skills/workflows/triage.md +152 -152
- package/skills/workflows/work.md +399 -399
- package/skills/workflows/xcode-test.md +93 -93
|
@@ -15,11 +15,11 @@ describe('convertRules', () => {
|
|
|
15
15
|
it('should correctly parse frontmatter and generate rules', async () => {
|
|
16
16
|
vi.mocked(fs.stat).mockResolvedValue({ isDirectory: () => true });
|
|
17
17
|
vi.mocked(fs.readdir).mockResolvedValue(['async-waterfall.md']);
|
|
18
|
-
vi.mocked(fs.readFile).mockResolvedValue(`---
|
|
19
|
-
title: Waterfall check
|
|
20
|
-
impact: HIGH
|
|
21
|
-
tags: perf
|
|
22
|
-
---
|
|
18
|
+
vi.mocked(fs.readFile).mockResolvedValue(`---
|
|
19
|
+
title: Waterfall check
|
|
20
|
+
impact: HIGH
|
|
21
|
+
tags: perf
|
|
22
|
+
---
|
|
23
23
|
Content body of the rule here.`);
|
|
24
24
|
vi.mocked(fs.mkdir).mockResolvedValue(undefined);
|
|
25
25
|
vi.mocked(fs.writeFile).mockResolvedValue(undefined);
|
|
@@ -9,20 +9,20 @@ describe('accessibilityChecker', () => {
|
|
|
9
9
|
});
|
|
10
10
|
describe('checkAccessibility', () => {
|
|
11
11
|
it('should detect input without label and img without alt', async () => {
|
|
12
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
13
|
-
<input type="text" name="bad" />
|
|
14
|
-
<button>Click me</button>
|
|
12
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
13
|
+
<input type="text" name="bad" />
|
|
14
|
+
<button>Click me</button>
|
|
15
15
|
`);
|
|
16
16
|
const issues = await checkAccessibility('test.html');
|
|
17
17
|
expect(issues.some(i => i.includes('Input without label'))).toBe(true);
|
|
18
18
|
expect(issues.some(i => i.includes('Missing lang'))).toBe(false); // only checks if <html> exists
|
|
19
19
|
});
|
|
20
20
|
it('should pass good inputs', async () => {
|
|
21
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
22
|
-
<html lang="en">
|
|
23
|
-
<input type="text" aria-label="Good" />
|
|
24
|
-
<button aria-label="Close">X</button>
|
|
25
|
-
</html>
|
|
21
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
22
|
+
<html lang="en">
|
|
23
|
+
<input type="text" aria-label="Good" />
|
|
24
|
+
<button aria-label="Close">X</button>
|
|
25
|
+
</html>
|
|
26
26
|
`);
|
|
27
27
|
const issues = await checkAccessibility('test.html');
|
|
28
28
|
expect(issues).toEqual([]); // Skip link is only requested if <main> or <body> is present
|
|
@@ -39,10 +39,10 @@ describe('uxAudit', () => {
|
|
|
39
39
|
name: 'test.tsx',
|
|
40
40
|
isDirectory: () => false
|
|
41
41
|
}]);
|
|
42
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
43
|
-
<button onClick={() => {}}>Submit</button>
|
|
44
|
-
<img src="foo.jpg">
|
|
45
|
-
<p style="color: #000000; font-family: purple;">Hello</p>
|
|
42
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
43
|
+
<button onClick={() => {}}>Submit</button>
|
|
44
|
+
<img src="foo.jpg">
|
|
45
|
+
<p style="color: #000000; font-family: purple;">Hello</p>
|
|
46
46
|
`);
|
|
47
47
|
const res = await runUxAudit('.');
|
|
48
48
|
expect(res.passed).toBe(false);
|
|
@@ -8,21 +8,21 @@ describe('geoChecker', () => {
|
|
|
8
8
|
});
|
|
9
9
|
describe('checkGeoPage', () => {
|
|
10
10
|
it('should detect structured schema and H1s', async () => {
|
|
11
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
12
|
-
<html lang="en">
|
|
13
|
-
<head>
|
|
14
|
-
<script type="application/ld+json">
|
|
15
|
-
{
|
|
16
|
-
"@type": "Article",
|
|
17
|
-
"author": "Test Author"
|
|
18
|
-
}
|
|
19
|
-
</script>
|
|
20
|
-
</head>
|
|
21
|
-
<body>
|
|
22
|
-
<h1>Main Title</h1>
|
|
23
|
-
<p>Some content with numbers like 50% and $100.</p>
|
|
24
|
-
</body>
|
|
25
|
-
</html>
|
|
11
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
12
|
+
<html lang="en">
|
|
13
|
+
<head>
|
|
14
|
+
<script type="application/ld+json">
|
|
15
|
+
{
|
|
16
|
+
"@type": "Article",
|
|
17
|
+
"author": "Test Author"
|
|
18
|
+
}
|
|
19
|
+
</script>
|
|
20
|
+
</head>
|
|
21
|
+
<body>
|
|
22
|
+
<h1>Main Title</h1>
|
|
23
|
+
<p>Some content with numbers like 50% and $100.</p>
|
|
24
|
+
</body>
|
|
25
|
+
</html>
|
|
26
26
|
`);
|
|
27
27
|
const result = await checkGeoPage('/mock/page.html');
|
|
28
28
|
expect(result.passed.some(m => m.includes('JSON-LD structured data'))).toBe(true);
|
|
@@ -31,10 +31,10 @@ describe('geoChecker', () => {
|
|
|
31
31
|
expect(result.score).toBeGreaterThan(0);
|
|
32
32
|
});
|
|
33
33
|
it('should flag missing structural tags', async () => {
|
|
34
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
35
|
-
<body>
|
|
36
|
-
<p>No headings, no structure, no stats.</p>
|
|
37
|
-
</body>
|
|
34
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
35
|
+
<body>
|
|
36
|
+
<p>No headings, no structure, no stats.</p>
|
|
37
|
+
</body>
|
|
38
38
|
`);
|
|
39
39
|
const result = await checkGeoPage('/mock/bad.html');
|
|
40
40
|
expect(result.issues.some(m => m.includes('No JSON-LD'))).toBe(true);
|
|
@@ -11,16 +11,16 @@ describe('mobileAudit', () => {
|
|
|
11
11
|
name: 'Screen.tsx',
|
|
12
12
|
isDirectory: () => false
|
|
13
13
|
}]);
|
|
14
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
15
|
-
import React from 'react';
|
|
16
|
-
import { View, ScrollView } from 'react-native';
|
|
17
|
-
export const Screen = () => {
|
|
18
|
-
return (
|
|
19
|
-
<ScrollView>
|
|
20
|
-
{data.map(d => <View key={index} />)}
|
|
21
|
-
</ScrollView>
|
|
22
|
-
)
|
|
23
|
-
}
|
|
14
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
15
|
+
import React from 'react';
|
|
16
|
+
import { View, ScrollView } from 'react-native';
|
|
17
|
+
export const Screen = () => {
|
|
18
|
+
return (
|
|
19
|
+
<ScrollView>
|
|
20
|
+
{data.map(d => <View key={index} />)}
|
|
21
|
+
</ScrollView>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
24
|
`);
|
|
25
25
|
const res = await runMobileAudit('.');
|
|
26
26
|
expect(res.passed).toBe(false);
|
|
@@ -31,8 +31,8 @@ describe('mobileAudit', () => {
|
|
|
31
31
|
name: 'regular.tsx',
|
|
32
32
|
isDirectory: () => false
|
|
33
33
|
}]);
|
|
34
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
35
|
-
export const App = () => <div>Hello Web</div>
|
|
34
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
35
|
+
export const App = () => <div>Hello Web</div>
|
|
36
36
|
`);
|
|
37
37
|
const res = await runMobileAudit('.');
|
|
38
38
|
expect(res.passed).toBe(true);
|
|
@@ -11,14 +11,14 @@ describe('reactPerformanceChecker', () => {
|
|
|
11
11
|
name: 'Home.tsx',
|
|
12
12
|
isDirectory: () => false
|
|
13
13
|
}]);
|
|
14
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
15
|
-
import { something } from '@/components/index';
|
|
16
|
-
|
|
17
|
-
async function loadData() {
|
|
18
|
-
const a = await fetchA();
|
|
19
|
-
const b = await fetchB();
|
|
20
|
-
return { a, b };
|
|
21
|
-
}
|
|
14
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
15
|
+
import { something } from '@/components/index';
|
|
16
|
+
|
|
17
|
+
async function loadData() {
|
|
18
|
+
const a = await fetchA();
|
|
19
|
+
const b = await fetchB();
|
|
20
|
+
return { a, b };
|
|
21
|
+
}
|
|
22
22
|
`);
|
|
23
23
|
const res = await runReactPerformanceChecker('.');
|
|
24
24
|
console.log("RPC BAD REPORT:", res.report);
|
|
@@ -31,15 +31,15 @@ describe('reactPerformanceChecker', () => {
|
|
|
31
31
|
name: 'App.tsx',
|
|
32
32
|
isDirectory: () => false
|
|
33
33
|
}]);
|
|
34
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
35
|
-
import { useQuery } from '@tanstack/react-query';
|
|
36
|
-
import Image from 'next/image';
|
|
37
|
-
|
|
38
|
-
const App = React.memo((props: Props) => {
|
|
39
|
-
const q = useQuery('data', fetchParallel);
|
|
40
|
-
return <Image src="foo" alt="bar" />
|
|
41
|
-
});
|
|
42
|
-
export default App;
|
|
34
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
35
|
+
import { useQuery } from '@tanstack/react-query';
|
|
36
|
+
import Image from 'next/image';
|
|
37
|
+
|
|
38
|
+
const App = React.memo((props: Props) => {
|
|
39
|
+
const q = useQuery('data', fetchParallel);
|
|
40
|
+
return <Image src="foo" alt="bar" />
|
|
41
|
+
});
|
|
42
|
+
export default App;
|
|
43
43
|
`);
|
|
44
44
|
const res = await runReactPerformanceChecker('.');
|
|
45
45
|
console.log("RPC GOOD REPORT:", res.report);
|
|
@@ -13,8 +13,8 @@ describe('securityScan', () => {
|
|
|
13
13
|
name: 'config.json',
|
|
14
14
|
isDirectory: () => false
|
|
15
15
|
}]);
|
|
16
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
17
|
-
{ "aws_key": "AKIA1234567890123456" }
|
|
16
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
17
|
+
{ "aws_key": "AKIA1234567890123456" }
|
|
18
18
|
`);
|
|
19
19
|
const result = await scanSecrets('/mock');
|
|
20
20
|
expect(result.findings).toBeDefined();
|
|
@@ -28,10 +28,10 @@ describe('securityScan', () => {
|
|
|
28
28
|
name: 'bad_code.js',
|
|
29
29
|
isDirectory: () => false
|
|
30
30
|
}]);
|
|
31
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
32
|
-
eval('2 + 2');
|
|
33
|
-
import { exec } from 'child_process';
|
|
34
|
-
child_process.exec('rm -rf /');
|
|
31
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
32
|
+
eval('2 + 2');
|
|
33
|
+
import { exec } from 'child_process';
|
|
34
|
+
child_process.exec('rm -rf /');
|
|
35
35
|
`);
|
|
36
36
|
const result = await scanCodePatterns('/mock');
|
|
37
37
|
expect(result.findings.length).toBeGreaterThan(1);
|
|
@@ -11,22 +11,22 @@ describe('seoChecker', () => {
|
|
|
11
11
|
name: 'index.tsx', // valid page layout file
|
|
12
12
|
isDirectory: () => false
|
|
13
13
|
}]);
|
|
14
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
15
|
-
export default function Index() {
|
|
16
|
-
return (
|
|
17
|
-
<html>
|
|
18
|
-
<head>
|
|
19
|
-
<title>Oops missing description and og</title>
|
|
20
|
-
</head>
|
|
21
|
-
<body>
|
|
22
|
-
<h1>Title</h1>
|
|
23
|
-
<h1>Duplicate Title</h1>
|
|
24
|
-
<img src="foo" />
|
|
25
|
-
<img src="bar" alt="" />
|
|
26
|
-
</body>
|
|
27
|
-
</html>
|
|
28
|
-
)
|
|
29
|
-
}
|
|
14
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
15
|
+
export default function Index() {
|
|
16
|
+
return (
|
|
17
|
+
<html>
|
|
18
|
+
<head>
|
|
19
|
+
<title>Oops missing description and og</title>
|
|
20
|
+
</head>
|
|
21
|
+
<body>
|
|
22
|
+
<h1>Title</h1>
|
|
23
|
+
<h1>Duplicate Title</h1>
|
|
24
|
+
<img src="foo" />
|
|
25
|
+
<img src="bar" alt="" />
|
|
26
|
+
</body>
|
|
27
|
+
</html>
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
30
|
`);
|
|
31
31
|
const res = await runSeoChecker('.');
|
|
32
32
|
expect(res.passed).toBe(false);
|
|
@@ -14,9 +14,9 @@ describe('typeCoverage', () => {
|
|
|
14
14
|
isDirectory: () => false
|
|
15
15
|
}]);
|
|
16
16
|
// Mock readFile to return a snippet with an untyped function and an "any"
|
|
17
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
18
|
-
function test(): any { return 1; }
|
|
19
|
-
const test2 = (x) => console.log(x);
|
|
17
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
18
|
+
function test(): any { return 1; }
|
|
19
|
+
const test2 = (x) => console.log(x);
|
|
20
20
|
`);
|
|
21
21
|
const result = await checkTypescriptCoverage('/mock/folder');
|
|
22
22
|
expect(result.type).toBe('typescript');
|
|
@@ -29,8 +29,8 @@ describe('typeCoverage', () => {
|
|
|
29
29
|
name: 'good.ts',
|
|
30
30
|
isDirectory: () => false
|
|
31
31
|
}]);
|
|
32
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
33
|
-
function typedFunc(val: string): number { return val.length; }
|
|
32
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
33
|
+
function typedFunc(val: string): number { return val.length; }
|
|
34
34
|
`);
|
|
35
35
|
const result = await checkTypescriptCoverage('/mock/good');
|
|
36
36
|
expect(result.stats.any_count).toBe(0);
|
|
@@ -44,15 +44,15 @@ describe('typeCoverage', () => {
|
|
|
44
44
|
name: 'script.py',
|
|
45
45
|
isDirectory: () => false
|
|
46
46
|
}]);
|
|
47
|
-
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
48
|
-
def bad_func(arg):
|
|
49
|
-
pass
|
|
50
|
-
|
|
51
|
-
def good_func(arg: str) -> bool:
|
|
52
|
-
return True
|
|
53
|
-
|
|
54
|
-
def any_func(arg: Any) -> Any:
|
|
55
|
-
pass
|
|
47
|
+
vi.mocked(fs.readFile).mockResolvedValue(`
|
|
48
|
+
def bad_func(arg):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
def good_func(arg: str) -> bool:
|
|
52
|
+
return True
|
|
53
|
+
|
|
54
|
+
def any_func(arg: Any) -> Any:
|
|
55
|
+
pass
|
|
56
56
|
`);
|
|
57
57
|
const result = await checkPythonCoverage('/mock/py');
|
|
58
58
|
expect(result.stats.any_count).toBeGreaterThan(0);
|
package/commands/README.md
CHANGED
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
# Commands
|
|
2
|
-
|
|
3
|
-
This directory contains all **custom slash commands** for the Super-Kit extension. Commands are defined as TOML files and automatically loaded by the AI agent client.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
Commands extend Super-Kit's capabilities by providing specialized prompts for specific tasks. Each command file follows the TOML format with `description` and `prompt` fields.
|
|
8
|
-
|
|
9
|
-
## Command Categories
|
|
10
|
-
|
|
11
|
-
| Category | Commands | Purpose |
|
|
12
|
-
|----------|----------|---------|
|
|
13
|
-
| **Planning** | `plan`, `brainstorm` | Create implementation plans |
|
|
14
|
-
| **Coding** | `code`, `fix`, `debug`, `fullstack` | Write and debug code |
|
|
15
|
-
| **Review** | `review`, `review-pr`, `pr` | Code review and PR management |
|
|
16
|
-
| **Documentation** | `docs`, `doc-rules`, `help` | Documentation tasks |
|
|
17
|
-
| **Project** | `project`, `pm`, `status` | Project management |
|
|
18
|
-
| **Git** | `git`, `session` | Git and session management |
|
|
19
|
-
| **Research** | `research`, `scout`, `scout-ext` | Codebase exploration |
|
|
20
|
-
| **Content** | `content`, `copywrite`, `chat` | Content creation |
|
|
21
|
-
| **Database** | `db` | Database operations |
|
|
22
|
-
| **Design** | `design` | UI/UX design tasks |
|
|
23
|
-
| **Testing** | `test` | Testing and QA |
|
|
24
|
-
| **Tools** | `mcp`, `skill`, `screenshot`, `video` | Tool integrations |
|
|
25
|
-
|
|
26
|
-
## Components
|
|
27
|
-
|
|
28
|
-
| Component | Purpose | Status |
|
|
29
|
-
|-----------|---------|--------|
|
|
30
|
-
| `ask.toml` | General Q&A with context | ✅ Active |
|
|
31
|
-
| `brainstorm.toml` | Creative ideation | ✅ Active |
|
|
32
|
-
| `chat.toml` | Conversational interactions | ✅ Active |
|
|
33
|
-
| `code.toml` | Code implementation | ✅ Active |
|
|
34
|
-
| `code-preview.toml` | Code preview mode | ✅ Active |
|
|
35
|
-
| `content.toml` | Content creation | ✅ Active |
|
|
36
|
-
| `cook.toml` | Execute plans step-by-step | ✅ Active |
|
|
37
|
-
| `copywrite.toml` | Marketing copy | ✅ Active |
|
|
38
|
-
| `db.toml` | Database operations | ✅ Active |
|
|
39
|
-
| `debug.toml` | Debugging assistance | ✅ Active |
|
|
40
|
-
| `design.toml` | UI/UX design | ✅ Active |
|
|
41
|
-
| `dev-rules.toml` | Development rules loader | ✅ Active |
|
|
42
|
-
| `do.toml` | Quick task execution | ✅ Active |
|
|
43
|
-
| `doc-rules.toml` | Documentation rules | ✅ Active |
|
|
44
|
-
| `docs.toml` | Documentation management | ✅ Active |
|
|
45
|
-
| `fix.toml` | Bug fixing | ✅ Active |
|
|
46
|
-
| `fullstack.toml` | Full-stack development | ✅ Active |
|
|
47
|
-
| `git.toml` | Git operations | ✅ Active |
|
|
48
|
-
| `help.toml` | Help and guidance | ✅ Active |
|
|
49
|
-
| `integrate.toml` | Integration tasks | ✅ Active |
|
|
50
|
-
| `journal.toml` | Session journaling | ✅ Active |
|
|
51
|
-
| `kit-setup.toml` | Project setup wizard | ✅ Active |
|
|
52
|
-
| `mcp.toml` | MCP server management | ✅ Active |
|
|
53
|
-
| `orchestration.toml` | Multi-agent orchestration | ✅ Active |
|
|
54
|
-
| `plan.toml` | Implementation planning | ✅ Active |
|
|
55
|
-
| `pm.toml` | Project management | ✅ Active |
|
|
56
|
-
| `pr.toml` | Pull request creation | ✅ Active |
|
|
57
|
-
| `project.toml` | Project context | ✅ Active |
|
|
58
|
-
| `research.toml` | Research tasks | ✅ Active |
|
|
59
|
-
| `review-pr.toml` | PR review | ✅ Active |
|
|
60
|
-
| `review.toml` | Code review | ✅ Active |
|
|
61
|
-
| `scout-ext.toml` | Extended codebase exploration | ✅ Active |
|
|
62
|
-
| `scout.toml` | Codebase scout | ✅ Active |
|
|
63
|
-
| `screenshot.toml` | Screenshot capture | ✅ Active |
|
|
64
|
-
| `session.toml` | Session management | ✅ Active |
|
|
65
|
-
| `skill.toml` | Skill creation | ✅ Active |
|
|
66
|
-
| `status.toml` | Status reporting | ✅ Active |
|
|
67
|
-
| `team.toml` | Team coordination | ✅ Active |
|
|
68
|
-
| `test.toml` | Testing tasks | ✅ Active |
|
|
69
|
-
| `ticket.toml` | Issue/ticket management | ✅ Active |
|
|
70
|
-
| `use.toml` | Use existing patterns | ✅ Active |
|
|
71
|
-
| `video.toml` | Video processing | ✅ Active |
|
|
72
|
-
| `watzup.toml` | Quick status check | ✅ Active |
|
|
73
|
-
| `workflow.toml` | Workflow management | ✅ Active |
|
|
74
|
-
|
|
75
|
-
## TOML Structure
|
|
76
|
-
|
|
77
|
-
Each command file follows this structure:
|
|
78
|
-
|
|
79
|
-
```toml
|
|
80
|
-
description = "Brief description shown in command list"
|
|
81
|
-
|
|
82
|
-
prompt = '''
|
|
83
|
-
# Command Name
|
|
84
|
-
|
|
85
|
-
{{args}} - User input passed to the command
|
|
86
|
-
|
|
87
|
-
## Instructions
|
|
88
|
-
...
|
|
89
|
-
'''
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### String Types
|
|
93
|
-
|
|
94
|
-
- **Basic string** (`"""..."""`): Processes escape sequences
|
|
95
|
-
- **Literal string** (`'''...'''`): Raw content, no escape processing (preferred for complex prompts with code blocks)
|
|
96
|
-
|
|
97
|
-
> [!NOTE]
|
|
98
|
-
> Use literal strings (`'''`) when your prompt contains nested markdown code blocks to avoid TOML parsing issues.
|
|
99
|
-
|
|
100
|
-
## Usage
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
# In Gemini CLI
|
|
104
|
-
/command-name [arguments]
|
|
105
|
-
|
|
106
|
-
# Examples
|
|
107
|
-
/plan Add user authentication
|
|
108
|
-
/code Implement login form
|
|
109
|
-
/review @src/auth/login.ts
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
## Changelog
|
|
113
|
-
|
|
114
|
-
### 2026-01-24
|
|
115
|
-
- Fixed TOML parsing failure in `docs.toml` by switching from basic strings (`"""`) to literal strings (`'''`) - Issue #9
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## References
|
|
120
|
-
|
|
121
|
-
- [Gemini CLI Commands Documentation](https://ai.google.dev/gemini-api/docs/gemini-cli)
|
|
122
|
-
- [TOML Specification](https://toml.io/en/)
|
|
1
|
+
# Commands
|
|
2
|
+
|
|
3
|
+
This directory contains all **custom slash commands** for the Super-Kit extension. Commands are defined as TOML files and automatically loaded by the AI agent client.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Commands extend Super-Kit's capabilities by providing specialized prompts for specific tasks. Each command file follows the TOML format with `description` and `prompt` fields.
|
|
8
|
+
|
|
9
|
+
## Command Categories
|
|
10
|
+
|
|
11
|
+
| Category | Commands | Purpose |
|
|
12
|
+
|----------|----------|---------|
|
|
13
|
+
| **Planning** | `plan`, `brainstorm` | Create implementation plans |
|
|
14
|
+
| **Coding** | `code`, `fix`, `debug`, `fullstack` | Write and debug code |
|
|
15
|
+
| **Review** | `review`, `review-pr`, `pr` | Code review and PR management |
|
|
16
|
+
| **Documentation** | `docs`, `doc-rules`, `help` | Documentation tasks |
|
|
17
|
+
| **Project** | `project`, `pm`, `status` | Project management |
|
|
18
|
+
| **Git** | `git`, `session` | Git and session management |
|
|
19
|
+
| **Research** | `research`, `scout`, `scout-ext` | Codebase exploration |
|
|
20
|
+
| **Content** | `content`, `copywrite`, `chat` | Content creation |
|
|
21
|
+
| **Database** | `db` | Database operations |
|
|
22
|
+
| **Design** | `design` | UI/UX design tasks |
|
|
23
|
+
| **Testing** | `test` | Testing and QA |
|
|
24
|
+
| **Tools** | `mcp`, `skill`, `screenshot`, `video` | Tool integrations |
|
|
25
|
+
|
|
26
|
+
## Components
|
|
27
|
+
|
|
28
|
+
| Component | Purpose | Status |
|
|
29
|
+
|-----------|---------|--------|
|
|
30
|
+
| `ask.toml` | General Q&A with context | ✅ Active |
|
|
31
|
+
| `brainstorm.toml` | Creative ideation | ✅ Active |
|
|
32
|
+
| `chat.toml` | Conversational interactions | ✅ Active |
|
|
33
|
+
| `code.toml` | Code implementation | ✅ Active |
|
|
34
|
+
| `code-preview.toml` | Code preview mode | ✅ Active |
|
|
35
|
+
| `content.toml` | Content creation | ✅ Active |
|
|
36
|
+
| `cook.toml` | Execute plans step-by-step | ✅ Active |
|
|
37
|
+
| `copywrite.toml` | Marketing copy | ✅ Active |
|
|
38
|
+
| `db.toml` | Database operations | ✅ Active |
|
|
39
|
+
| `debug.toml` | Debugging assistance | ✅ Active |
|
|
40
|
+
| `design.toml` | UI/UX design | ✅ Active |
|
|
41
|
+
| `dev-rules.toml` | Development rules loader | ✅ Active |
|
|
42
|
+
| `do.toml` | Quick task execution | ✅ Active |
|
|
43
|
+
| `doc-rules.toml` | Documentation rules | ✅ Active |
|
|
44
|
+
| `docs.toml` | Documentation management | ✅ Active |
|
|
45
|
+
| `fix.toml` | Bug fixing | ✅ Active |
|
|
46
|
+
| `fullstack.toml` | Full-stack development | ✅ Active |
|
|
47
|
+
| `git.toml` | Git operations | ✅ Active |
|
|
48
|
+
| `help.toml` | Help and guidance | ✅ Active |
|
|
49
|
+
| `integrate.toml` | Integration tasks | ✅ Active |
|
|
50
|
+
| `journal.toml` | Session journaling | ✅ Active |
|
|
51
|
+
| `kit-setup.toml` | Project setup wizard | ✅ Active |
|
|
52
|
+
| `mcp.toml` | MCP server management | ✅ Active |
|
|
53
|
+
| `orchestration.toml` | Multi-agent orchestration | ✅ Active |
|
|
54
|
+
| `plan.toml` | Implementation planning | ✅ Active |
|
|
55
|
+
| `pm.toml` | Project management | ✅ Active |
|
|
56
|
+
| `pr.toml` | Pull request creation | ✅ Active |
|
|
57
|
+
| `project.toml` | Project context | ✅ Active |
|
|
58
|
+
| `research.toml` | Research tasks | ✅ Active |
|
|
59
|
+
| `review-pr.toml` | PR review | ✅ Active |
|
|
60
|
+
| `review.toml` | Code review | ✅ Active |
|
|
61
|
+
| `scout-ext.toml` | Extended codebase exploration | ✅ Active |
|
|
62
|
+
| `scout.toml` | Codebase scout | ✅ Active |
|
|
63
|
+
| `screenshot.toml` | Screenshot capture | ✅ Active |
|
|
64
|
+
| `session.toml` | Session management | ✅ Active |
|
|
65
|
+
| `skill.toml` | Skill creation | ✅ Active |
|
|
66
|
+
| `status.toml` | Status reporting | ✅ Active |
|
|
67
|
+
| `team.toml` | Team coordination | ✅ Active |
|
|
68
|
+
| `test.toml` | Testing tasks | ✅ Active |
|
|
69
|
+
| `ticket.toml` | Issue/ticket management | ✅ Active |
|
|
70
|
+
| `use.toml` | Use existing patterns | ✅ Active |
|
|
71
|
+
| `video.toml` | Video processing | ✅ Active |
|
|
72
|
+
| `watzup.toml` | Quick status check | ✅ Active |
|
|
73
|
+
| `workflow.toml` | Workflow management | ✅ Active |
|
|
74
|
+
|
|
75
|
+
## TOML Structure
|
|
76
|
+
|
|
77
|
+
Each command file follows this structure:
|
|
78
|
+
|
|
79
|
+
```toml
|
|
80
|
+
description = "Brief description shown in command list"
|
|
81
|
+
|
|
82
|
+
prompt = '''
|
|
83
|
+
# Command Name
|
|
84
|
+
|
|
85
|
+
{{args}} - User input passed to the command
|
|
86
|
+
|
|
87
|
+
## Instructions
|
|
88
|
+
...
|
|
89
|
+
'''
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### String Types
|
|
93
|
+
|
|
94
|
+
- **Basic string** (`"""..."""`): Processes escape sequences
|
|
95
|
+
- **Literal string** (`'''...'''`): Raw content, no escape processing (preferred for complex prompts with code blocks)
|
|
96
|
+
|
|
97
|
+
> [!NOTE]
|
|
98
|
+
> Use literal strings (`'''`) when your prompt contains nested markdown code blocks to avoid TOML parsing issues.
|
|
99
|
+
|
|
100
|
+
## Usage
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# In Gemini CLI
|
|
104
|
+
/command-name [arguments]
|
|
105
|
+
|
|
106
|
+
# Examples
|
|
107
|
+
/plan Add user authentication
|
|
108
|
+
/code Implement login form
|
|
109
|
+
/review @src/auth/login.ts
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Changelog
|
|
113
|
+
|
|
114
|
+
### 2026-01-24
|
|
115
|
+
- Fixed TOML parsing failure in `docs.toml` by switching from basic strings (`"""`) to literal strings (`'''`) - Issue #9
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## References
|
|
120
|
+
|
|
121
|
+
- [Gemini CLI Commands Documentation](https://ai.google.dev/gemini-api/docs/gemini-cli)
|
|
122
|
+
- [TOML Specification](https://toml.io/en/)
|