Skip to content
EN

Back to the catalog

xc-dev

yjmeqt/xc-dev · skills.sh

Open source Repository Open in the app JSON README (API)

About

Skill publicada por yjmeqt/xc-dev no skills.sh. Instale com: npx skills add yjmeqt/xc-dev@xc-dev

Details

Kind
Agent skills
Publisher
yjmeqt
Origin
skillssh
Category
ferramentas
Last push
2026-09-02T09:46:05Z
Repository state
ativo
Language
Rust
License
MIT
Added
2026-10-06 04:50:49
Updated
2026-10-06 04:50:49
Origin id
yjmeqt/xc-dev/xc-dev

README

# iOS dev tooling

xc-dev — a `package.json`-style task runner for Xcode projects. Declare your own
`build`, `run`, `test`, `test-package`, … tasks in `.xc-dev/tasks.toml`; xc-dev
injects scheme, bundle id, simulator id, derived data path, git branch, etc. as
`{{name}}` substitutions.

## Save disk space with git worktrees

Git worktrees are cheap. iOS builds are not. Each checkout that hits Xcode
leaves a **10GB+** tree under `~/Library/Developer/Xcode/DerivedData`. Parallel
tests then clone the destination sim into `~/Library/Developer/XCTestDevices`
(`Clone N of …`) at another few GB each. Both survive after you delete the
worktree. A handful of feature branches can eat hundreds of gigabytes.

xc-dev is built for that workflow:

- **Per-worktree build cache** — `{{derived_data}}` defaults to
  `.xc-dev/DerivedData` in this checkout, so parallel branches don't trample
  each other's incremental builds.
- **Reclaim the leftovers** — `xc-dev :clean` lists (and `--yes` deletes) this
  worktree's local cache *and* any system DerivedData whose `WorkspacePath`
  belongs here. Tear down a feature branch without leaving 10GB behind.
- **Worktree-tagged simulators (and their XCTest clones)** — each checkout can
  own a sim (`{{product_name}}-{{git_worktree_name}}`). XCTest copies inherit
  that name (`Clone 2 of Pulse-feat-login`), so leftover clones stay
  attributable to the worktree instead of becoming anonymous gigabytes.
  `clean` can delete the parent sim too.

## Install

**Prebuilt binary (macOS, Apple Silicon)** — v0.0.1:

```sh
curl -L https://github.com/yjmeqt/xc-dev/releases/download/v0.0.1/xc-dev-v0.0.1-aarch64-apple-darwin.tar.gz | tar xz
sudo mv xc-dev-v0.0.1-aarch64-apple-darwin/xc-dev /usr/local/bin/
```

**From source** (any platform with a Rust toolchain):

```sh
cargo install --git https://github.com/yjmeqt/xc-dev xc-dev
# or from a local clone:
cargo install --path crates/xc-dev
```

## Install the Claude skill

```sh
npx skills add yjmeqt/xc-dev
```

See [`crates/xc-dev/README.md`](https://github.com/yjmeqt/xc-dev/blob/HEAD/crates/xc-dev/README.md) for the quickstart and docs.

More