Files
gitea-nostr-auth/.claude/commands/release.md
mleku 896a7599a0 Release v0.0.1 - Initial OAuth2 server implementation
- Add Nostr OAuth2 server with NIP-98 authentication support
- Implement OAuth2 authorization and token endpoints
- Add .well-known/openid-configuration discovery endpoint
- Include Dockerfile for containerized deployment
- Add Claude Code release command for version management
- Create example configuration file

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 09:37:26 +01:00

1.7 KiB

Release Command

Review all changes in the repository and create a release with proper commit message, version tag, and push to remote.

Argument: $ARGUMENTS

The argument should be one of:

  • patch - Bump the patch version (e.g., v0.0.1 -> v0.0.2)
  • minor - Bump the minor version and reset patch to 0 (e.g., v0.0.2 -> v0.1.0)
  • major - Bump the major version and reset minor and patch to 0 (e.g., v0.1.0 -> v1.0.0)

If no argument provided, default to patch.

Steps to perform:

  1. Read the current version from pkg/version/version

  2. Calculate the new version based on the argument:

    • Parse the current version (format: vMAJOR.MINOR.PATCH)
    • If patch: increment PATCH by 1
    • If minor: increment MINOR by 1, set PATCH to 0
    • If major: increment MAJOR by 1, set MINOR and PATCH to 0
  3. Update the version file (pkg/version/version) with the new version

  4. Verify the build compiles before proceeding:

    CGO_ENABLED=0 go build -o /dev/null ./...
    

    If build fails, fix issues before proceeding.

  5. Review changes using git status and git diff --stat HEAD

  6. Compose a commit message following this format:

    • First line: 72 chars max, imperative mood summary (e.g., "Release v0.0.1")
    • Blank line
    • Bullet points describing each significant change since last release
    • Footer with Claude Code attribution
  7. Stage all changes with git add -A

  8. Create the commit with the composed message

  9. Create a git tag with the new version (e.g., v0.0.1)

  10. Push to remote with tags:

    git push origin main --tags
    
  11. Report completion with the new version and commit hash