claude-code-autoconfig 1.0.161 → 1.0.162

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 (3) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/bin/cli.js +48 -1
  3. package/package.json +6 -3
package/CHANGELOG.md ADDED
@@ -0,0 +1,152 @@
1
+ # Changelog
2
+
3
+ ## v1.0.161
4
+ - fix(docs): top-align and left-align table cells in sync script
5
+
6
+ ## v1.0.160
7
+ - fix: hide same-version updates in CLI output, top-align docs tables
8
+
9
+ ## v1.0.159
10
+ - fix: exclude cca.config.json from npm publish
11
+
12
+ ## v1.0.158
13
+ - fix(gls): persist screenshot path in local config, fix Windows paths
14
+
15
+ ## v1.0.157
16
+ - feat: stop pre-populating CLAUDE.md with project descriptions
17
+
18
+ ## v1.0.156
19
+ - fix: clean up inside-Claude block message wording
20
+
21
+ ## v1.0.155
22
+ - feat: pre-approve permissions for all shipped command dependencies
23
+
24
+ ## v1.0.154
25
+ - fix: enforce ls -t over find in gls command to avoid permission prompts
26
+
27
+ ## v1.0.153
28
+ - style: left-align all table cells in docs info cards
29
+
30
+ ## v1.0.152
31
+ - fix: warn against ! prefix workaround in inside-Claude message
32
+
33
+ ## v1.0.151
34
+ - fix: scope find permission to project directory for security
35
+
36
+ ## v1.0.150
37
+ - style: use pointing emoji in inside-Claude message
38
+
39
+ ## v1.0.149
40
+ - style: consolidate inside-Claude message to two lines
41
+
42
+ ## v1.0.148
43
+ - fix: refine inside-Claude error wording
44
+
45
+ ## v1.0.147
46
+ - fix: make inside-Claude error message more specific
47
+
48
+ ## v1.0.146
49
+ - style: improve inside-Claude block message formatting
50
+
51
+ ## v1.0.145
52
+ - fix: block npx install from inside Claude Code session
53
+
54
+ ## v1.0.144
55
+ - feat: swagger-style docs, wider layout, better install UX
56
+
57
+ ## v1.0.143
58
+ - feat: add /validate-cca-install command
59
+
60
+ ## v1.0.142
61
+ - feat(recover-context): support cross-session recovery
62
+
63
+ ## v1.0.141
64
+ - fix: replace Windows NUL cleanup with cross-platform command
65
+
66
+ ## v1.0.140
67
+ - docs: trim recover-context usage to essential examples
68
+
69
+ ## v1.0.139
70
+ - fix: render usage params as structured HTML list in docs info cards
71
+
72
+ ## v1.0.138
73
+ - feat: auto-include Usage sections in docs info cards
74
+
75
+ ## v1.0.137
76
+ - docs: add usage params to recover-context docs and make dash optional
77
+
78
+ ## v1.0.136
79
+ - fix: modernize permission syntax and merge perms on upgrade
80
+
81
+ ## v1.0.135
82
+ - feat: auto-sync docs with .claude/ contents via sync-docs.js
83
+
84
+ ## v1.0.134
85
+ - fix: add missing hooks/updates to docs, expand sync tests
86
+
87
+ ## v1.0.133
88
+ - fix: add recover-context, gls, and autoconfig-update to interactive docs
89
+
90
+ ## v1.0.132
91
+ - fix: strengthen bootstrap step instruction so Claude executes it
92
+
93
+ ## v1.0.131
94
+ - feat: support running autoconfig from inside Claude Code sessions
95
+
96
+ ## v1.0.130
97
+ - fix: block interactive install from inside Claude Code sessions
98
+
99
+ ## v1.0.129
100
+ - fix: tighten /recover-context confirmation to single line
101
+
102
+ ## v1.0.128
103
+ - fix: show estimated tokens instead of bytes in /recover-context
104
+
105
+ ## v1.0.127
106
+ - feat: SessionStart hook for feedback migration, merge hooks on upgrade
107
+
108
+ ## v1.0.126
109
+ - feat: add FEEDBACK.md migration to /autoconfig Step 0
110
+
111
+ ## v1.0.125
112
+ - feat: auto-migrate FEEDBACK.md to Discoveries during CLI upgrade
113
+
114
+ ## v1.0.124
115
+ - fix: remove Step 0 from /autoconfig, clarify terminal requirement
116
+
117
+ ## v1.0.123
118
+ - fix: use npm exec instead of npx in Step 0
119
+
120
+ ## v1.0.122
121
+ - feat: /autoconfig pulls latest package before configuring
122
+
123
+ ## v1.0.121
124
+ - feat: add feedback-to-discoveries migration update (004)
125
+
126
+ ## v1.0.120
127
+ - feat: separate Claude discoveries from human feedback
128
+
129
+ ## v1.0.119
130
+ - fix: remove nul deny rules that block Windows bash redirections
131
+
132
+ ## v1.0.118
133
+ - feat: add feedback-to-rules migration update (003)
134
+
135
+ ## v1.0.117
136
+ - refactor: let Claude evaluate rule migration candidates
137
+
138
+ ## v1.0.116
139
+ - feat: improve FEEDBACK.md reliability and add rule migration hook
140
+
141
+ ## v1.0.115
142
+ - feat: add @version tracking to all command files
143
+
144
+ ## v1.0.114
145
+ - fix: detect updated commands, remove redundant update file
146
+
147
+ ## v1.0.113
148
+ - fix: remove redundant installed commands list from upgrade output
149
+
150
+ ## v1.0.112
151
+ - fix: show installed commands summary on upgrade
152
+
package/bin/cli.js CHANGED
@@ -297,6 +297,13 @@ cp .claude/migration/${timestamp}/settings.json .claude/settings.json
297
297
  }
298
298
  }
299
299
 
300
+ // Read previous installed version (before copying overwrites it)
301
+ const versionFile = path.join(claudeDest, '.autoconfig-version');
302
+ const previousVersion = fs.existsSync(versionFile)
303
+ ? fs.readFileSync(versionFile, 'utf8').trim()
304
+ : null;
305
+ const currentVersion = require(path.join(packageDir, 'package.json')).version;
306
+
300
307
  // Detect upgrade vs fresh install (must run BEFORE copying files)
301
308
  const isUpgrade = (() => {
302
309
  // Indicator 1: CLAUDE.md has autoconfig marker
@@ -611,6 +618,9 @@ if (isUpgrade) {
611
618
  }
612
619
  }
613
620
 
621
+ // Write current version marker
622
+ fs.writeFileSync(versionFile, currentVersion);
623
+
614
624
  const launchCommand = isUpgrade ? '/autoconfig-update' : '/autoconfig';
615
625
 
616
626
  // --bootstrap: copy files only, exit silently (used by /autoconfig inside Claude)
@@ -647,7 +657,44 @@ if (isUpgrade) {
647
657
  console.log('\x1b[33m║ ║\x1b[0m');
648
658
  console.log('\x1b[33m╚════════════════════════════════════════════╝\x1b[0m');
649
659
  }
650
- console.log();
660
+ // Show changelog on upgrade
661
+ if (isUpgrade && previousVersion) {
662
+ const changelogPath = path.join(packageDir, 'CHANGELOG.md');
663
+ if (fs.existsSync(changelogPath)) {
664
+ const changelog = fs.readFileSync(changelogPath, 'utf8');
665
+ const prevPatch = parseInt(previousVersion.split('.').pop(), 10);
666
+ const entries = [];
667
+ let currentEntry = null;
668
+ for (const line of changelog.split(/\r?\n/)) {
669
+ if (line.startsWith('## v')) {
670
+ const ver = line.slice(3).trim();
671
+ const patch = parseInt(ver.split('.').pop(), 10);
672
+ currentEntry = patch > prevPatch ? { ver, items: [] } : null;
673
+ } else if (currentEntry && line.startsWith('- ')) {
674
+ currentEntry.items.push(line.slice(2));
675
+ } else if (currentEntry && line === '' && currentEntry.items.length > 0) {
676
+ entries.push(currentEntry);
677
+ currentEntry = null;
678
+ }
679
+ }
680
+ if (currentEntry && currentEntry.items.length > 0) entries.push(currentEntry);
681
+ if (entries.length > 0) {
682
+ console.log(`\x1b[90m What's new since v${previousVersion}:\x1b[0m`);
683
+ console.log();
684
+ const show = entries.slice(0, 10);
685
+ for (const e of show) {
686
+ for (const item of e.items) {
687
+ console.log(`\x1b[90m ${e.ver} — ${item}\x1b[0m`);
688
+ }
689
+ }
690
+ const remaining = entries.length - show.length;
691
+ if (remaining > 0) {
692
+ console.log(`\x1b[90m ... and ${remaining} more (see CHANGELOG.md)\x1b[0m`);
693
+ }
694
+ console.log();
695
+ }
696
+ }
697
+ }
651
698
  if (!isUpgrade) {
652
699
  console.log('\x1b[90m%s\x1b[0m', "You'll need to approve a few file prompts to complete the installation.");
653
700
  console.log();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-autoconfig",
3
- "version": "1.0.161",
3
+ "version": "1.0.162",
4
4
  "description": "Intelligent, self-configuring setup for Claude Code. One command analyzes your project, configures Claude, and shows you what it did.",
5
5
  "author": "ADAC 1001 <info@adac1001.com>",
6
6
  "license": "MIT",
@@ -25,7 +25,8 @@
25
25
  "test": "node test/box-alignment.test.js && node test/cli-install.test.js && node test/update-system.test.js",
26
26
  "test:box": "node test/box-alignment.test.js",
27
27
  "test:install": "node test/cli-install.test.js",
28
- "test:update": "node test/update-system.test.js"
28
+ "test:update": "node test/update-system.test.js",
29
+ "preversion": "node scripts/generate-changelog.js && git add CHANGELOG.md"
29
30
  },
30
31
  "bin": {
31
32
  "claude-code-autoconfig": "./bin/cli.js"
@@ -35,9 +36,11 @@
35
36
  ".claude",
36
37
  "!.claude/settings.local.json",
37
38
  "!.claude/cca.config.json",
39
+ "!.claude/.autoconfig-version",
38
40
  "!.claude/commands/publish.md",
39
41
  "!.claude/plans",
40
- "CLAUDE.md"
42
+ "CLAUDE.md",
43
+ "CHANGELOG.md"
41
44
  ],
42
45
  "engines": {
43
46
  "node": ">=16.0.0"