Split CI and CD into separate workflows
- ci.yaml: lint, type check, tests (runs on all branches/PRs)
- cd.yaml: deploy to Fly.io (runs only on main)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>