The crawl time was the #1 friction point. Fixed it.
cupertino setup now downloads pre-built databases from GitHub Releases. No more 20-hour crawls.
138K+ docs pages and 606 sample projects, ready in under a minute.
Blog post with details: https://aleahim.com/blog/cupertino-instant-setup/
Update since launch:
- 111k+ documentation pages indexed
- 606 sample code projects (fully searchable)
- Swift Evolution proposals, Swift.org docs, The Swift Book
- Apple Archive legacy guides—deep conceptual docs for Core Animation, Core Graphics, Core Text, etc. that aren't in modern docs
- 9,699 Swift packages cataloged
Pre-built indexes available if you don't want to wait 20+ hours to crawl:
- https://github.com/mihaelamj/cupertino-docs - Documentation archive
- https://github.com/mihaelamj/cupertino-sample-code - Sample code mirror
I’ve also recently been through the challenge of AI-enhanced (semantic) search. Ordering the results is very, very necessary. It’s both art and science, and absolutely requires domain knowledge.
From the article, these are the heuristics the OP applied for searching Apple documentation:
* Core types over extensions - View ranks above View+Accessibility
* URL depth analysis - /documentation/swiftui/view beats /documentation/swiftui/view/some/nested/thing
* Title pattern detection - Exact matches surface first
* Modern over deprecated - Current APIs rank higher
Totally agree—ranking is both art and science. Beyond what I listed, I'm also penalizing nested types, boosting based on query patterns ("X protocol" → boost protocols), and inferring kind from URL depth when metadata is missing.
Still actively crawling docs (at 111k now) and vector/semantic search is on the roadmap.
Update: v0.3.0 shipped — setup is now 30 seconds
I’ve also recently been through the challenge of AI-enhanced (semantic) search. Ordering the results is very, very necessary. It’s both art and science, and absolutely requires domain knowledge.
From the article, these are the heuristics the OP applied for searching Apple documentation:
* Core types over extensions - View ranks above View+Accessibility * URL depth analysis - /documentation/swiftui/view beats /documentation/swiftui/view/some/nested/thing * Title pattern detection - Exact matches surface first * Modern over deprecated - Current APIs rank higher
Totally agree—ranking is both art and science. Beyond what I listed, I'm also penalizing nested types, boosting based on query patterns ("X protocol" → boost protocols), and inferring kind from URL depth when metadata is missing.
Still actively crawling docs (at 111k now) and vector/semantic search is on the roadmap.
This sounds like an amazing tool/resource! Looks like I finally have a reason to try Claude Code, stoked for this!
Thanks! Let me know how it goes—happy to help if you hit any issues getting it set up.