Set up an internal studio session¶
The first outcome is a working Claude Code session with a known workspace. Provider setup and browser apps are optional later steps.
1. Open the tested checkout¶
Obtain access to the private repository and the revision the maintainer names for the pilot. Install Git, Python 3.13+ and Claude Code. Windows with CPython 3.13.14 is the verified environment; other platforms need their own acceptance run. Installation describes the source-checkout contract.
git clone https://github.com/0xIntuition/intuition-content-studio.git
cd intuition-content-studio
git config core.hooksPath .githooks
python --version
The session-first work merged to master in PR #293 on 2026-09-28. Record the exact revision used for the pilot with git rev-parse HEAD. The Git size hook is separate from client tool hooks.
An optional virtual environment needs no core pip packages. If you use one, use its Python consistently in the terminal and client. Do not install the app or identity profiles merely to begin.
2. Run the setup wizard¶
python bin/studio_setup.py onboard
Or open the checkout in Claude Code and type /onboard; it asks the same questions in conversation, one at a time, and you can answer loosely. The wizard asks:
- who you are (name, role)
- whether to start from a profile: a recipe from the studio registry (a brand team's pack, or a personal pack for someone trying the studio on their own), start blank, or paste a pack link (it shows what the pack declares and installs only on your yes)
- where the workspace lives, a new empty folder outside Git by default (the recipe suggests a folder name)
- whether to add a second, personal profile (its own workspace, the default doctrine, no team, and your personal storage label if you have a bucket); switch later with
python bin/studio_setup.py profile use <name> - which harness you use: Claude Code is the tested path; Codex and Hermes are supported with less testing (
docs/clients/) - whether you use Higgsfield for hosted generation
- whether local models (ComfyUI) are available
- your editor: Premiere through the Higgsfield Bridge, a handoff to another editor (the studio delivers the selects and an mp4 rough cut from
studio/cut.py; FCP7 XML or a CMX3600 EDL only throughbin/export_sequence.py, from a review-app sequence, with OpenTimelineIO installed), or the studio's own quick cut - motion graphics (After Effects) and 3D (Blender)
- optional helpers (pip profiles, the Git size hook) and team surfaces
It writes your saved profile and the names of your profiles into this checkout's ignored .studio-local.json, creates the workspace with its studio.json and _session-notes/, builds the doctrine pack, and finishes by running the doctor. It never installs a package, sets Git config or spends credits without your explicit yes, and it never asks for a token or key: those go in a file, never in chat (storage keys in ~/.studio/storage/<label>.json, docs/PACKS.md ยง Storage targets). Preview with onboard --dry-run; a prepared answers file runs with onboard --answers <file.json>. Re-run it any time to change a choice. If Python itself is broken, run the terminal wizard and paste the error to whoever helps you.
In Claude Code, type /doctor at any time to check the install and the connections; it reads and reports and fixes nothing on its own.
Advanced: manual setup¶
The wizard does this for you. To do it by hand, use a new empty folder outside Git:
$studioWorkspace = Join-Path $env:USERPROFILE 'StudioWorkspace'
python bin/studio_setup.py pack add https://github.com/0xIntuition/studio-pack-intuition.git # Intuition teammates; skip --intuition otherwise
python bin/studio_setup.py init "$studioWorkspace" --intuition
python -m studio.paths root
python bin/studio_setup.py doctor
Setup builds local doctrine and seeds a generic welcome example with held cues. It does not probe render services or generate media. It saves your choice in this checkout's ignored .studio-local.json, so independently opened clients can resolve it. To select an existing initialized workspace, use python bin/studio_setup.py select <path>. How a workspace is filed (one folder per piece, the folders inside it, the names) is in the workspace guide.
Read the effective path in the response: environment variables or a nearer studio.json can override the saved choice. Workspace diagnostics explains precedence, partial setup and the distinction between planning readiness, context freshness and generation readiness.
Brand material (canon, lexicon, overlay, team rules and skills) reaches the studio through a pack, and no brand ships in this checkout: python bin/studio_setup.py pack list shows what is installed and what is active for your workspace, and Packs explains adding one.
Brand-pack teammates: one line, before onboarding (you need read access to the private repository):
python bin/studio_setup.py pack add https://github.com/0xIntuition/studio-pack-intuition.git
Then onboard and pick Intuition creative team, which activates the pack in your workspace, or activate it in a workspace you already have with python bin/studio_setup.py pack use intuition --workspace <path>. Restart Claude Code afterwards so it reads the pack's rules and skills. A workspace that is Intuition work without the pack active gets one fix line from the doctor and at session start, and spends nothing until it is fixed. For internal Intuition work, have the maintainer confirm the approved context. Missing or stale identity material can block production while the generic rehearsal remains usable.
You do not need the maintainer's private vault. Shared knowledge and personal vaults explains what ships in the repository, where to keep your own notes, and the repository-owned shared knowledge contract.
3. Activate your client¶
Open the checkout in Claude Code. Ask it to confirm the workspace before making changes.
Retain the repository's existing project instructions, settings, skills and model routing. Review the project trust/hook prompts in your installed client. The repository's liveness message checks wiring; it does not certify every tool's interception. Use the studio skill by name. Review auto-start is off by default; STUDIO_REVIEW_AUTOSTART=1 is an explicit local opt-in, not a required setup step. Do not use generation as a connection test.
4. Complete the first session¶
Use the internal first-session guide. It walks through supplied fixture takes, persistent decisions and a fresh-session handoff. No provider account is needed. Keep welcome's cues held; its seeded reviews and waivers are teaching examples, and its cached costs are not live quotes.
Optional capabilities¶
Install the optional dependencies a task needs. ffmpeg/ffprobe enable CPU video export. Identity measurement needs its declared packages and separately provisioned model weights.
Connect a provider only when there is a real generation task. Confirm the actual account/team, current tool names, runtime interception, exact live cost, and scoped authorization through the shared workflow. The project does not require a paid hello-world render to prove installation.
| Symptom | Next step |
|---|---|
| SessionStart says not set up | Run /onboard in Claude Code, or python bin/studio_setup.py onboard in a terminal. |
| Resolver shows an old drive | Run studio_setup.py select, read the effective selection and remove only the unwanted local/environment override. |
| Initialization refuses a directory | It already contains files. Inspect it or choose a new empty target; do not overwrite existing work. |
| No private vault | Expected on a clone. Read repository context and use your own workspace notes. |
| Doctor reports source changes or a stale pack | Review the named repository changes and rebuild the selected pack explicitly; never overwrite identity records automatically. |
| Planning is ready, doctrine is not verified | Inspect the named pack and its verification errors before production preflight. |
| Hook definitions are configured but runtime unverified | Complete the client-specific harmless probe; no generation test. |
| Pillow/Node/provider credentials absent | Continue the session rehearsal. Install/configure only a capability your next task needs. |
| Export unavailable | Check ffmpeg and ffprobe on the client's PATH; metadata rehearsal still works. |
| Write refused on a stale revision or retry ID | Inspect current records and the saved operation; retain evidence and reconcile instead of deleting the journal. |
Other clients: docs/clients/.