release
FreeDetermine the next version, update the marketing site, and run the full release pipeline.
The English summary is being prepared. Showing the original description.
Get a new developer up and running with the Chops codebase — prerequisites, build, architecture, and common tasks.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Set up the Chops development environment and orient a new contributor to the codebase.
Verify these are installed. If any are missing, tell the user what to install and stop.
sw_vers -productVersion (must be ≥ 15.0)xcode-select -p (if missing: xcode-select --install)which brew (if missing: direct them to https://brew.sh)which xcodegen (if missing: brew install xcodegen)xcodegen generate
This reads project.yml (the source of truth for all Xcode project settings) and generates Chops.xcodeproj. Re-run this anytime project.yml changes. Never edit the .xcodeproj directly.
xcodebuild -scheme Chops -configuration Debug build
Or open in Xcode and hit Cmd+R:
open Chops.xcodeproj
Share this architecture overview:
Entry point: Chops/App/ChopsApp.swift — sets up SwiftData ModelContainer (Skill + SkillCollection), starts Sparkle updater, injects AppState into environment.
State: Chops/App/AppState.swift — @Observable singleton holding UI state (selected tool, selected skill, search text, sidebar filter).
Models (SwiftData):
Chops/Models/Skill.swift — a discovered skill file, uniquely identified by resolved symlink pathChops/Models/Collection.swift — user-created groupings of skillsChops/Models/ToolSource.swift — enum of supported tools with display names, icons, colors, and filesystem pathsServices:
Chops/Services/SkillScanner.swift — probes tool directories, parses frontmatter, upserts into SwiftData. Deduplicates via resolved symlink paths.Chops/Services/FileWatcher.swift — FSEvents via DispatchSource, triggers re-scan on file changesChops/Services/SkillParser.swift — dispatches to FrontmatterParser (.md) or MDCParser (.mdc)Chops/Services/SearchService.swift — in-memory full-text searchViews: Three-column NavigationSplitView (Sidebar → List → Detail). Editor wraps NSTextView for native text editing. Cmd+S save via FocusedValues.
Key design decisions:
Scanned tool paths:
| Tool | Paths |
|---|---|
| Claude Code | ~/.claude/skills/, ~/.agents/skills |
| Cursor | ~/.cursor/skills/, ~/.cursor/rules |
| Windsurf | ~/.codeium/windsurf/memories/, ~/.windsurf/rules |
| Codex | ~/.codex |
| Amp | ~/.config/amp |
Copilot and Aider detect project-level skills only (no global paths).
Add a new tool: Add a case to ToolSource enum in Chops/Models/ToolSource.swift. Fill in displayName, iconName, color, globalPaths. Update SkillScanner if the tool uses a non-standard file layout.
Modify parsing: Frontmatter → Chops/Utilities/FrontmatterParser.swift. Cursor .mdc → Chops/Utilities/MDCParser.swift. Dispatch logic → Chops/Services/SkillParser.swift.
Change UI: Views are in Chops/Views/ (Sidebar/, Detail/, Settings/, Shared/). Main layout is Chops/App/ContentView.swift.
project.yml is the source of truth for Xcode settings — never edit .xcodeproj directlyNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Determine the next version, update the marketing site, and run the full release pipeline.
The English summary is being prepared. Showing the original description.