Skip to content

Commit e2579f1

Browse files
leolionartclaude
andcommitted
Move scripts to scripts/ folder
- Move build_app_bundle.sh, release.sh, test_local.sh to scripts/ - Update all documentation references - Update release.sh to use relative path for build script - Cleaner project root with only essential files Project structure: ├── AudioRemote/ # Source code ├── scripts/ # Build and release scripts ├── docs/ # Documentation ├── .claude/ # Claude skills └── [config files] # Package.swift, appcast.xml, etc. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 8cc2ea1 commit e2579f1

6 files changed

Lines changed: 28 additions & 18 deletions

File tree

‎CLAUDE.md‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ swift build -c release
2525
.build/release/AudioRemote
2626

2727
# Build app bundle
28-
./build_app_bundle.sh
28+
./scripts/build_app_bundle.sh
2929

3030
# Open in Xcode
3131
open Package.swift
@@ -54,7 +54,7 @@ open http://localhost:8765
5454

5555
Run the automated release script:
5656
```bash
57-
./release.sh
57+
./scripts/release.sh
5858
```
5959

6060
This handles: version bump, build, signing, appcast.xml update, git tag, and GitHub Release.
@@ -116,8 +116,16 @@ For manual steps, see `docs/RELEASE_GUIDE.md`.
116116

117117
- `Package.swift` - SPM manifest (Vapor, Sparkle dependencies)
118118
- `appcast.xml` - Sparkle update feed
119-
- `build_app_bundle.sh` - Creates .app bundle from SPM build
120-
- `release.sh` - Automated release pipeline
119+
120+
## Scripts
121+
122+
All build and release scripts are in `scripts/`:
123+
124+
| Script | Description |
125+
|--------|-------------|
126+
| `scripts/build_app_bundle.sh` | Creates .app bundle from SPM build |
127+
| `scripts/release.sh` | Automated release pipeline |
128+
| `scripts/test_local.sh` | Local testing utilities |
121129

122130
## Documentation
123131

‎docs/RELEASE_GUIDE.md‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Before starting a release, ensure:
1919
Simply run the automated release script:
2020

2121
```bash
22-
./release.sh
22+
./scripts/release.sh
2323
```
2424

2525
The script will guide you through:
@@ -51,7 +51,7 @@ Edit `AudioRemote/Resources/Info.plist`:
5151
#### 2. Build App
5252

5353
```bash
54-
./build_app_bundle.sh
54+
./scripts/build_app_bundle.sh
5555
```
5656

5757
Verify the app bundle:
@@ -148,8 +148,8 @@ See full documentation at https://github.com/leolionart/Mac-Audio-Remote"
148148

149149
```
150150
mac-audio-remote/
151-
├── release.sh # Automated release script
152-
├── build_app_bundle.sh # App bundle builder
151+
├── scripts/release.sh # Automated release script
152+
├── scripts/build_app_bundle.sh # App bundle builder
153153
├── appcast.xml # Sparkle update feed
154154
├── AudioRemote/
155155
│ └── Resources/
@@ -203,7 +203,7 @@ gh auth login
203203
```bash
204204
# Clean build directory
205205
rm -rf .build
206-
./build_app_bundle.sh
206+
./scripts/build_app_bundle.sh
207207
```
208208

209209
### Icon not showing
@@ -250,7 +250,7 @@ When asked to create a release:
250250

251251
1. **Ask for version number** if not provided
252252
2. **Ask for release notes** if not clear from recent commits
253-
3. **Run `./release.sh`** and follow the prompts
253+
3. **Run `./scripts/release.sh`** and follow the prompts
254254
4. **Verify success** by checking:
255255
- GitHub Release exists
256256
- ZIP file is attached
@@ -268,7 +268,7 @@ AI: "I'll create a release with the recent bug fixes.
268268
User: "2.1.2"
269269
270270
AI: "Creating release v2.1.2 with bug fixes..."
271-
[runs ./release.sh]
271+
[runs ./scripts/release.sh]
272272
"✅ Release v2.1.2 complete!
273273
URL: https://github.com/leolionart/Mac-Audio-Remote/releases/tag/v2.1.2
274274
Existing users will receive the update automatically via Sparkle."

‎docs/RELEASE_PROCESS.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## TL;DR
44

5-
**ALWAYS use the local `release.sh` script for releases**. Never rely on GitHub Actions workflow alone, as it doesn't sign the ZIP file with EdDSA.
5+
**ALWAYS use the local `scripts/release.sh` script for releases**. Never rely on GitHub Actions workflow alone, as it doesn't sign the ZIP file with EdDSA.
66

77
## Why This Matters
88

@@ -23,7 +23,7 @@ When a user checks for updates:
2323

2424
## Current Problem
2525

26-
- ✅ Local `release.sh` script: Creates ZIP + signs with EdDSA
26+
- ✅ Local `scripts/release.sh` script: Creates ZIP + signs with EdDSA
2727
- ❌ GitHub Actions workflow (`.github/workflows/release.yml`): Creates ZIP but **DOES NOT sign**
2828

2929
If GitHub Actions workflow runs automatically on tag push, it will:
@@ -40,7 +40,7 @@ Result: Users get "Update Error! The update is improperly signed"
4040

4141
```bash
4242
cd /path/to/Mac-Audio-Remote
43-
bash release.sh
43+
bash scripts/release.sh
4444
```
4545

4646
This script will:
@@ -143,7 +143,7 @@ To properly fix this, we need to add EdDSA signing to GitHub Actions workflow:
143143
rm /tmp/ed25519_private_key
144144
```
145145
146-
**But until this is implemented, ALWAYS use `release.sh` locally!**
146+
**But until this is implemented, ALWAYS use `scripts/release.sh` locally!**
147147

148148
## Checklist
149149

@@ -152,7 +152,7 @@ Before every release:
152152
- [ ] All changes committed and pushed
153153
- [ ] Tests passing
154154
- [ ] Version bumped in code (if manual)
155-
- [ ] Run `bash release.sh`
155+
- [ ] Run `bash scripts/release.sh`
156156
- [ ] Enter version number when prompted
157157
- [ ] Enter release notes
158158
- [ ] Wait for script to complete
@@ -169,7 +169,7 @@ Before every release:
169169

170170
**Fix**:
171171
1. Re-upload signed ZIP from local (see "If GitHub Actions Overwrites the ZIP" above)
172-
2. Or re-run `release.sh` and let it upload the signed ZIP
172+
2. Or re-run `scripts/release.sh` and let it upload the signed ZIP
173173

174174
### "You're up to date" when new version exists
175175

release.sh renamed to scripts/release.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,9 @@ echo ""
121121
# ============================================================================
122122
echo -e "${BLUE}[5/9] 🔨 Building app...${NC}"
123123

124-
./build_app_bundle.sh
124+
# Get script directory and run build script
125+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
126+
"$SCRIPT_DIR/build_app_bundle.sh"
125127

126128
if [ ! -d ".build/release/AudioRemote.app" ]; then
127129
echo -e "${RED}❌ Build failed - app bundle not found${NC}"
File renamed without changes.

0 commit comments

Comments
 (0)