lc init¶
Scaffold a new ASTRA project with Claude Code integration.
Synopsis¶
DIRECTORY defaults to . (the current directory).
What it creates¶
Inside DIRECTORY (creating it if needed):
astra.yaml # tiny boilerplate spec with one example output
CLAUDE.md # short note pointing future agents at the project
.gitignore # Python + lightcone state
.lightcone/
lightcone.yaml # currently a stub: { target: local }
results/ # placeholder; populated by `lc run`
universes/ # placeholder; populate via `astra universe generate -n …`
.claude/ # bundled Claude Code plugin
skills/, agents/, hooks/, scripts/, guides/, templates/
settings.json # the chosen permission tier
.venv/ # Python venv (skipped with --no-venv)
lc init refuses to run if DIRECTORY/astra.yaml already exists.
Options¶
| Option | Default | Effect |
|---|---|---|
--no-git |
off | Skip git init. |
--no-venv |
off | Skip python -m venv .venv. |
--permissions {yolo,recommended,minimal} |
recommended |
Which .claude/settings.json permission tier to install. |
The historical
--target,--existing-project, and--sub-analysisflags have been removed; today'slc initonly knows the three flags above. For migrating an existing project, runlc initin a fresh directory and use the/lc-migrateskill from inside Claude Code.
Permission tiers¶
| Tier | Allowed | Denied |
|---|---|---|
yolo |
Bash(*), Edit, Read, Write, WebSearch, WebFetch, mcp__* |
— |
recommended |
Read, Edit, Write, Bash(*), WebSearch, WebFetch |
Edits to ~/.ssh, ~/.aws, ~/.gnupg, /scratch, /pscratch; sudo, rm -rf, git push. |
minimal |
Read |
Everything else. |
The tiers are defined as PERMISSION_TIERS in
src/lightcone/cli/commands.py — adjust there if you want to add a tier
or change defaults.
Examples¶
lc init # scaffold in cwd, recommended tier
lc init my-analysis # scaffold in ./my-analysis
lc init my-analysis --no-git --no-venv # bare bones
lc init . --permissions yolo # for autonomous loops you trust