Skip to content

Conversation

@martinffx
Copy link
Owner

Major architectural improvements:

  • Consolidated internal/cli/ (8 files) into single internal/cli.go
  • Moved business logic to domain packages (daemon.LaunchWithClaude, daemon.ShowLastLines, daemon.FollowLogs)
  • Added structured logging with slog and log rotation via lumberjack
  • Made 'athena' launch daemon + Claude Code by default
  • Made 'athena logs' tail by default (--follow=true)

Breaking changes:

  • Removed JSON config format support (YAML-only)
  • Removed wrapper scripts from release workflow
  • Changed default behavior: 'athena' now runs 'athena code' functionality

Configuration improvements:

  • Added logging flags (--log-format, --log-file)
  • Updated all docs to reference YAML-only config
  • Simplified config precedence: CLI → YAML → env → defaults

Release workflow improvements:

  • Removed 200+ lines of wrapper script generation
  • Simplified installation with integrated daemon management
  • Updated release documentation and examples

Architecture benefits:

  • Single source of truth for CLI commands
  • Clear separation: CLI orchestrates, domains implement
  • Better testability with domain functions
  • Follows single-file organization standard

All tests passing (109 tests across 6 packages)
Security scan clean with govulncheck

🤖 Generated with Claude Code

Description

Brief description of the changes in this PR.

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🔧 Configuration change
  • ♻️ Code refactoring (no functional changes)

Testing

  • I have run make check locally and all checks pass
  • I have tested the changes manually
  • I have added tests that prove my fix is effective or that my feature works

Checklist

  • My code follows the project's style guidelines (enforced by make fmt and make lint)
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Configuration Changes

If this PR changes configuration options:

  • I have updated example config files (openrouter.example.yml, openrouter.example.json, .env.example)
  • I have updated the README.md with new configuration options
  • I have updated CLAUDE.md if the changes affect development workflow

Additional Notes

Any additional information, context, or screenshots that would be helpful for reviewers.

Major architectural improvements:
- Consolidated internal/cli/ (8 files) into single internal/cli.go
- Moved business logic to domain packages (daemon.LaunchWithClaude, daemon.ShowLastLines, daemon.FollowLogs)
- Added structured logging with slog and log rotation via lumberjack
- Made 'athena' launch daemon + Claude Code by default
- Made 'athena logs' tail by default (--follow=true)

Breaking changes:
- Removed JSON config format support (YAML-only)
- Removed wrapper scripts from release workflow
- Changed default behavior: 'athena' now runs 'athena code' functionality

Configuration improvements:
- Added logging flags (--log-format, --log-file)
- Updated all docs to reference YAML-only config
- Simplified config precedence: CLI → YAML → env → defaults

Release workflow improvements:
- Removed 200+ lines of wrapper script generation
- Simplified installation with integrated daemon management
- Updated release documentation and examples

Architecture benefits:
- Single source of truth for CLI commands
- Clear separation: CLI orchestrates, domains implement
- Better testability with domain functions
- Follows single-file organization standard

All tests passing (109 tests across 6 packages)
Security scan clean with govulncheck

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

Co-Authored-By: Claude <[email protected]>
@martinffx martinffx merged commit cf972ad into main Oct 3, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants