superskills 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +363 -0
  3. package/bin/superskills +6 -0
  4. package/dist/catalog/index.d.ts +11 -0
  5. package/dist/catalog/index.d.ts.map +1 -0
  6. package/dist/catalog/index.js +203 -0
  7. package/dist/catalog/index.js.map +1 -0
  8. package/dist/catalog/tools-catalog.json +243 -0
  9. package/dist/catalog/types.d.ts +59 -0
  10. package/dist/catalog/types.d.ts.map +1 -0
  11. package/dist/catalog/types.js +2 -0
  12. package/dist/catalog/types.js.map +1 -0
  13. package/dist/catalog/ui.d.ts +4 -0
  14. package/dist/catalog/ui.d.ts.map +1 -0
  15. package/dist/catalog/ui.js +86 -0
  16. package/dist/catalog/ui.js.map +1 -0
  17. package/dist/cli/colors.d.ts +8 -0
  18. package/dist/cli/colors.d.ts.map +1 -0
  19. package/dist/cli/colors.js +11 -0
  20. package/dist/cli/colors.js.map +1 -0
  21. package/dist/discovery/analyze.d.ts +5 -0
  22. package/dist/discovery/analyze.d.ts.map +1 -0
  23. package/dist/discovery/analyze.js +190 -0
  24. package/dist/discovery/analyze.js.map +1 -0
  25. package/dist/discovery/core.d.ts +16 -0
  26. package/dist/discovery/core.d.ts.map +1 -0
  27. package/dist/discovery/core.js +51 -0
  28. package/dist/discovery/core.js.map +1 -0
  29. package/dist/discovery/index.d.ts +4 -0
  30. package/dist/discovery/index.d.ts.map +1 -0
  31. package/dist/discovery/index.js +233 -0
  32. package/dist/discovery/index.js.map +1 -0
  33. package/dist/discovery/schema.d.ts +111 -0
  34. package/dist/discovery/schema.d.ts.map +1 -0
  35. package/dist/discovery/schema.js +87 -0
  36. package/dist/discovery/schema.js.map +1 -0
  37. package/dist/discovery/types.d.ts +56 -0
  38. package/dist/discovery/types.d.ts.map +1 -0
  39. package/dist/discovery/types.js +2 -0
  40. package/dist/discovery/types.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +523 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/scaffold/index.d.ts +4 -0
  46. package/dist/scaffold/index.d.ts.map +1 -0
  47. package/dist/scaffold/index.js +262 -0
  48. package/dist/scaffold/index.js.map +1 -0
  49. package/dist/scaffold/templates/claude-md.d.ts +4 -0
  50. package/dist/scaffold/templates/claude-md.d.ts.map +1 -0
  51. package/dist/scaffold/templates/claude-md.js +229 -0
  52. package/dist/scaffold/templates/claude-md.js.map +1 -0
  53. package/dist/scaffold/templates/claude-settings.d.ts +3 -0
  54. package/dist/scaffold/templates/claude-settings.d.ts.map +1 -0
  55. package/dist/scaffold/templates/claude-settings.js +48 -0
  56. package/dist/scaffold/templates/claude-settings.js.map +1 -0
  57. package/dist/scaffold/templates/env-example.d.ts +3 -0
  58. package/dist/scaffold/templates/env-example.d.ts.map +1 -0
  59. package/dist/scaffold/templates/env-example.js +103 -0
  60. package/dist/scaffold/templates/env-example.js.map +1 -0
  61. package/dist/scaffold/templates/package-json.d.ts +2 -0
  62. package/dist/scaffold/templates/package-json.d.ts.map +1 -0
  63. package/dist/scaffold/templates/package-json.js +56 -0
  64. package/dist/scaffold/templates/package-json.js.map +1 -0
  65. package/dist/scaffold/templates/project-files.d.ts +4 -0
  66. package/dist/scaffold/templates/project-files.d.ts.map +1 -0
  67. package/dist/scaffold/templates/project-files.js +459 -0
  68. package/dist/scaffold/templates/project-files.js.map +1 -0
  69. package/dist/scaffold/templates/skill-agents.d.ts +4 -0
  70. package/dist/scaffold/templates/skill-agents.d.ts.map +1 -0
  71. package/dist/scaffold/templates/skill-agents.js +68 -0
  72. package/dist/scaffold/templates/skill-agents.js.map +1 -0
  73. package/dist/scaffold/templates/skill-commands.d.ts +3 -0
  74. package/dist/scaffold/templates/skill-commands.d.ts.map +1 -0
  75. package/dist/scaffold/templates/skill-commands.js +509 -0
  76. package/dist/scaffold/templates/skill-commands.js.map +1 -0
  77. package/dist/scaffold/templates/teammate-prompts.d.ts +8 -0
  78. package/dist/scaffold/templates/teammate-prompts.d.ts.map +1 -0
  79. package/dist/scaffold/templates/teammate-prompts.js +506 -0
  80. package/dist/scaffold/templates/teammate-prompts.js.map +1 -0
  81. package/dist/scaffold/types.d.ts +68 -0
  82. package/dist/scaffold/types.d.ts.map +1 -0
  83. package/dist/scaffold/types.js +2 -0
  84. package/dist/scaffold/types.js.map +1 -0
  85. package/dist/scaffold/ui.d.ts +5 -0
  86. package/dist/scaffold/ui.d.ts.map +1 -0
  87. package/dist/scaffold/ui.js +127 -0
  88. package/dist/scaffold/ui.js.map +1 -0
  89. package/dist/utils/logger.d.ts +3 -0
  90. package/dist/utils/logger.d.ts.map +1 -0
  91. package/dist/utils/logger.js +8 -0
  92. package/dist/utils/logger.js.map +1 -0
  93. package/package.json +69 -0
@@ -0,0 +1,127 @@
1
+ import * as p from '@clack/prompts';
2
+ import pc from 'picocolors';
3
+ import path from 'path';
4
+ import { scaffold } from './index.js';
5
+ export async function runScaffold(discovery, tools) {
6
+ p.intro(pc.bgGreen(pc.black(' Scaffold ')));
7
+ console.log(pc.dim('\n Generating AI-native project with SuperSkills.\n'));
8
+ // Ask for output directory
9
+ const outputDir = await p.text({
10
+ message: 'Output directory:',
11
+ placeholder: './',
12
+ initialValue: './',
13
+ validate: (v) => {
14
+ if (!v)
15
+ return 'Please specify an output directory';
16
+ return undefined;
17
+ }
18
+ });
19
+ if (p.isCancel(outputDir)) {
20
+ p.cancel('Cancelled');
21
+ return null;
22
+ }
23
+ // Confirm
24
+ const projectName = slugify(discovery.projectName);
25
+ const fullPath = path.resolve(outputDir, projectName);
26
+ console.log('');
27
+ p.note(pc.bold('Project: ') + projectName + '\n' +
28
+ pc.bold('Path: ') + fullPath + '\n\n' +
29
+ pc.bold('Will create:\n') +
30
+ pc.dim(' - CLAUDE.md (living document)\n') +
31
+ pc.dim(' - .claude/settings.json (hooks)\n') +
32
+ pc.dim(' - .claude/agents/ (5 subagents)\n') +
33
+ pc.dim(' - .claude/skills/ (10 slash commands)\n') +
34
+ pc.dim(' - Next.js + Tailwind project\n') +
35
+ pc.dim(' - Inngest workflows\n') +
36
+ pc.dim(' - Supabase setup\n') +
37
+ pc.dim(' - Delivery integrations'), 'Scaffold Preview');
38
+ const confirm = await p.confirm({
39
+ message: 'Proceed with scaffold?',
40
+ initialValue: true
41
+ });
42
+ if (p.isCancel(confirm) || !confirm) {
43
+ p.cancel('Cancelled');
44
+ return null;
45
+ }
46
+ // Run scaffold
47
+ const spinner = p.spinner();
48
+ spinner.start('Generating project...');
49
+ try {
50
+ const result = await scaffold({ discovery, tools }, { outputDir: outputDir });
51
+ spinner.stop('Project generated');
52
+ // Display results
53
+ displayResults(result);
54
+ console.log('');
55
+ console.log(pc.green(' +-----------------------------------------+'));
56
+ console.log(pc.green(' | |'));
57
+ console.log(pc.green(' | Project ready. Skills armed. |'));
58
+ console.log(pc.green(' | Open in Claude Code and start. |'));
59
+ console.log(pc.green(' | |'));
60
+ console.log(pc.green(' +-----------------------------------------+'));
61
+ p.outro(pc.dim('superskills'));
62
+ return result;
63
+ }
64
+ catch (error) {
65
+ spinner.stop('Scaffold failed');
66
+ if (error instanceof Error) {
67
+ p.log.error(error.message);
68
+ }
69
+ return null;
70
+ }
71
+ }
72
+ function displayResults(result) {
73
+ console.log('');
74
+ // Files created
75
+ p.note(result.filesCreated.map(f => pc.dim(` ${f}`)).join('\n'), `Files Created (${result.filesCreated.length})`);
76
+ // Next steps
77
+ const projectDir = path.basename(result.projectPath);
78
+ p.note(pc.cyan(`1. cd ${projectDir}`) + '\n' +
79
+ pc.cyan('2. npm install') + '\n' +
80
+ pc.cyan('3. cp .env.example .env.local') + '\n' +
81
+ pc.cyan('4. Fill in .env.local (see below)') + '\n' +
82
+ pc.cyan('5. npx supabase start') + pc.dim(' (local Supabase, needs Docker)') + '\n' +
83
+ pc.cyan('6. npm run dev') + '\n' +
84
+ pc.cyan('7. Open Claude Code in this folder and run the init skills:') + '\n' +
85
+ pc.dim(' /strategy-init /design-init /trust-init /testing-init'), 'Next Steps');
86
+ // Env var guide
87
+ const envGuide = [
88
+ ['ANTHROPIC_API_KEY', 'console.anthropic.com/settings/keys'],
89
+ ['OPENAI_API_KEY', 'platform.openai.com/api-keys'],
90
+ ['SUPABASE_URL', 'Printed by `npx supabase start` or app.supabase.com'],
91
+ ['SUPABASE_ANON_KEY', 'Printed by `npx supabase start` or app.supabase.com'],
92
+ ['SUPABASE_SERVICE_ROLE_KEY', 'Printed by `npx supabase start` or app.supabase.com'],
93
+ ['SHADCNBLOCKS_API_KEY', 'shadcnblocks.com/dashboard (optional, for pro blocks)'],
94
+ ];
95
+ // Add delivery-specific env vars
96
+ const deliveryEnvMap = {
97
+ BREVO_API_KEY: ['BREVO_API_KEY', 'app.brevo.com/settings/keys/api'],
98
+ TELEGRAM_BOT_TOKEN: ['TELEGRAM_BOT_TOKEN', 'Talk to @BotFather on Telegram'],
99
+ SLACK_BOT_TOKEN: ['SLACK_BOT_TOKEN', 'api.slack.com/apps'],
100
+ SLACK_SIGNING_SECRET: ['SLACK_SIGNING_SECRET', 'api.slack.com/apps'],
101
+ DISCORD_BOT_TOKEN: ['DISCORD_BOT_TOKEN', 'discord.com/developers/applications'],
102
+ APIFY_API_TOKEN: ['APIFY_API_TOKEN', 'console.apify.com/account/integrations'],
103
+ SUPERMEMORY_API_KEY: ['SUPERMEMORY_API_KEY', 'supermemory.ai'],
104
+ };
105
+ for (const envVar of result.envVars) {
106
+ if (deliveryEnvMap[envVar]) {
107
+ envGuide.push(deliveryEnvMap[envVar]);
108
+ }
109
+ }
110
+ p.note(envGuide.map(([name, where]) => pc.bold(name) + '\n' + pc.dim(` ${where}`)).join('\n\n'), 'Where to get each key');
111
+ // Skills info
112
+ p.note(pc.bold('Skills configured:\n') +
113
+ result.agentTeam.skills.map(s => pc.dim(` - ${s.name}: ${s.focus}`)).join('\n') + '\n\n' +
114
+ pc.bold('Autonomous hooks:\n') +
115
+ pc.dim(' - SessionStart: first-run detection\n') +
116
+ pc.dim(' - PreToolUse: fast security gate\n') +
117
+ pc.dim(' - PostToolUse: fast security gate\n') +
118
+ pc.dim(' - Stop: full audit (tests + trust + strategy + design)\n') +
119
+ pc.dim(' writes all findings to CLAUDE.md'), 'SuperSkills');
120
+ }
121
+ function slugify(text) {
122
+ return text
123
+ .toLowerCase()
124
+ .replace(/[^a-z0-9]+/g, '-')
125
+ .replace(/^-|-$/g, '');
126
+ }
127
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/scaffold/ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function setVerbose(enabled: boolean): void;
2
+ export declare function isVerbose(): boolean;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEjD;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC"}
@@ -0,0 +1,8 @@
1
+ let verboseMode = false;
2
+ export function setVerbose(enabled) {
3
+ verboseMode = enabled;
4
+ }
5
+ export function isVerbose() {
6
+ return verboseMode;
7
+ }
8
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,WAAW,GAAG,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,WAAW,CAAC;AACrB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "superskills",
3
+ "version": "0.1.0",
4
+ "description": "AI-native product development assistant - Skills that amplify human capabilities",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "superskills": "./bin/superskills"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "bin",
13
+ "README.md",
14
+ "LICENSE"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc && cp src/catalog/tools-catalog.json dist/catalog/",
18
+ "dev": "tsx src/index.ts",
19
+ "dev:watch": "tsx watch --clear-screen=false --ignore 'dist/**' --ignore 'node_modules/**' src/index.ts",
20
+ "start": "node dist/index.js",
21
+ "test": "vitest",
22
+ "test:watch": "vitest --watch",
23
+ "lint": "eslint src/",
24
+ "check-sync": "bash scripts/check-sync.sh",
25
+ "type-check": "tsc --noEmit",
26
+ "clean": "rm -rf dist",
27
+ "prepublishOnly": "npm run build"
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/Play-New/SuperSkills.git"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/Play-New/SuperSkills/issues"
35
+ },
36
+ "homepage": "https://github.com/Play-New/SuperSkills",
37
+ "keywords": [
38
+ "ai-native",
39
+ "product-development",
40
+ "discovery",
41
+ "cli",
42
+ "ai",
43
+ "claude",
44
+ "skills"
45
+ ],
46
+ "author": "Play New",
47
+ "license": "MIT",
48
+ "dependencies": {
49
+ "@anthropic-ai/sdk": "^0.76.0",
50
+ "@clack/prompts": "^1.0.1",
51
+ "commander": "^14.0.3",
52
+ "fs-extra": "^11.2.0",
53
+ "picocolors": "^1.0.0",
54
+ "zod": "^4.3.6"
55
+ },
56
+ "devDependencies": {
57
+ "@types/fs-extra": "^11.0.4",
58
+ "@types/node": "^20.10.0",
59
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
60
+ "@typescript-eslint/parser": "^8.56.0",
61
+ "eslint": "^9.39.2",
62
+ "tsx": "^4.7.0",
63
+ "typescript": "^5.3.3",
64
+ "vitest": "^4.0.18"
65
+ },
66
+ "engines": {
67
+ "node": ">=20.0.0"
68
+ }
69
+ }