odd-studio 2.2.0 → 2.2.1

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/bin/odd-studio.js CHANGED
@@ -62,7 +62,7 @@ program
62
62
  console.log(chalk.bold(` Setting up: ${chalk.cyan(resolvedName)}\n`));
63
63
 
64
64
  // 1. Scaffold project structure
65
- print.step(1, 4, 'Creating project structure...');
65
+ print.step(1, 5, 'Creating project structure...');
66
66
  const spinner1 = ora({ text: '', indent: 4 }).start();
67
67
  try {
68
68
  await scaffoldProject(targetDir, resolvedName);
@@ -76,7 +76,7 @@ program
76
76
 
77
77
  // 2. Install /odd skill
78
78
  if (!options.skipSkill) {
79
- print.step(2, 4, 'Installing /odd skill into Claude Code...');
79
+ print.step(2, 5, 'Installing /odd skill into Claude Code...');
80
80
  const spinner2 = ora({ text: '', indent: 4 }).start();
81
81
  try {
82
82
  const result = await installSkill(PACKAGE_ROOT);
@@ -88,13 +88,13 @@ program
88
88
  print.info('Manual install: copy ' + chalk.dim('skill/') + ' to ' + chalk.dim('~/.claude/skills/odd/'));
89
89
  }
90
90
  } else {
91
- print.step(2, 4, 'Skipping skill install (--skip-skill)');
91
+ print.step(2, 5, 'Skipping skill install (--skip-skill)');
92
92
  print.warn('Remember to install the skill manually for /odd to work in Claude Code.');
93
93
  }
94
94
 
95
95
  // 3. Setup hooks
96
96
  if (!options.skipHooks) {
97
- print.step(3, 4, 'Installing safety hooks into Claude Code settings...');
97
+ print.step(3, 5, 'Installing safety hooks into Claude Code settings...');
98
98
  const spinner3 = ora({ text: '', indent: 4 }).start();
99
99
  try {
100
100
  const result = await setupHooks(PACKAGE_ROOT);
@@ -106,7 +106,7 @@ program
106
106
  print.info('Manual install: add entries from ' + chalk.dim('hooks/') + ' to ~/.claude/settings.json');
107
107
  }
108
108
  } else {
109
- print.step(3, 4, 'Skipping hooks (--skip-hooks)');
109
+ print.step(3, 5, 'Skipping hooks (--skip-hooks)');
110
110
  print.warn('Safety hooks not installed. Git guardrails and quality gates will not run.');
111
111
  }
112
112
 
@@ -152,8 +152,9 @@ program
152
152
  if (projectName) {
153
153
  console.log(' 1. ' + chalk.cyan(`cd ${projectName}`));
154
154
  }
155
- console.log(' ' + (projectName ? '2' : '1') + '. Open Claude Code: ' + chalk.cyan('claude .'));
156
- console.log(' ' + (projectName ? '3' : '2') + '. Start your ODD session: ' + chalk.cyan('/odd'));
155
+ console.log(' ' + (projectName ? '2' : '1') + '. Restart Claude Code: ' + chalk.cyan('quit and reopen') + chalk.dim(' (activates ruflo memory + hooks)'));
156
+ console.log(' ' + (projectName ? '3' : '2') + '. Open your project: ' + chalk.cyan('claude .'));
157
+ console.log(' ' + (projectName ? '4' : '3') + '. Start your ODD session: ' + chalk.cyan('/odd'));
157
158
  print.blank();
158
159
 
159
160
  console.log(chalk.dim(' ODD Studio implements Outcome-Driven Development.'));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "odd-studio",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Outcome-Driven Development for Claude Code — a planning and build harness for domain experts building serious software with AI.",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -22,6 +22,7 @@ Promise.all([
22
22
  ])
23
23
  .then(() => {
24
24
  console.log('✓ ODD Studio: /odd skill, safety hooks, and ruflo memory installed into Claude Code');
25
+ console.log(' → Restart Claude Code now to activate ruflo memory and hooks.');
25
26
  console.log(' Run: npx odd-studio init [project-name] to scaffold your first project.');
26
27
  })
27
28
  .catch((e) => {