Skip to content

ci: Add open-source infrastructure (CI/CD, templates, linting, docs)#1

Open
evowhale wants to merge 3 commits intomainfrom
claude/strange-greider
Open

ci: Add open-source infrastructure (CI/CD, templates, linting, docs)#1
evowhale wants to merge 3 commits intomainfrom
claude/strange-greider

Conversation

@evowhale
Copy link
Copy Markdown
Collaborator

Summary

Establishes comprehensive open-source infrastructure for the project with CI/CD pipelines, issue/PR templates, code quality enforcement, and developer documentation.

Changes

CI/CD Workflows

  • build.yml — Automated builds on push to main and PRs (Swift release + debug builds)
  • quality.yml — SwiftLint and SwiftFormat checks on PRs
  • pr.yml — Semantic PR title validation (Conventional Commits)

Code Quality

  • .swiftlint.yml — Linting rules (line length 150, file length 500)
  • .swiftformat — Code formatting (4-space indent, max width 150)
  • Brewfile — Dev dependencies (swiftlint, swiftformat)

Issue & PR Templates

  • Bug report template with version/macOS info
  • Feature request template with problem/solution fields
  • PR template with test plan checklist
  • Issue config redirecting blank issues to discussions

Documentation

  • CLAUDE.md — Project architecture and build guide for AI assistants
  • CONTRIBUTING.md — Expanded with dev setup, code quality, and commit conventions
  • README.md & README.ko.md — Enhanced with badges, design philosophy, architecture diagrams, tips, and Homebrew info

Release Automation

  • fastlane/Fastfile — Build, bundle, DMG creation, and optional notarization
  • fastlane/Appfile — App identifier and team configuration
  • HomebrewFormula/contextswitcher.rb — Homebrew cask formula

Repository Setup

  • FUNDING.yml — GitHub sponsor link
  • .gitignore — Enhanced with Xcode, fastlane, and IDE artifacts

Details

  • Enforces Conventional Commits for consistency
  • Swift 6.0, macOS 14+ Sonoma platform specified throughout
  • Supports Apple Silicon (arm64)
  • All workflows run on macos-14 or ubuntu-latest as appropriate

- Add GitHub Actions workflows (build, code quality, PR title validation)
- Add issue templates (bug report, feature request) and PR template
- Add SwiftLint and SwiftFormat configuration
- Add Fastlane release pipeline with optional notarization
- Add Homebrew cask formula (coming soon)
- Enhance README with badges, design philosophy, architecture, tips
- Update CONTRIBUTING.md with code quality and commit conventions
- Add Brewfile for dev dependencies
- Add CLAUDE.md project context
- Add GitHub Funding configuration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@minsang-alt minsang-alt marked this pull request as ready for review February 23, 2026 12:55
evowhale and others added 2 commits February 23, 2026 21:57
Disable rules that conflict with the current code style to avoid
breaking CI on existing files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Run swiftformat on all Swift files to enforce consistent style
- Replace Set.intersection().isEmpty with Set.isDisjoint(with:)
- Keep identifier_name disabled (x, y, ws are intentional)
- Set cyclomatic_complexity threshold to 15

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant