Skip to content

Commit 5a453db

Browse files
committed
docs: update AGENTS.md and README.md with semantic release information
- Update project status to v1.2.0 - Add semantic release workflow documentation - Document automated PR title management - Add conventional commit guidelines - Update repository structure with new GitHub workflows - Remove AGENTS.md reference from README (agent-only file) - Add manual CHANGELOG.md for immediate reference
1 parent 3c0a8c5 commit 5a453db

File tree

8,089 files changed

+1290538
-22
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

8,089 files changed

+1290538
-22
lines changed

AGENTS.md

Lines changed: 44 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44

55
**ra2mp3** is a cross-platform bash script that converts RealAudio (.ra) files to MP3 format using FFmpeg. This project was created to help users migrate legacy audio files to a modern, widely-supported format.
66

7-
### Current Status: v1.1.0 (Production Ready)
7+
### Current Status: v1.2.0 (Production Ready)
88
- ✅ Full feature implementation complete
99
- ✅ Cross-platform support (macOS/Linux)
1010
- ✅ Comprehensive testing with real RealAudio files
1111
- ✅ Unicode and special character support
1212
- ✅ Advanced command-line options
13+
- ✅ Semantic release automation and CI/CD workflows
14+
- ✅ Automated changelog generation and PR title management
1315

1416
## Repository Structure
1517

@@ -18,9 +20,18 @@ ra2mp3/
1820
├── ra2mp3 # Main conversion script (bash)
1921
├── install_macos.sh # macOS installer (Homebrew + FFmpeg)
2022
├── install_linux.sh # Linux installer (multi-distro support)
23+
├── package.json # NPM package config for semantic-release
24+
├── CHANGELOG.md # Generated changelog (semantic-release)
2125
├── README.md # User documentation
2226
├── LICENSE # MIT License
27+
├── CLAUDE.md # Minimal redirect to this file
2328
├── .gitignore # Git ignore patterns
29+
├── .github/
30+
│ ├── workflows/
31+
│ │ ├── automated-release.yml # Semantic release on main push
32+
│ │ └── pr-title-manager.yml # PR title automation
33+
│ └── scripts/
34+
│ └── normalize-pr-title.js # PR title normalization logic
2435
├── AGENTS.md # This file - project memory/instructions
2536
├── tests/ # Test RealAudio files (gitignored)
2637
└── converted/ # Output directory (gitignored)
@@ -29,9 +40,10 @@ ra2mp3/
2940
## Core Features
3041

3142
### Main Script (`ra2mp3`)
32-
- **Version:** 1.1.0
43+
- **Version:** 1.2.0
3344
- **Language:** Bash with strict error handling (`set -euo pipefail`)
3445
- **Dependencies:** FFmpeg with libmp3lame support
46+
- **Supported formats:** .ra, .ram, .rm (case-insensitive)
3547
- **Encoding:** VBR quality 2 (~170-210 kbps)
3648

3749
### Command-Line Options
@@ -85,9 +97,10 @@ chmod +x ra2mp3
8597

8698
### Version Management
8799
- **Format:** Semantic versioning (MAJOR.MINOR.PATCH)
88-
- **Current:** 1.1.0
89-
- **Update locations:** All 3 scripts (ra2mp3, install_macos.sh, install_linux.sh)
90-
- **Git tags:** Create matching tag (e.g., `git tag v1.1.0`)
100+
- **Current:** 1.2.0
101+
- **Automation:** semantic-release handles version bumping and git tags
102+
- **Update locations:** All 3 scripts (ra2mp3, install_macos.sh, install_linux.sh) + package.json
103+
- **Release process:** Automated via GitHub Actions on main branch push
91104

92105
### Code Standards
93106
- **Bash style:** Strict error handling, proper quoting, consistent indentation
@@ -109,24 +122,36 @@ chmod +x ra2mp3
109122
- **Feature branches:** For major changes (optional for small fixes)
110123

111124
### Commit Message Format
125+
Follow [Conventional Commits](https://www.conventionalcommits.org/) specification:
112126
```
113-
Brief description of change
127+
<type>[optional scope]: <description>
114128
115-
Detailed explanation if needed:
116-
- Bullet points for multiple changes
117-
- Reference issue numbers if applicable
129+
[optional body]
118130
119-
🤖 Generated with [Claude Code](https://claude.ai/code)
120-
121-
Co-Authored-By: Claude <[email protected]>
131+
[optional footer(s)]
122132
```
123133

124-
### Release Process
125-
1. Update version in all 3 scripts
126-
2. Update AGENTS.md if needed
127-
3. Commit with descriptive message
128-
4. Create git tag: `git tag vX.Y.Z`
129-
5. Push everything: `git push && git push origin vX.Y.Z`
134+
**Types:** feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
135+
136+
**Examples:**
137+
- `feat: add support for .ram and .rm file formats`
138+
- `fix: handle unicode characters in filenames properly`
139+
- `docs: update installation instructions for Linux`
140+
141+
### Automated Release Process
142+
1. **PR Creation:** Titles automatically formatted to conventional commits
143+
2. **Main Branch Push:** Triggers semantic-release workflow
144+
3. **Version Calculation:** Based on commit types (feat = minor, fix = patch)
145+
4. **CHANGELOG.md:** Generated automatically from commits
146+
5. **GitHub Release:** Created with release notes
147+
6. **Git Tags:** Applied automatically
148+
149+
### Manual Release Override
150+
If needed for hotfixes:
151+
1. Update version in all 3 scripts + package.json
152+
2. Update CHANGELOG.md manually
153+
3. Create conventional commit
154+
4. Push to main branch (triggers automated release)
130155

131156
## GitHub Repository
132157

@@ -210,5 +235,5 @@ When working on this project:
210235

211236
---
212237

213-
*Last updated: 2025-08-31 (v1.1.0)*
238+
*Last updated: 2025-08-31 (v1.2.0)*
214239
*Remember to update this file when making significant changes to the project.*

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Semantic release automation with changelog generation
12+
- PR title manager workflow for conventional commits
13+
- Automated version bumping and GitHub releases
14+
- Support for `.ram` and `.rm` RealAudio file extensions
15+
- Comprehensive project documentation in AGENTS.md
16+
17+
### Changed
18+
- Updated to version 1.2.0 with enhanced file format support
19+
- Improved workflow automation for development
20+
21+
## [1.1.0] - 2023-XX-XX
22+
23+
### Added
24+
- Command-line options: `--input`, `--output`, `--overwrite`, `--dry-run`
25+
- Help (`-h`, `--help`) and version (`-v`, `--version`) flags
26+
- Enhanced error handling and progress tracking
27+
- Improved testing workflow with dedicated test directories
28+
29+
### Changed
30+
- Renamed main script from `convert_ra_to_mp3.sh` to `ra2mp3`
31+
- Updated installation scripts for better user experience
32+
- Improved documentation and usage instructions
33+
34+
### Fixed
35+
- Better handling of nested directory structures
36+
- More robust file processing with error recovery
37+
38+
## [1.0.0] - 2023-XX-XX
39+
40+
### Added
41+
- Initial release of ra2mp3 conversion tool
42+
- Support for `.ra` RealAudio file conversion to MP3
43+
- Cross-platform installation scripts (macOS and Linux)
44+
- Automatic dependency management (FFmpeg, Homebrew)
45+
- Recursive directory processing
46+
- Color-coded output with progress indicators
47+
- MIT license
48+
- Comprehensive README with installation and usage instructions
49+
50+
### Features
51+
- Batch conversion of RealAudio files
52+
- Preserves directory structure in output
53+
- Handles Unicode characters in filenames
54+
- Automatic FFmpeg installation via package managers
55+
- Cross-platform compatibility (macOS, Linux)
56+
57+
[Unreleased]: https://github.com/wiiiimm/ra2mp3/compare/v1.1.0...HEAD
58+
[1.1.0]: https://github.com/wiiiimm/ra2mp3/compare/v1.0.0...v1.1.0
59+
[1.0.0]: https://github.com/wiiiimm/ra2mp3/releases/tag/v1.0.0

README.md

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,33 @@ The script uses FFmpeg's libmp3lame encoder with VBR quality setting 2, which pr
195195

196196
MIT License - feel free to use, modify, and distribute as needed.
197197

198-
## Contributing
199-
200-
Issues and pull requests welcome! This is a simple tool but improvements are always appreciated.
198+
## Development
199+
200+
This project uses [Conventional Commits](https://www.conventionalcommits.org/) and [semantic-release](https://semantic-release.gitbook.io/) for automated versioning and releases.
201+
202+
### Semantic Release
203+
- Automatic version bumping based on commit messages
204+
- Automated CHANGELOG.md generation
205+
- GitHub releases with release notes
206+
- Follows semantic versioning (MAJOR.MINOR.PATCH)
207+
208+
### Pull Request Guidelines
209+
- PR titles are automatically formatted to conventional commit format
210+
- Use conventional commit types: `feat:`, `fix:`, `docs:`, `chore:`, etc.
211+
- Breaking changes should include `!` or `BREAKING CHANGE:` in commit message
212+
- All PRs include `[skip ci]` to prevent premature deployments
213+
214+
### Contributing
215+
Issues and pull requests welcome! This project includes automated workflows for:
216+
- PR title formatting and validation
217+
- Automated releases and changelog generation
218+
- Code quality checks
219+
220+
When contributing:
221+
- Use conventional commit messages (feat:, fix:, docs:, etc.)
222+
- PR titles are automatically formatted
223+
- Releases are automated based on commit types
224+
- See [CHANGELOG.md](./CHANGELOG.md) for release history
201225

202226
## About RealAudio
203227

node_modules/.bin/JSONStream

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

node_modules/.bin/conventional-changelog-writer

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

node_modules/.bin/conventional-commits-parser

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

node_modules/.bin/handlebars

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

node_modules/.bin/highlight

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

node_modules/.bin/js-yaml

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

node_modules/.bin/marked

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

0 commit comments

Comments
 (0)