Setting up OpenAPI with Claude#169
Conversation
Deletes .cursor/, .taskmaster/, .mcp.json, .env.example, and the Task Master commands, agents, and guide under .claude/, and drops the Task Master section from CLAUDE.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
swift-openapi-generator is managed as a mise tool (spm backend), not an SPM build plugin; Scripts/generate-openapi.sh regenerates the client and the output is committed under Sources/ClaudeKit/Generated. The config filters to /v1/messages — the unofficial spec's `?beta=true` path variants carry duplicate operationIds that fail generator validation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ClaudeKit wraps the committed OpenAPI-generated client (runtime + URLSession transport deps only); it skips the shared swiftSettings because InternalImportsByDefault rejects the generator's plain imports in package-access API. AiSTKit bridges ClaudeKit and SyntaxParser and is now a dependency of the skit executable. No new products. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Code Review: Setting up OpenAPI with Claude (#169)Base branch: OverviewThis PR implements Phase 1 of the
The overall approach is sound. Committing generated code rather than using a build plugin avoids the Issues
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")The comment says "more portable way" but SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)License header on generated files obscures the generator notice
// ... 28 lines of MIT license ...
//
import HTTPTypes
// Generated by swift-openapi-generator, do not modify.The "do not modify" notice is buried below the copyright, and the copyright itself implies these are hand-authored files. Consider either skipping
Both authentication headers are marked optional in ObservationsGood: committing generated code over build plugin The Good: The Package.swift comment explaining this is the right call — the generated
This is a deliberate choice to make future re-generation easier. Fine as-is, but consider adding a comment in
The old No tests Expected for a pure infrastructure/scaffolding PR —
Consistent with the project's SummaryThe only blocking item is the |
SyntaxKit, CodeQL, and check-unsafe-flags only triggered on PRs into main (or version branches), so stacked PRs like #169 (into claude-prompt) skipped the build/test matrix entirely. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Code Review: Setting up OpenAPI with Claude (PR #169)OverviewThis PR lays Phase 1 of the ✅ What's Well Done
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## claude-prompt #169 +/- ##
=================================================
- Coverage 80.13% 79.97% -0.16%
=================================================
Files 153 153
Lines 5209 5209
=================================================
- Hits 4174 4166 -8
- Misses 1035 1043 +8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…cludes Match MistKit's approach: swift-openapi-generator emits periphery:ignore:all and swift-format-ignore-file comments into the generated files, header.sh skips files carrying the directive, and the Periphery report_exclude is dropped. SwiftLint keeps its directory exclude since file-level rules like file_name fire at line 1, before any disable comment takes effect. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Code Review — PR #169: Setting up OpenAPI with ClaudeOverviewThis PR establishes the OpenAPI integration scaffolding for the Architecture & DesignCommitted generated code (good call)
Filter to Potential Issues
CI branch-filter removal No API key documentation after Code Quality
Cleanup AssessmentThe mass deletion of Summary
Overall this is solid scaffolding work. The three |
The committed client is generated by swift-openapi-generator 1.12.2, so require swift-openapi-runtime 1.12.0 and swift-openapi-urlsession 1.3.0 (the versions already pinned in Package.resolved) instead of 1.0.0, which could resolve a runtime too old to compile the generated @_spi(Generated) calls. Also record the openapi.json source repo, retrieval date, and refresh command in generate-openapi.sh. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Code Review: Setting up OpenAPI with ClaudeOverviewThis PR introduces two new Swift targets — What's Good
Issues & Suggestions1.
|
No description provided.