From 1858a036eacffe61d53dd2f0771fa0643eeb93c5 Mon Sep 17 00:00:00 2001 From: Alexandre Boucaud Date: Mon, 11 May 2026 23:09:10 +0200 Subject: [PATCH 1/6] Add message for git init --- src/lightcone/cli/commands.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lightcone/cli/commands.py b/src/lightcone/cli/commands.py index e528c6fd..de963f9a 100644 --- a/src/lightcone/cli/commands.py +++ b/src/lightcone/cli/commands.py @@ -217,8 +217,10 @@ def init( (directory / "CLAUDE.md").write_text(_PROJECT_CLAUDE_MD) # git init last so the initial commit captures every scaffolded file. + no_git = no_git or (directory / ".git").exists() if not no_git: subprocess.run(["git", "init", "-q"], cwd=directory, check=False) + console.print("[green]✓[/green] Initialized git repository") # venv if not no_venv: From e9e8cae09222cb8045952a836ee1372dca36456e Mon Sep 17 00:00:00 2001 From: Alexandre Boucaud Date: Mon, 11 May 2026 23:09:33 +0200 Subject: [PATCH 2/6] Acknowledge virtual env creation --- src/lightcone/cli/commands.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lightcone/cli/commands.py b/src/lightcone/cli/commands.py index de963f9a..9595a166 100644 --- a/src/lightcone/cli/commands.py +++ b/src/lightcone/cli/commands.py @@ -244,6 +244,7 @@ def init( check=False, capture_output=True, ) + console.print(f"[green]✓[/green] Virtual environment created in [cyan]{directory}/.venv[/cyan]") console.print(f"\n[green]Project initialized at[/green] {directory}") From a51c0ac22a183e802f3cdb6673e52d7245cab99b Mon Sep 17 00:00:00 2001 From: Alexandre Boucaud Date: Mon, 11 May 2026 23:09:59 +0200 Subject: [PATCH 3/6] Update next steps instructions --- src/lightcone/cli/commands.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lightcone/cli/commands.py b/src/lightcone/cli/commands.py index 9595a166..88b86e08 100644 --- a/src/lightcone/cli/commands.py +++ b/src/lightcone/cli/commands.py @@ -264,9 +264,9 @@ def init( ) console.print("\nNext steps:") - console.print(" • Edit [cyan]astra.yaml[/cyan] to declare outputs and recipes") - console.print(" • [cyan]lc run[/cyan] to materialize outputs") - console.print(" • [cyan]lc status[/cyan] to check what's done") + console.print(f" • Go to the newly created directory [cyan]cd {directory}[/cyan]") + console.print(" • Start [cyan]claude[/cyan]") + console.print(" • Run [cyan]/lightcone:new[/cyan] to get started on a new analysis") _CONTAINERFILE = """\ From a1ec0df7da1fb8f3a98642a7cc3a0e247c82259f Mon Sep 17 00:00:00 2001 From: Alexandre Boucaud Date: Mon, 11 May 2026 23:11:57 +0200 Subject: [PATCH 4/6] Install uv in Containerfile for consistency --- src/lightcone/cli/commands.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lightcone/cli/commands.py b/src/lightcone/cli/commands.py index 88b86e08..7009349b 100644 --- a/src/lightcone/cli/commands.py +++ b/src/lightcone/cli/commands.py @@ -275,7 +275,10 @@ def init( WORKDIR /app COPY requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt +# Install uv +RUN curl -LsSf https://astral.sh/uv/install.sh | sh +ENV PATH="/root/.local/bin:$PATH" +RUN uv pip install -r requirements.txt COPY . . """ From 1735929593801ba8dcee0544c7663a5bef694571 Mon Sep 17 00:00:00 2001 From: Alexandre Boucaud Date: Mon, 11 May 2026 23:12:54 +0200 Subject: [PATCH 5/6] Small feat - logo display on init ? --- src/lightcone/cli/commands.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lightcone/cli/commands.py b/src/lightcone/cli/commands.py index 7009349b..7f878e2a 100644 --- a/src/lightcone/cli/commands.py +++ b/src/lightcone/cli/commands.py @@ -121,7 +121,12 @@ def _project_root(start: Path | None = None) -> Path: # ============================================================================= # lc init # ============================================================================= - +_LIGHTCONE = """ +_______________________ +| . _ |_ _|_ _ _ _ _ +|_|(_|| | | (_(_)| |(/_ +_____|_________________ +""" @main.command() @click.argument("directory", type=click.Path(path_type=Path), default=".") @@ -159,6 +164,8 @@ def init( ``.lightcone/`` project state, ``.claude/`` plugin bundle, ``CLAUDE.md``, and an optional Python venv. """ + console.print(f"[cyan]{_LIGHTCONE}[/cyan]") + from astra.cli import init as astra_init from lightcone.engine.site_registry import detect_current_site From 291968cd2e1fa327cb955835522a36e4001f2bf0 Mon Sep 17 00:00:00 2001 From: Alexandre Boucaud <3065310+aboucaud@users.noreply.github.com> Date: Wed, 13 May 2026 13:59:16 +0200 Subject: [PATCH 6/6] Update src/lightcone/cli/commands.py --- src/lightcone/cli/commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lightcone/cli/commands.py b/src/lightcone/cli/commands.py index 7f878e2a..86293d9c 100644 --- a/src/lightcone/cli/commands.py +++ b/src/lightcone/cli/commands.py @@ -273,7 +273,7 @@ def init( console.print("\nNext steps:") console.print(f" • Go to the newly created directory [cyan]cd {directory}[/cyan]") console.print(" • Start [cyan]claude[/cyan]") - console.print(" • Run [cyan]/lightcone:new[/cyan] to get started on a new analysis") + console.print(" • Run [cyan]/lc-new[/cyan] to get started on a new analysis") _CONTAINERFILE = """\