Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
5eb8a33
De-bundle skills; install from the agent-skills marketplace (LCR-181)
cailmdaley Jul 23, 2026
e729a25
Remove the permission-tier mechanism (LCR-181)
cailmdaley Jul 23, 2026
81d97a9
Remove the plugin-hint mechanism (LCR-181)
cailmdaley Jul 23, 2026
88b0d70
Make `lc init` convergent (LCR-181)
cailmdaley Jul 23, 2026
3a69332
Install astra-tools into the project venv (LCR-181)
cailmdaley Jul 23, 2026
00eefc8
Wire Codex alongside Claude Code in lc init (LCR-181)
cailmdaley Jul 23, 2026
1575880
docs: the install path and upgrade model (LCR-181)
cailmdaley Jul 23, 2026
0ad3200
docs: harness-agnostic language sweep (LCR-181)
cailmdaley Jul 23, 2026
d28769e
Register the marketplace globally; projects only activate (LCR-181)
cailmdaley Jul 23, 2026
9157a6b
docs: the global one-time install model (LCR-181)
cailmdaley Jul 23, 2026
21499dd
lc is global-only: drop lightcone-cli from the project venv (LCR-181)
cailmdaley Jul 23, 2026
b9b6915
astra is global too: lc init drops the project venv (LCR-181)
cailmdaley Jul 23, 2026
ab2227f
DOGFOOD PINS: point at open PR branches (revert before merge)
cailmdaley Jul 23, 2026
e6c6a0b
docs: runtime none uses the host PATH; users own the environment (LCR…
cailmdaley Jul 24, 2026
9592432
Restore empty venv creation in lc init (LCR-181)
cailmdaley Jul 24, 2026
4e2ea46
docs: align venv description with empty-venv model (LCR-181)
cailmdaley Jul 24, 2026
3d7d8b9
lc init: guard against clobbering a pre-existing .venv (LCR-181)
cailmdaley Jul 24, 2026
8bda862
Unpin astra-tools (0.2.11 is on PyPI); keep marketplace on the PR bra…
cailmdaley Jul 24, 2026
b5d2be1
lc init: create the venv on adoption too — per-checkout state converg…
cailmdaley Jul 24, 2026
3617f1d
lc init: flatten to one convergence rule — every artifact add-if-miss…
cailmdaley Jul 24, 2026
2924244
lc init: simplification pass — remove historical residue (LCR-181)
cailmdaley Jul 24, 2026
8730730
Interim marketplace ref: flip is gated on agent-skills#17, not #15
cailmdaley Jul 24, 2026
a8c1094
lc init: drop convergence — scaffold new projects only (LCR-181)
cailmdaley Jul 24, 2026
e403f21
Fix stale marketplace branch ref: astra-plugin-rework -> lightcone-cl…
cailmdaley Jul 31, 2026
7f560e8
Merge origin/main: carry LCR-174 init changes into the refactored sca…
EiffL Aug 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 10 additions & 17 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

## Project Overview

**lightcone-cli** is Lightcone Research's agentic layer for ASTRA (Agentic Schema for Transparent Research Analysis). It ships the `lc` executable and Claude Code skills/hooks used during interactive analysis work.
**lightcone-cli** is Lightcone Research's agentic layer for ASTRA (Agentic Schema for Transparent Research Analysis). It ships the `lc` executable. The agent skills and hooks used during interactive analysis work ship separately, from the [agent-skills](https://github.com/LightconeResearch/agent-skills) marketplace as the `lightcone` plugin. `lc init` registers the marketplace globally with each harness on PATH, then activates the plugin per project. For Claude Code it runs `claude plugin marketplace add` (global) and writes `enabledPlugins` into the project's `.claude/settings.json` (activation only). For Codex it runs `codex plugin` (global) when `codex` is on PATH.

- **ASTRA** = pure specification: schema, validation, prior insights & findings, evidence verification, helpers, minimal CLI
- **lightcone-cli** = agentic layer: Claude Code skills, project scaffolding, **Snakemake-based execution**, container builds
- **lightcone-cli** = agentic layer: agent skills, project scaffolding, **Snakemake-based execution**, container builds

lightcone-cli depends on ASTRA. The `astra` CLI handles spec operations; the `lc` CLI handles execution and agent operations.

Expand Down Expand Up @@ -49,9 +49,7 @@ astra.yaml ── snakefile generator ──> .lightcone/Snakefile
src/lightcone/ # namespace — NO __init__.py
├── cli/ # Click surface
│ ├── __init__.py # exposes main()
│ ├── commands.py # init, run, status, verify, build
│ ├── plugin.py # get_plugin_source_dir
│ └── claude/ # force-included Claude plugin bundle (in installed wheel only)
│ └── commands.py # init, run, status, verify, build
├── engine/ # execution substrate — Snakemake-based
│ ├── __init__.py
│ ├── manifest.py # write_manifest, sha256_dir, code_version — the integrity layer
Expand All @@ -67,17 +65,12 @@ src/lightcone/ # namespace — NO __init__.py
├── cli.py # `lc eval` subcommand group
├── harness.py, sandbox.py, graders.py, build.py, report.py, models.py

claude/lightcone/ # Claude plugin source — force-included into the wheel
├── skills/ # lc-new, lc-from-code, lc-from-paper,
│ # lc-feedback, ralph;
│ # paper-reproduction bundle: lc-from-paper (entry),
│ # ralph (loop substrate),
│ # paper-extraction, figure-comparison,
│ # check-sentence-by-sentence
│ # (see skills/README.md for the full bundle map)
├── agents/ # lc-extractor
├── templates/ # Project CLAUDE.md template
└── scripts/ # Session hooks (bash): venv activation, validate-on-save, session-start primer
# Skills, hooks, and the lc-extractor subagent are NOT in this repo. They ship
# from github.com/LightconeResearch/agent-skills as the `lightcone` plugin.
# `lc init` registers the marketplace globally with each harness, then activates
# the plugin per project: a global `claude plugin marketplace add` plus
# enabledPlugins in .claude/settings.json for Claude Code, and `codex plugin`
# (global) for Codex when `codex` is on PATH.

tests/ # pytest — mirrors src/ structure
pyproject.toml # hatchling + hatch-vcs, ASTRA + Snakemake as deps
Expand Down Expand Up @@ -153,7 +146,7 @@ Global config (`~/.lightcone/config.yaml`) is auto-created with defaults on firs
| Change manifest semantics | `src/lightcone/engine/manifest.py` + `tests/test_manifest.py` | Bump `SCHEMA_VERSION`; add a test |
| Change Snakefile shape | `src/lightcone/engine/snakefile.py` + `tests/test_snakefile.py` | Includes a `snakemake -n` parse test |
| Add container features | `src/lightcone/engine/container.py` | `compute_image_tag()`, build/resolve functions |
| Create a skill | `claude/lightcone/skills/` | SKILL.md with YAML frontmatter (`name`, `description`, `allowed-tools`) |
| Create or edit a skill | [`LightconeResearch/agent-skills`](https://github.com/LightconeResearch/agent-skills) | Skills live in that repo, not here |

## Test Patterns

Expand Down
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,37 @@ care of the rest — specification, execution, and provenance.
uv tool install lightcone-cli
lc init my-analysis
cd my-analysis
claude
# then open your agent harness in the project, e.g. Claude Code:
claude # trust the folder to install the lightcone plugin
```

The skills ship as a plugin, not with `lightcone-cli`. `lc init` registers the
[agent-skills](https://github.com/LightconeResearch/agent-skills) marketplace
globally with each agent harness on PATH, once. For Claude Code it runs
`claude plugin marketplace add`, then writes `enabledPlugins` into the project's
`.claude/settings.json` to activate the `lightcone` plugin on folder trust. For
Codex it runs `codex plugin` when `codex` is on PATH. The
[install guide](https://docs.lightconeresearch.org/user/install/) has the
by-hand commands as a fallback.

Then tell the agent what you have to start from — a research question
(`/lc-new`), existing code (`/lc-from-code`), or a paper to reproduce
(`/lc-from-paper`).
(`/lightcone:new`), existing code (`/lightcone-experimental:from-code`), or a
paper to reproduce (`/lightcone-experimental:from-paper`).

→ [Full getting-started guide](https://docs.lightconeresearch.org/user/getting-started/)

## Skills

Skills live in the
[agent-skills](https://github.com/LightconeResearch/agent-skills) marketplace.

| Skill | What it does |
|---|---|
| [`/lc-new`](https://docs.lightconeresearch.org/skills/lc-new/) | Scope a new analysis from a research question into a full `astra.yaml` spec |
| [`/lc-from-code`](https://docs.lightconeresearch.org/skills/lc-from-code/) | Bring an existing codebase into ASTRA |
| [`/lc-from-paper`](https://docs.lightconeresearch.org/skills/lc-from-paper/) | Reproduce a published paper end-to-end |
| [`/lc-feedback`](https://docs.lightconeresearch.org/skills/lc-feedback/) | File a bug report with version and error context auto-collected |
| `/lightcone:new` | Scope a new analysis from a research question into a full `astra.yaml` spec |
| `/lightcone:report` | Author the MyST report that references `astra.yaml` elements by path |
| `/lightcone:feedback` | File a bug report with version and error context auto-collected |
| `/lightcone-experimental:from-code` | Bring an existing codebase into ASTRA |
| `/lightcone-experimental:from-paper` | Reproduce a published paper end-to-end |

## Capabilities

Expand Down
113 changes: 0 additions & 113 deletions claude/lightcone/agents/lc-extractor.md

This file was deleted.

30 changes: 0 additions & 30 deletions claude/lightcone/hooks.json

This file was deleted.

23 changes: 0 additions & 23 deletions claude/lightcone/scripts/activate-venv.sh

This file was deleted.

79 changes: 0 additions & 79 deletions claude/lightcone/scripts/session-start.sh

This file was deleted.

44 changes: 0 additions & 44 deletions claude/lightcone/scripts/validate-on-save.sh

This file was deleted.

Loading
Loading