Swift ecosystem analysis and documentation tool
✅ Production Ready - Recent critical fixes ensure reliable operation
- Fixed hanging issues during documentation fetching
- Added proper timeout handling (30s/60s)
- Implemented fallback to GitHub HTTP API
- All pipeline modes working correctly
Scully is a comprehensive tool for analyzing Swift packages and accessing their documentation. It operates both as a standalone Smith Tool and as a Claude Code skill, making it easy to explore the Swift ecosystem and understand package dependencies.
- Dependency Analysis: Parse Package.swift files and list project dependencies (automatic fallback to
smithfor Xcode/Unknown projects) - Documentation Access: Fetch documentation from any Swift package
- DocC Extraction: Generic DocC fetch via
smith-doc-inspector - Example Discovery: Find code examples and playgrounds
- Smart Summaries: Generate concise documentation overviews
- Pattern Extraction: Identify common usage patterns
- Efficient Caching: Local caching for faster repeat access
cd scully
swift build -c releaseCopy the skill to your Claude skills directory:
cp -r Sources/ScullySkill ~/.claude/skills/scully# List dependencies in current project
scully list
# Detailed listing with versions
scully list --detailed
# Access documentation
scully docs Alamofire
# Find specific version
scully docs Alamofire@5.8.0
# Find code examples
scully examples Combine
# Generate documentation summary
scully summary Alamofire
# Extract usage patterns
scully patterns SwiftCharts
scully patterns ComposableArchitecture --filter "navigation" --limit 10
# JSON output
scully list --format json
# Pipe from smith (Unified Analysis)
smith dependencies --format=json | scully docs --limit 5000List dependencies in current project
Show documentation for Alamofire
Find examples for Combine
Generate summary for SwiftCharts
Extract patterns from Alamofire
Scully is built with a modular architecture:
- ScullyCLI: Command-line interface for standalone operation
- ScullyCore: Core functionality and data models
- ScullyAnalysis: Package manifest analysis
- ScullyFetch: Content acquisition from GitHub and SPI
- ScullyProcess: Documentation processing and summarization
- ScullyDatabase: Caching and search functionality
- ScullySkill: Claude Code skill integration
- GitHub Repositories: Primary source for package information
- Swift Package Index: Package discovery through packages.json
swift buildswift testswift run scully --help- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
MIT License - see LICENSE file for details
Scully is part of the Smith Tools ecosystem and integrates seamlessly with other tools like:
- Smith CLI: Unified Smith Tools interface
- Smith Validation: TCA validation and analysis
- Maxwell: Personal knowledge and discoveries
- Smith Doc Inspector: Generic DocC fetch and repo example discovery
Scully can be configured through:
- Environment variables (e.g.,
GITHUB_TOKENfor API access) - RAG database location via
SMITH_RAG_HOME(defaults to~/.smith/rag) - Configuration files in
~/.config/scully/ - Command-line flags for one-time settings