Use when building, testing, or linting the Ruckus iOS app, regenerating the Tuist project, running tests, or adding new Swift files. Covers xcodebuild, tuist, make, swiftlint, and test workflows.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add Bogdanp/Ruckus --skill ruckus --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ruckus?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/bogdanp-ruckus-ruckus)More formats (shields.io, HTML) on the badges page.
---
name: ruckus
description: |
Use when building, testing, or linting the Ruckus iOS app, regenerating
the Tuist project, running tests, or adding new Swift files. Covers
xcodebuild, tuist, make, swiftlint, and test workflows.
user-invocable: false
---
# Ruckus Build, Test, Lint & Tuist
## Build
Build from the command line:
xcodebuild -workspace Ruckus.xcworkspace -scheme Ruckus -destination 'generic/platform=iOS' build
To check for warnings, use `clean build` — incremental builds skip unchanged
files and won't re-emit their warnings:
xcodebuild clean build -workspace Ruckus.xcworkspace -scheme Ruckus -destination 'generic/platform=iOS'
A pre-build script in `Project.swift` runs `make` automatically before
compiling. This regenerates `Backend.swift` and `res/core.zo` from
Racket source. No need to run `make` manually before building.
## Tests
Run tests with xcodebuild using the **workspace** (not the project):
xcodebuild test -workspace Ruckus.xcworkspace -scheme Ruckus \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro'
To run a specific test class:
xcodebuild test -workspace Ruckus.xcworkspace -scheme Ruckus \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-only-testing RuckusTests/ClassName
The workspace is required because it includes external dependencies
(Noise, Runestone, TreeSitter). The project alone can't resolve them.
## Tuist
After modifying `Project.swift`, run:
tuist generate --no-open
When adding or removing Swift files, regenerate the project so Xcode
picks them up. Tuist auto-globs all `.swift` files — no need to edit
`Project.swift` for new files.
## Linting
Always run after modifying Swift files:
swiftlint lint
Fix any violations before finishing.
## Swift Configuration
- iOS 26.0+ deployment target
- Swift 6.0 (strict concurrency by default)
## Key Files
- `Ruckus/racket` — Vendored Racket libraries and environment config for runtime execution
- `Ruckus/Backend.swift` — Auto-generated Swift RPC client (do not edit)
- `Ruckus/Backend/Backend+shared.swift` — Shared Backend singleton
- `Project.swift` — Tuist project definition
- `Tuist/Package.swift` — Swift package dependencies (Noise from `../../Noise/`, OpenSSL)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!