sublation-os 1.0.1 → 1.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/.claude/agents/sublation-os/implementation-verifier.md +16 -0
- package/.claude/agents/sublation-os/implementer.md +16 -0
- package/.claude/commands/sublation-os/address-comments.md +13 -0
- package/.claude/commands/sublation-os/consolidate-learnings.md +553 -0
- package/.claude/commands/sublation-os/implement-tasks.md +10 -0
- package/.claude/commands/sublation-os/investigate.md +14 -4
- package/.claude/commands/sublation-os/optimise.md +14 -0
- package/.claude/commands/sublation-os/review.md +18 -1
- package/.claude/commands/sublation-os/test-plan.md +19 -2
- package/.claude/skills/README.md +274 -0
- package/.claude/skills/auto-learn/SKILL.md +233 -0
- package/.cursor/commands/sublation-os/address-comments.md +74 -0
- package/.cursor/commands/sublation-os/commit-message.md +84 -0
- package/.cursor/commands/sublation-os/consolidate-learnings.md +553 -0
- package/.cursor/commands/sublation-os/create-tasks.md +254 -0
- package/.cursor/commands/sublation-os/implement-tasks.md +207 -0
- package/.cursor/commands/sublation-os/investigate.md +164 -0
- package/.cursor/commands/sublation-os/learn.md +131 -0
- package/.cursor/commands/sublation-os/optimise.md +108 -0
- package/.cursor/commands/sublation-os/plan-product.md +241 -0
- package/.cursor/commands/sublation-os/pr-description.md +15 -0
- package/.cursor/commands/sublation-os/recall.md +114 -0
- package/.cursor/commands/sublation-os/review.md +12 -0
- package/.cursor/commands/sublation-os/shape-spec.md +395 -0
- package/.cursor/commands/sublation-os/test-plan.md +12 -0
- package/.cursor/commands/sublation-os/write-spec.md +134 -0
- package/README.md +50 -13
- package/bin/install.js +103 -24
- package/package.json +4 -10
- package/.claude/agents/sublation-os/implementer-v2.md +0 -542
- /package/{.claude → .cursor}/commands/sublation-os/review-v2.md +0 -0
package/bin/install.js
CHANGED
|
@@ -55,7 +55,40 @@ function askQuestion(query) {
|
|
|
55
55
|
);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
// Parse command line arguments
|
|
59
|
+
function parseArguments() {
|
|
60
|
+
const args = process.argv.slice(2);
|
|
61
|
+
const options = {
|
|
62
|
+
claude: false,
|
|
63
|
+
cursor: false,
|
|
64
|
+
all: false,
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
for (const arg of args) {
|
|
68
|
+
if (arg === '--claude') options.claude = true;
|
|
69
|
+
if (arg === '--cursor') options.cursor = true;
|
|
70
|
+
if (arg === '--all') options.all = true;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// If --all is specified, enable both
|
|
74
|
+
if (options.all) {
|
|
75
|
+
options.claude = true;
|
|
76
|
+
options.cursor = true;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// If neither is specified, default to --all
|
|
80
|
+
if (!options.claude && !options.cursor && !options.all) {
|
|
81
|
+
options.claude = true;
|
|
82
|
+
options.cursor = true;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return options;
|
|
86
|
+
}
|
|
87
|
+
|
|
58
88
|
async function install() {
|
|
89
|
+
// Parse command line arguments
|
|
90
|
+
const installOptions = parseArguments();
|
|
91
|
+
|
|
59
92
|
// Determine source directory (where the npm package is installed)
|
|
60
93
|
const packageDir = path.resolve(__dirname, '..');
|
|
61
94
|
|
|
@@ -64,6 +97,12 @@ async function install() {
|
|
|
64
97
|
|
|
65
98
|
log('Sublation-OS Framework Installer', 'green');
|
|
66
99
|
log(`Installing to: ${targetDir}`, 'blue');
|
|
100
|
+
|
|
101
|
+
// Show what will be installed
|
|
102
|
+
const integrations = [];
|
|
103
|
+
if (installOptions.claude) integrations.push('Claude Code');
|
|
104
|
+
if (installOptions.cursor) integrations.push('Cursor');
|
|
105
|
+
log(`Integrations: ${integrations.join(', ')}`, 'blue');
|
|
67
106
|
console.log('');
|
|
68
107
|
|
|
69
108
|
// Check if already installed
|
|
@@ -86,32 +125,62 @@ async function install() {
|
|
|
86
125
|
fs.renameSync(sublationOsPath, backupPath);
|
|
87
126
|
}
|
|
88
127
|
|
|
89
|
-
// Create .claude directory if it doesn't exist
|
|
90
|
-
const claudeAgentsDir = path.join(targetDir, '.claude', 'agents');
|
|
91
|
-
const claudeCommandsDir = path.join(targetDir, '.claude', 'commands');
|
|
92
|
-
fs.mkdirSync(claudeAgentsDir, { recursive: true });
|
|
93
|
-
fs.mkdirSync(claudeCommandsDir, { recursive: true });
|
|
94
|
-
|
|
95
128
|
// Copy framework files
|
|
96
129
|
log('📦 Copying framework files...', 'blue');
|
|
97
130
|
|
|
98
131
|
try {
|
|
99
|
-
// Copy .sublation-os directory
|
|
132
|
+
// Copy .sublation-os directory (always copied)
|
|
100
133
|
const srcSublationOs = path.join(packageDir, '.sublation-os');
|
|
101
134
|
copyDirectorySync(srcSublationOs, sublationOsPath);
|
|
102
135
|
log(' ✓ Copied .sublation-os/', 'green');
|
|
103
136
|
|
|
104
|
-
// Copy Claude
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
137
|
+
// Copy Claude integration if requested
|
|
138
|
+
if (installOptions.claude) {
|
|
139
|
+
const claudeAgentsDir = path.join(targetDir, '.claude', 'agents');
|
|
140
|
+
const claudeCommandsDir = path.join(targetDir, '.claude', 'commands');
|
|
141
|
+
const claudeSkillsDir = path.join(targetDir, '.claude', 'skills');
|
|
142
|
+
fs.mkdirSync(claudeAgentsDir, { recursive: true });
|
|
143
|
+
fs.mkdirSync(claudeCommandsDir, { recursive: true });
|
|
144
|
+
fs.mkdirSync(claudeSkillsDir, { recursive: true });
|
|
145
|
+
|
|
146
|
+
// Copy Claude agents
|
|
147
|
+
const srcAgents = path.join(packageDir, '.claude', 'agents', 'sublation-os');
|
|
148
|
+
const destAgents = path.join(claudeAgentsDir, 'sublation-os');
|
|
149
|
+
if (fs.existsSync(srcAgents)) {
|
|
150
|
+
copyDirectorySync(srcAgents, destAgents);
|
|
151
|
+
log(' ✓ Copied .claude/agents/sublation-os/', 'green');
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Copy Claude commands
|
|
155
|
+
const srcCommands = path.join(packageDir, '.claude', 'commands', 'sublation-os');
|
|
156
|
+
const destCommands = path.join(claudeCommandsDir, 'sublation-os');
|
|
157
|
+
if (fs.existsSync(srcCommands)) {
|
|
158
|
+
copyDirectorySync(srcCommands, destCommands);
|
|
159
|
+
log(' ✓ Copied .claude/commands/sublation-os/', 'green');
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Copy Claude skills
|
|
163
|
+
const srcSkills = path.join(packageDir, '.claude', 'skills');
|
|
164
|
+
const destSkills = path.join(claudeSkillsDir);
|
|
165
|
+
if (fs.existsSync(srcSkills)) {
|
|
166
|
+
copyDirectorySync(srcSkills, destSkills);
|
|
167
|
+
log(' ✓ Copied .claude/skills/', 'green');
|
|
168
|
+
}
|
|
169
|
+
}
|
|
109
170
|
|
|
110
|
-
// Copy
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
171
|
+
// Copy Cursor integration if requested
|
|
172
|
+
if (installOptions.cursor) {
|
|
173
|
+
const cursorCommandsDir = path.join(targetDir, '.cursor', 'commands');
|
|
174
|
+
fs.mkdirSync(cursorCommandsDir, { recursive: true });
|
|
175
|
+
|
|
176
|
+
// Copy Cursor commands
|
|
177
|
+
const srcCursorCommands = path.join(packageDir, '.cursor', 'commands', 'sublation-os');
|
|
178
|
+
const destCursorCommands = path.join(cursorCommandsDir, 'sublation-os');
|
|
179
|
+
if (fs.existsSync(srcCursorCommands)) {
|
|
180
|
+
copyDirectorySync(srcCursorCommands, destCursorCommands);
|
|
181
|
+
log(' ✓ Copied .cursor/commands/sublation-os/', 'green');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
115
184
|
|
|
116
185
|
console.log('');
|
|
117
186
|
log('✅ Sublation-OS Framework installed successfully!', 'green');
|
|
@@ -119,14 +188,24 @@ async function install() {
|
|
|
119
188
|
log('Next steps:', 'blue');
|
|
120
189
|
console.log('1. Review and customize .sublation-os/config.yml for your project');
|
|
121
190
|
console.log('2. Customize .sublation-os/standards/ files for your tech stack');
|
|
122
|
-
console.log('3. Start using the framework with
|
|
123
|
-
console.log('');
|
|
124
|
-
log('Available slash commands:', 'blue');
|
|
125
|
-
console.log(' /sublation-os:learn - Capture learnings');
|
|
126
|
-
console.log(' /sublation-os:plan-product - Create product documentation');
|
|
127
|
-
console.log(' /sublation-os:create-tasks - Generate task list from spec');
|
|
128
|
-
console.log(' /sublation-os:implement-tasks - Implement tasks from spec');
|
|
191
|
+
console.log('3. Start using the framework with your AI editor');
|
|
129
192
|
console.log('');
|
|
193
|
+
|
|
194
|
+
if (installOptions.claude) {
|
|
195
|
+
log('Claude Code - Available slash commands:', 'blue');
|
|
196
|
+
console.log(' /sublation-os:learn - Capture learnings');
|
|
197
|
+
console.log(' /sublation-os:plan-product - Create product documentation');
|
|
198
|
+
console.log(' /sublation-os:create-tasks - Generate task list from spec');
|
|
199
|
+
console.log(' /sublation-os:implement-tasks - Implement tasks from spec');
|
|
200
|
+
console.log('');
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (installOptions.cursor) {
|
|
204
|
+
log('Cursor - Available commands:', 'blue');
|
|
205
|
+
console.log(' Same slash commands are available in Cursor');
|
|
206
|
+
console.log('');
|
|
207
|
+
}
|
|
208
|
+
|
|
130
209
|
log('📚 For more information, see: https://github.com/nicolosaullo/sublation-os', 'blue');
|
|
131
210
|
} catch (error) {
|
|
132
211
|
log(`❌ Installation failed: ${error.message}`, 'red');
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sublation-os",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "A comprehensive development framework for
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "A comprehensive development framework for AI-assisted development that enhances your workflow with standards, specifications, memory, and powerful agents. Works with Claude Code and Cursor.",
|
|
5
5
|
"main": "bin/install.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"sublation-os": "bin/install.js"
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"keywords": [
|
|
13
13
|
"claude",
|
|
14
14
|
"claude-code",
|
|
15
|
+
"cursor",
|
|
15
16
|
"ai",
|
|
16
17
|
"development",
|
|
17
18
|
"framework",
|
|
@@ -32,12 +33,5 @@
|
|
|
32
33
|
"homepage": "https://github.com/nicolosaullo/sublation-os#readme",
|
|
33
34
|
"engines": {
|
|
34
35
|
"node": ">=14.0.0"
|
|
35
|
-
}
|
|
36
|
-
"files": [
|
|
37
|
-
"bin/",
|
|
38
|
-
".sublation-os/",
|
|
39
|
-
".claude/",
|
|
40
|
-
"README.md",
|
|
41
|
-
"LICENSE"
|
|
42
|
-
]
|
|
36
|
+
}
|
|
43
37
|
}
|