claude-cli-advanced-starter-pack 1.0.14 → 1.0.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-cli-advanced-starter-pack",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
4
4
  "description": "Advanced Claude Code CLI toolkit - agents, hooks, skills, MCP servers, phased development, and GitHub integration",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -49,11 +49,13 @@ const OPTIONAL_FEATURES = [
49
49
  {
50
50
  name: 'happyMode',
51
51
  label: 'Happy Engineering Integration',
52
- description: 'Integration with Happy Coder mobile app for remote session control, checkpoint management, and mobile-optimized responses. Requires Happy Coder app installed separately.',
52
+ description: 'Integration with Happy Coder mobile app for remote session control, checkpoint management, and mobile-optimized responses.',
53
53
  commands: ['happy-start'],
54
54
  hooks: ['happy-checkpoint-manager'], // Only include hooks with templates
55
55
  default: false,
56
56
  requiresPostConfig: true,
57
+ npmPackage: 'happy-coder', // Optional npm package to install
58
+ npmInstallPrompt: 'Install Happy Coder CLI globally? (npm i -g happy-coder)',
57
59
  },
58
60
  {
59
61
  name: 'githubIntegration',
@@ -1846,6 +1848,42 @@ export async function runInit(options = {}) {
1846
1848
  console.log(chalk.dim(' Run /menu → Project Settings after installation to complete setup.'));
1847
1849
  }
1848
1850
 
1851
+ // Check for optional npm package installs from selected features
1852
+ const featuresWithNpm = enabledFeatures.filter((f) => f.npmPackage);
1853
+ if (featuresWithNpm.length > 0) {
1854
+ console.log('');
1855
+ console.log(chalk.bold(' Optional Package Installation\n'));
1856
+
1857
+ for (const feature of featuresWithNpm) {
1858
+ const { installPackage } = await inquirer.prompt([
1859
+ {
1860
+ type: 'confirm',
1861
+ name: 'installPackage',
1862
+ message: feature.npmInstallPrompt || `Install ${feature.npmPackage} globally?`,
1863
+ default: true,
1864
+ },
1865
+ ]);
1866
+
1867
+ if (installPackage) {
1868
+ const npmSpinner = ora(`Installing ${feature.npmPackage}...`).start();
1869
+ try {
1870
+ const { execSync } = await import('child_process');
1871
+ execSync(`npm install -g ${feature.npmPackage}`, {
1872
+ encoding: 'utf8',
1873
+ stdio: ['pipe', 'pipe', 'pipe'],
1874
+ timeout: 120000, // 2 minutes timeout
1875
+ });
1876
+ npmSpinner.succeed(`Installed ${feature.npmPackage} globally`);
1877
+ } catch (error) {
1878
+ npmSpinner.fail(`Failed to install ${feature.npmPackage}`);
1879
+ console.log(chalk.dim(` Run manually: npm install -g ${feature.npmPackage}`));
1880
+ }
1881
+ } else {
1882
+ console.log(chalk.dim(` Skipped. Install later with: npm install -g ${feature.npmPackage}`));
1883
+ }
1884
+ }
1885
+ }
1886
+
1849
1887
  console.log('');
1850
1888
 
1851
1889
  // Step 5: Select slash commands to install
@@ -1,5 +1,30 @@
1
1
  {
2
2
  "releases": [
3
+ {
4
+ "version": "1.0.15",
5
+ "date": "2026-01-30",
6
+ "summary": "Feature: Optional npm package installation for features (Happy Coder support)",
7
+ "highlights": [
8
+ "Features can now define optional npm packages to install globally",
9
+ "Happy Mode feature prompts to install happy-coder CLI during init",
10
+ "Graceful fallback with manual install instructions on failure",
11
+ "2-minute timeout for npm install operations"
12
+ ],
13
+ "newFeatures": {
14
+ "commands": [],
15
+ "agents": [],
16
+ "skills": [],
17
+ "hooks": [],
18
+ "other": [
19
+ {
20
+ "name": "npm-package-install",
21
+ "description": "Features can specify npmPackage and npmInstallPrompt for optional global installs"
22
+ }
23
+ ]
24
+ },
25
+ "breaking": [],
26
+ "deprecated": []
27
+ },
3
28
  {
4
29
  "version": "1.0.14",
5
30
  "date": "2026-01-30",