Skip to content

lc init

Scaffold a new ASTRA project with Claude Code integration.

Synopsis

lc init [OPTIONS] [DIRECTORY]

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/
  settings.json               # agent-skills marketplace registration (no permission policy)
.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.

The historical --target, --existing-project, --sub-analysis, and --permissions flags have been removed; today's lc init only knows the two flags above. For migrating an existing project, run lc init in a fresh directory and use the /lightcone-experimental:from-code skill from inside Claude Code.

Permissions

lc init writes no permission policy. Permissions belong to the harness. You choose the trust level Claude Code runs under. See Troubleshooting for a copy-paste ruleset for cluster work.

Examples

lc init                                # scaffold in cwd
lc init my-analysis                    # scaffold in ./my-analysis
lc init my-analysis --no-git --no-venv # bare bones

Next steps

cd my-analysis
claude           # open Claude Code
# Inside Claude Code:
/lightcone:new  # scope a research question into astra.yaml
# Then ask the agent to implement the spec.
# It will run lc run, watch lc status, then validate and verify.