@thynameisjayvee/alpha-cli 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.
- package/LICENSE +21 -0
- package/README.md +143 -0
- package/bin/alpha.js +15 -0
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +125 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/alpha.d.ts +64 -0
- package/dist/core/alpha.d.ts.map +1 -0
- package/dist/core/alpha.js +94 -0
- package/dist/core/alpha.js.map +1 -0
- package/dist/core/generator/index.d.ts +16 -0
- package/dist/core/generator/index.d.ts.map +1 -0
- package/dist/core/generator/index.js +231 -0
- package/dist/core/generator/index.js.map +1 -0
- package/dist/core/implementation/index.d.ts +22 -0
- package/dist/core/implementation/index.d.ts.map +1 -0
- package/dist/core/implementation/index.js +398 -0
- package/dist/core/implementation/index.js.map +1 -0
- package/dist/core/init/catalog.d.ts +23 -0
- package/dist/core/init/catalog.d.ts.map +1 -0
- package/dist/core/init/catalog.js +87 -0
- package/dist/core/init/catalog.js.map +1 -0
- package/dist/core/init/index.d.ts +10 -0
- package/dist/core/init/index.d.ts.map +1 -0
- package/dist/core/init/index.js +214 -0
- package/dist/core/init/index.js.map +1 -0
- package/dist/core/requirements/index.d.ts +10 -0
- package/dist/core/requirements/index.d.ts.map +1 -0
- package/dist/core/requirements/index.js +232 -0
- package/dist/core/requirements/index.js.map +1 -0
- package/dist/core/reviewer/index.d.ts +29 -0
- package/dist/core/reviewer/index.d.ts.map +1 -0
- package/dist/core/reviewer/index.js +419 -0
- package/dist/core/reviewer/index.js.map +1 -0
- package/dist/core/stack/index.d.ts +10 -0
- package/dist/core/stack/index.d.ts.map +1 -0
- package/dist/core/stack/index.js +243 -0
- package/dist/core/stack/index.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +128 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config.d.ts +105 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +99 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/file-system.d.ts +17 -0
- package/dist/utils/file-system.d.ts.map +1 -0
- package/dist/utils/file-system.js +48 -0
- package/dist/utils/file-system.js.map +1 -0
- package/dist/utils/input.d.ts +18 -0
- package/dist/utils/input.d.ts.map +1 -0
- package/dist/utils/input.js +50 -0
- package/dist/utils/input.js.map +1 -0
- package/dist/utils/logger.d.ts +37 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +109 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/paths.d.ts +26 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +51 -0
- package/dist/utils/paths.js.map +1 -0
- package/package.json +79 -0
- package/scripts/postinstall.js +110 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Post-install script for @thynameisjayvee/alpha-cli
|
|
5
|
+
*
|
|
6
|
+
* Keeps setup minimal and non-destructive:
|
|
7
|
+
* 1. Creates the .alpha/ directory in the user's project
|
|
8
|
+
* 2. Adds .alpha/ to .gitignore
|
|
9
|
+
* 3. Creates a default config file
|
|
10
|
+
*
|
|
11
|
+
* The agent skill surface (AGENTS.md, SKILL.md, .cursor/.claude command files)
|
|
12
|
+
* is generated on demand by `alpha init`, not here.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import fs from 'fs';
|
|
16
|
+
import path from 'path';
|
|
17
|
+
import { fileURLToPath } from 'url';
|
|
18
|
+
|
|
19
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
|
|
21
|
+
const DEFAULT_CONFIG = {
|
|
22
|
+
version: '0.1.0',
|
|
23
|
+
output: {
|
|
24
|
+
alphaDir: '.alpha',
|
|
25
|
+
specsDir: '.alpha/specs',
|
|
26
|
+
reportsDir: '.alpha/reports',
|
|
27
|
+
},
|
|
28
|
+
review: {
|
|
29
|
+
defaultChecks: ['quality', 'security', 'performance'],
|
|
30
|
+
},
|
|
31
|
+
spec: {
|
|
32
|
+
defaultType: 'feature',
|
|
33
|
+
generateBDD: true,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Find the user's project root (not alpha's package root)
|
|
39
|
+
*/
|
|
40
|
+
function findProjectRoot() {
|
|
41
|
+
let currentDir = path.resolve(__dirname, '..');
|
|
42
|
+
|
|
43
|
+
// Walk up until we find package.json (not in node_modules)
|
|
44
|
+
while (currentDir !== path.parse(currentDir).root) {
|
|
45
|
+
const pkgPath = path.join(currentDir, 'package.json');
|
|
46
|
+
if (fs.existsSync(pkgPath)) {
|
|
47
|
+
// Make sure it's not in node_modules
|
|
48
|
+
if (!currentDir.includes('node_modules')) {
|
|
49
|
+
return currentDir;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
currentDir = path.dirname(currentDir);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Fallback: use current directory
|
|
56
|
+
return process.cwd();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Main postinstall function
|
|
61
|
+
*/
|
|
62
|
+
function postinstall() {
|
|
63
|
+
try {
|
|
64
|
+
const projectRoot = findProjectRoot();
|
|
65
|
+
const alphaDir = path.join(projectRoot, '.alpha');
|
|
66
|
+
const gitignorePath = path.join(projectRoot, '.gitignore');
|
|
67
|
+
const configPath = path.join(alphaDir, 'config.json');
|
|
68
|
+
|
|
69
|
+
// 1. Create .alpha/ directory
|
|
70
|
+
if (!fs.existsSync(alphaDir)) {
|
|
71
|
+
fs.mkdirSync(alphaDir, { recursive: true });
|
|
72
|
+
console.log('✓ Created .alpha/ directory');
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// 2. Add to .gitignore
|
|
76
|
+
let gitignore = '';
|
|
77
|
+
if (fs.existsSync(gitignorePath)) {
|
|
78
|
+
gitignore = fs.readFileSync(gitignorePath, 'utf-8');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (!gitignore.includes('.alpha/')) {
|
|
82
|
+
gitignore += '\n# Alpha AI artifacts\n.alpha/\n';
|
|
83
|
+
fs.writeFileSync(gitignorePath, gitignore);
|
|
84
|
+
console.log('✓ Added .alpha/ to .gitignore');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// 3. Create default config
|
|
88
|
+
if (!fs.existsSync(configPath)) {
|
|
89
|
+
fs.writeFileSync(configPath, JSON.stringify(DEFAULT_CONFIG, null, 2));
|
|
90
|
+
console.log('✓ Created .alpha/config.json');
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
console.log('\nAlpha installed.');
|
|
94
|
+
console.log('\nNext step:');
|
|
95
|
+
console.log(' npx alpha init - Generate agent skill files (AGENTS.md, etc.)');
|
|
96
|
+
console.log('\nThen drive Alpha from your LLM agent or terminal:');
|
|
97
|
+
console.log(' alpha gather - Capture project requirements');
|
|
98
|
+
console.log(' alpha review - Run deterministic code review');
|
|
99
|
+
console.log(' alpha implement - Get a fix plan to apply yourself\n');
|
|
100
|
+
|
|
101
|
+
} catch (error) {
|
|
102
|
+
console.error('⚠️ Alpha postinstall warning:');
|
|
103
|
+
console.error(' Could not complete setup automatically.');
|
|
104
|
+
console.error(' Please create .alpha/ directory manually.');
|
|
105
|
+
console.error(' Error:', error.message);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Run postinstall
|
|
110
|
+
postinstall();
|