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.
Files changed (31) hide show
  1. package/.claude/agents/sublation-os/implementation-verifier.md +16 -0
  2. package/.claude/agents/sublation-os/implementer.md +16 -0
  3. package/.claude/commands/sublation-os/address-comments.md +13 -0
  4. package/.claude/commands/sublation-os/consolidate-learnings.md +553 -0
  5. package/.claude/commands/sublation-os/implement-tasks.md +10 -0
  6. package/.claude/commands/sublation-os/investigate.md +14 -4
  7. package/.claude/commands/sublation-os/optimise.md +14 -0
  8. package/.claude/commands/sublation-os/review.md +18 -1
  9. package/.claude/commands/sublation-os/test-plan.md +19 -2
  10. package/.claude/skills/README.md +274 -0
  11. package/.claude/skills/auto-learn/SKILL.md +233 -0
  12. package/.cursor/commands/sublation-os/address-comments.md +74 -0
  13. package/.cursor/commands/sublation-os/commit-message.md +84 -0
  14. package/.cursor/commands/sublation-os/consolidate-learnings.md +553 -0
  15. package/.cursor/commands/sublation-os/create-tasks.md +254 -0
  16. package/.cursor/commands/sublation-os/implement-tasks.md +207 -0
  17. package/.cursor/commands/sublation-os/investigate.md +164 -0
  18. package/.cursor/commands/sublation-os/learn.md +131 -0
  19. package/.cursor/commands/sublation-os/optimise.md +108 -0
  20. package/.cursor/commands/sublation-os/plan-product.md +241 -0
  21. package/.cursor/commands/sublation-os/pr-description.md +15 -0
  22. package/.cursor/commands/sublation-os/recall.md +114 -0
  23. package/.cursor/commands/sublation-os/review.md +12 -0
  24. package/.cursor/commands/sublation-os/shape-spec.md +395 -0
  25. package/.cursor/commands/sublation-os/test-plan.md +12 -0
  26. package/.cursor/commands/sublation-os/write-spec.md +134 -0
  27. package/README.md +50 -13
  28. package/bin/install.js +103 -24
  29. package/package.json +4 -10
  30. package/.claude/agents/sublation-os/implementer-v2.md +0 -542
  31. /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 agents
105
- const srcAgents = path.join(packageDir, '.claude', 'agents', 'sublation-os');
106
- const destAgents = path.join(claudeAgentsDir, 'sublation-os');
107
- copyDirectorySync(srcAgents, destAgents);
108
- log(' ✓ Copied .claude/agents/sublation-os/', 'green');
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 Claude commands
111
- const srcCommands = path.join(packageDir, '.claude', 'commands', 'sublation-os');
112
- const destCommands = path.join(claudeCommandsDir, 'sublation-os');
113
- copyDirectorySync(srcCommands, destCommands);
114
- log(' ✓ Copied .claude/commands/sublation-os/', 'green');
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 Claude Code');
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.1",
4
- "description": "A comprehensive development framework for Claude Code that enhances your AI-assisted development workflow with standards, specifications, memory, and powerful agents",
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
  }