Skip to content

Commit 77ae8f8

Browse files
authored
fix: release v0.1.10 - workflow security fixes and template formatting (#15)
* fix: fix minisign checksum verification in publish workflow - Add proper formatting for minisign checksum file - Set read-only permissions at top level following OpenSSF best practices - Move NPM publish after security artifact generation - Fix duplicate jobs section in workflow * fix: add missing newlines to template files - Fix missing newline at end of debugger.md - Fix missing newlines in all command template files - Add newline to end of CLAUDE.md individual preferences section * chore: bump version to 0.1.10 - Update package.json version to 0.1.10 - Update package-lock.json version - Add v0.1.10 changelog entry documenting all fixes
1 parent 783e788 commit 77ae8f8

File tree

12 files changed

+45
-21
lines changed

12 files changed

+45
-21
lines changed

.github/workflows/publish.yml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@ on:
66
- 'v*'
77

88
permissions:
9-
id-token: write
10-
contents: write
11-
attestations: write
12-
9+
contents: read
10+
id-token: write # Required for npm provenance
11+
1312
jobs:
1413
publish:
1514
runs-on: ubuntu-latest
15+
permissions:
16+
contents: write # Required for creating releases
17+
id-token: write # Required for npm provenance
18+
attestations: write # Required for SLSA attestations
1619
steps:
1720
- name: Harden Runner
1821
uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.12.0
@@ -53,11 +56,6 @@ jobs:
5356
- run: npm run build --if-present
5457
- run: npm test
5558

56-
- name: Publish with provenance
57-
run: npm publish --provenance --access public
58-
env:
59-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
60-
6159
- name: Create package tarball and set version
6260
run: |
6361
npm pack
@@ -69,6 +67,8 @@ jobs:
6967
# Download minisign with checksum verification
7068
curl -LO https://github.com/jedisct1/minisign/releases/download/0.12/minisign-0.12-linux.tar.gz
7169
curl -LO https://github.com/jedisct1/minisign/releases/download/0.12/minisign-0.12-linux.tar.gz.sha256
70+
# Fix checksum format (file contains only hash, not "hash filename" format)
71+
echo "$(cat minisign-0.12-linux.tar.gz.sha256) minisign-0.12-linux.tar.gz" > minisign-0.12-linux.tar.gz.sha256
7272
sha256sum -c minisign-0.12-linux.tar.gz.sha256
7373
tar xzf minisign-0.12-linux.tar.gz
7474
sudo mv minisign-linux/x86_64/minisign /usr/local/bin/
@@ -135,10 +135,14 @@ jobs:
135135
find . -name "*.intoto.jsonl" -exec minisign -Sm {} -s minisign.key -t "SLSA Attestation for create-claude v$VERSION" \;
136136
find . -name "*.intoto.jsonl" -exec gpg --armor --detach-sign --output {}.asc {} \;
137137
138-
- name: Cleanup sensitive files and temporary artifacts
138+
- name: Cleanup sensitive files
139139
run: |
140140
rm -f minisign.key
141-
rm -f *.tar.gz *.sha256
141+
142+
- name: Publish with provenance to NPM
143+
run: npm publish --provenance --access public
144+
env:
145+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
142146

143147
- name: Create comprehensive GitHub Release
144148
uses: softprops/action-gh-release@01570a1f39cb168c169c802c3bceb9e93fb10974 # v2.3.2

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.1.10] - 2025-09-07
9+
10+
### Fixed
11+
12+
- **Publish Workflow**: Fixed minisign checksum verification format issue preventing security artifact generation
13+
- **Workflow Security**: Improved token permissions following OpenSSF best practices with read-only defaults
14+
- **Workflow Ordering**: Reorganized publish workflow to ensure all security artifacts are generated before NPM publish
15+
- **Template Formatting**: Fixed missing newlines in command and agent template files
16+
17+
### Security
18+
19+
- **Token Permissions**: Set top-level permissions to read-only with job-level write permissions only where required
20+
- **OpenSSF Compliance**: Aligned publish workflow with OpenSSF Scorecard requirements for signed releases and SBOMs
21+
822
## [0.1.9] - 2025-09-07
923

1024
### Added

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "create-claude",
3-
"version": "0.1.9",
3+
"version": "0.1.10",
44
"description": "Claude Code setup that just works. Bootstrap every project with agents, hooks, commands, and smart permissions. One command, zero headaches.",
55
"type": "module",
66
"sideEffects": false,

skel/.claude/agents/debugger.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,4 @@ FIX: [file:line]
5454
VERIFIED: [test command]
5555
```
5656

57-
No theories. Only facts and fixes.
57+
No theories. Only facts and fixes.

skel/.claude/commands/commit.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ model: claude-3-5-haiku-20241022
66
---
77

88
## Context
9+
910
- Status: !`git status --short`
1011
- Staged changes: !`git diff --cached --stat`
1112

1213
## Task
14+
1315
Stage and commit changes with message: $ARGUMENTS
1416

15-
Use conventional commit format. Be concise.
17+
Use conventional commit format. Be concise.

skel/.claude/commands/explain.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ argument-hint: [file-or-component]
55

66
Explain $ARGUMENTS
77

8-
One paragraph max. Focus on what it does, not how.
8+
One paragraph max. Focus on what it does, not how.

skel/.claude/commands/fix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ Fix issue: $ARGUMENTS
99
2. Find root cause
1010
3. Implement minimal fix
1111
4. Verify with tests
12-
5. No side effects
12+
5. No side effects

skel/.claude/commands/optimize.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ argument-hint: [file-or-function]
55

66
Optimize: $ARGUMENTS
77

8-
Find performance bottlenecks. Implement specific improvements. Measure impact.
8+
Find performance bottlenecks. Implement specific improvements. Measure impact.

skel/.claude/commands/pr.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ allowed-tools: Bash(git:*), Read(*), Write(*)
55
---
66

77
## Context
8+
89
- Current branch: !`git branch --show-current`
910
- Git status: !`git status --short`
1011
- Recent commits: !`git log --oneline -5`
1112
- Files changed: !`git diff --stat HEAD~1`
1213

1314
## Task
14-
Create a pull request for current changes. Summarize what changed and why. Include test plan.
15+
16+
Create a pull request for current changes. Summarize what changed and why. Include test plan.

0 commit comments

Comments
 (0)