setup-sprite

Set up a reproducible remote dev environment using sprites with credential-free git sync. Use when user asks to "set up a sprite", "create a remote dev environment", "use sprites", or mentions wanting a reproducible remote environment for a project.

7 stars

Best use case

setup-sprite is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Set up a reproducible remote dev environment using sprites with credential-free git sync. Use when user asks to "set up a sprite", "create a remote dev environment", "use sprites", or mentions wanting a reproducible remote environment for a project.

Teams using setup-sprite should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/setup-sprite/SKILL.md --create-dirs "https://raw.githubusercontent.com/jack-michaud/faire/main/sprites/skills/setup-sprite/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/setup-sprite/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How setup-sprite Compares

Feature / Agentsetup-spriteStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Set up a reproducible remote dev environment using sprites with credential-free git sync. Use when user asks to "set up a sprite", "create a remote dev environment", "use sprites", or mentions wanting a reproducible remote environment for a project.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Setup Sprite

Set up and manage a remote dev environment using sprites. All git auth stays local — no credentials on the sprite.

## Initial Setup

Run these steps in order:

1. **Create the sprite**
   ```
   sprite create <project-name>
   ```

2. **Create a bare repo on the sprite**
   ```
   sprite exec -s <name> git init --bare /home/sprite/repos/<name>.git
   ```

3. **Start git daemon on the sprite**
   ```
   sprite exec -s <name> git daemon --reuseaddr --base-path=/home/sprite/repos --export-all --enable=receive-pack --port=9418 /home/sprite/repos
   ```

4. **Start the proxy (run in background locally)**
   ```
   sprite proxy -s <name> 9418
   ```

5. **Push code from local**
   ```
   git push git://localhost:9418/<name>.git <branch>
   ```

6. **Clone working copy on the sprite**
   ```
   sprite exec -s <name> git clone /home/sprite/repos/<name>.git /home/sprite/<name>
   ```

7. **Install dependencies**
   ```
   sprite exec -s <name> -dir /home/sprite/<name> npm install
   ```

8. **Create initial checkpoint**
   ```
   sprite checkpoint create -s <name> --comment "initial setup"
   ```

## Ongoing Workflow

- **Push updates:** `git push git://localhost:9418/<name>.git <branch>`
- **Pull changes back:** `git pull git://localhost:9418/<name>.git <branch>`
- **Run commands:** `sprite exec -s <name> -dir /home/sprite/<name> <command>`
- **Interactive shell:** `sprite console -s <name>`
- **Checkpoint:** `sprite checkpoint create -s <name> --comment "<description>"`
- **Restore:** `sprite restore <checkpoint-id> -s <name>`

## Key Design Decisions

- **Sprite targets do NOT go in Makefiles** — keep Makefiles for local dev only
- **No GitHub credentials on the sprite** — all git auth stays local
- **PRs are created from the local machine** after pulling changes from the sprite
- **Git daemon + sprite proxy** is the standard way to sync code

## Gotchas

- `sprite exec` treats the entire argument as one command — no semicolons or pipes. Run separate exec calls instead.
- The git daemon persists on the sprite after the exec that started it.
- If `sprite proxy` fails with "address already in use", kill old proxy processes locally: `pkill -f "sprite proxy"`
- The sprite is Ubuntu 25.04 with Node 22, npm, bun, and git pre-installed.

Related Skills

Ticket Workflow

7
from jack-michaud/faire

Autonomous ticket-to-production lifecycle with promptlet-driven phases. Use when executing /ticket commands or working on ticket-driven development.

Writing python services

7
from jack-michaud/faire

Writing a class with encapsulated logic that interfaces with an external system. Logging, APIs, etc.

stacked-pr-review

7
from jack-michaud/faire

Use when addressing PR review comments on stacked jj branches. Triggered by phrases like "address review comments", "fix PR feedback", "respond to review on stacked branch", or "update the PR with reviewer suggestions".

Python Code Style

7
from jack-michaud/faire

Use when writing python code. Can be used for code review.

Plan

7
from jack-michaud/faire

My planning skill that has additional instructions. Always use when entering plan mode.

Modal

7
from jack-michaud/faire

No description provided.

merging-pr-stack

7
from jack-michaud/faire

Use when merging a stack of stacked PRs with jj. Triggered by phrases like "merge the PR stack", "merge the stacked PRs", "land these PRs", or "merge the stack into main".

Creating Slash Commands

7
from jack-michaud/faire

Build custom slash commands in Claude Code with YAML frontmatter, permissions, and best practices. Use when creating automation workflows, project-specific commands, or standardizing repetitive tasks.

Creating Hooks

7
from jack-michaud/faire

Build event-driven hooks in Claude Code for validation, setup, and automation. Use when you need to validate inputs, check environment state, or automate tasks at specific lifecycle events.

Create Claude Channel

7
from jack-michaud/faire

Step-by-step procedure for building a Claude Code channel integration. Use when creating a new channel plugin that connects Claude Code to external systems via MCP, named pipes, webhooks, or chat platforms.

Committing

7
from jack-michaud/faire

Any time committing, pushing, or creating new revisions is mentioned, use this commit flow.

SOLID Principles Code Review

7
from jack-michaud/faire

Review Python code for adherence to SOLID principles (SRP, OCP, LSP, ISP, DIP). Use when reviewing Python code for maintainability, testability, and design quality.