Repozess is a native macOS app for exploring Swift repositories as an explainable semantic graph.
Open a local Swift codebase, let Repozess index it, then move through package, type, file, and relationship views on an interactive canvas. It is built for developers who need to understand unfamiliar code, review architectural changes, or explain how a Swift project fits together.
- Index local Swift repositories with SwiftSyntax.
- Explore overview and focused graph projections.
- Inspect symbols, files, relationships, and source snippets.
- Pan, zoom, select, and export graph views from a native canvas.
- Use the app entirely from source while binary distribution is still being prepared.
| Sidebar navigation | Inspector context |
|---|---|
![]() |
![]() |
| Relationship bindings | Floor presets |
|---|---|
![]() |
![]() |
Repozess is in alpha. It is usable for local Swift repository exploration, and its graph model and presentation rules are still evolving.
Currently supported:
- Swift source indexing
- Local repository analysis
- Semantic graph slicing
- Interactive SwiftUI/AppKit canvas rendering
- Package-level and integration test coverage
- macOS 14 or newer
- Xcode 26.3 or a Swift 6.2-compatible toolchain
Check your selected toolchain:
xcode-select -p
swift --versionClone the repository, then build and launch the app from the repository root:
swift build
swift run ReposesYou can also use the project helper, which builds and launches a local Repozess.app bundle:
make runThe root package uses --disable-sandbox because the app target may invoke macOS signing tools while SwiftPM applies debug entitlements.
Run the main test suite:
swift test --disable-sandboxRun the full package matrix:
swift test --disable-sandbox
swift test --package-path Packages/ReposesCore
swift test --package-path Packages/ReposesIndexing
swift test --package-path Packages/ReposesGraph
swift test --package-path Packages/ReposesScene
swift test --package-path Packages/ReposesCanvasEngine
swift test --package-path Packages/ReposesShell
swift test --package-path Packages/RepoSessUIHelper commands:
make run
make test
make verify
make coverageThe public app name is Repozess. Most Swift packages and modules use the shorter Reposes prefix.
The repository is split into small packages so indexing, graph modeling, scene preparation, rendering, and shell UI can evolve independently:
ReposesCore
-> ReposesIndexing
-> ReposesGraph
-> ReposesScene
-> ReposesCanvasEngine
-> ReposesShell
-> Reposes
RepoSessUI contains reusable semantic presentation components used by presentation-facing layers.
Packages/ReposesCore: shared value types and cross-package primitivesPackages/ReposesIndexing: repository scope resolution, file loading, SwiftSyntax indexing, and index persistencePackages/ReposesGraph: semantic slicing, graph projection, and diagnosticsPackages/ReposesScene: immutable scene snapshots prepared for renderingPackages/ReposesCanvasEngine: viewport math, gestures, caching, rendering coordination, and canvas interactionPackages/ReposesShell: SwiftUI shell, workspace coordination, settings, inspector flow, and exportsPackages/RepoSessUI: reusable semantic presentation components
Sources/App: thin app entry pointSources/Launcher: app bundle launcher targetScripts/reposes: local build, run, verify, and cleanup helperTests/ReposesTests: root integration coverage across the extracted stackaudit: package-level implementation audits
Contributions are welcome. Start with CONTRIBUTING.md for local workflow, architecture rules, and test expectations.
Please use SECURITY.md for vulnerability reports and CODE_OF_CONDUCT.md for project conduct expectations.
Repozess is available under the MIT License. See LICENSE.
This project has been developed with help from agentic AI tools, primarily Codex.




