Skip to content

chore: add vibetuner core-templates-path CLI for setup-tw-sources#1708

Merged
davidpoblador merged 1 commit into
mainfrom
feat/core-templates-path
Apr 28, 2026
Merged

chore: add vibetuner core-templates-path CLI for setup-tw-sources#1708
davidpoblador merged 1 commit into
mainfrom
feat/core-templates-path

Conversation

@davidpoblador

Copy link
Copy Markdown
Member

Closes #1706.

Summary

  • New vibetuner core-templates-path CLI command that prints the absolute path to the framework's frontend templates directory on a single line. Logs go to stderr; stdout is just the path, so it's safe in shell command substitution.
  • Updated vibetuner-template/package.json's setup-tw-sources to call the new command and verify the existing .core-templates symlink target before rebuilding. Previously a venv rebuild that shifted the framework path could leave the symlink pointing at a defunct location, silently dropping framework templates from Tailwind's @source scan.
  • Tests: stdout payload is exactly the path, single line, absolute, points at a real directory containing base/skeleton.html.jinja.
  • Docs: new section in cli-reference.md and llms-full.txt; llms.txt reference list updated.

Smoke test

Verified locally that setup-tw-sources is idempotent across three scenarios:

  • Fresh checkout with no .core-templates → creates symlink.
  • Run again → no-op (target matches).
  • Manually point .core-templates at a wrong path → rebuilds correctly.

Test plan

  • uv run python -m pytest tests/unit/test_core_templates_path_cli.py (4 new tests)
  • uv run python -m pytest tests/ (full suite, 721 passed)
  • just format && just lint && just type-check clean
  • First scaffolded project against the new template confirms the build still works end-to-end

🤖 Generated with Claude Code

Closes #1706.

Replaces the inline ``python -c "import vibetuner; print(vibetuner.__path__[0])"``
dance in ``vibetuner-template/package.json``'s ``setup-tw-sources`` with a
first-class CLI command. Output is plain stdout (logs go to stderr), so it's
safe to use in shell command substitution.

The updated ``setup-tw-sources`` also recovers from a stale ``.core-templates``
symlink: it resolves the canonical path via the CLI, compares it to the
current symlink target via ``readlink``, and rebuilds only if the target has
moved. Previously a venv rebuild that shifted the framework path could leave
``.core-templates`` pointing at a defunct location, silently dropping
framework templates from Tailwind's ``@source`` scan.

- New ``vibetuner core-templates-path`` command in ``vibetuner.cli``,
  printing ``package_templates / "frontend"`` (resolved, absolute).
- Updated ``vibetuner-template/package.json`` ``setup-tw-sources`` to call the
  new command and check the existing symlink target before rebuilding.
- Tests: stdout payload is exactly the path, single line, points at a real
  directory containing ``base/skeleton.html.jinja``.
- Docs: new section in ``cli-reference.md`` and ``llms-full.txt``;
  ``llms.txt`` reference list updated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@davidpoblador davidpoblador merged commit b095d32 into main Apr 28, 2026
2 checks passed
@davidpoblador davidpoblador deleted the feat/core-templates-path branch April 28, 2026 08:02
davidpoblador pushed a commit that referenced this pull request Apr 28, 2026
🤖 I have created a release *beep* *boop*
---


##
[10.6.0](v10.5.0...v10.6.0)
(2026-04-28)


### Features

* enforce CSP in debug by default with opt-out flag
([#1702](#1702))
([2d939ea](2d939ea))
* per-tenant theming via runtime CSS-variable injection
([#1707](#1707))
([6a44e6c](6a44e6c))


### Miscellaneous Chores

* add `vibetuner core-templates-path` CLI for setup-tw-sources
([#1708](#1708))
([b095d32](b095d32))
* **deps:** bump gitpython from 3.1.46 to 3.1.47
([#1689](#1689))
([b44149d](b44149d))
* **deps:** bump gitpython from 3.1.46 to 3.1.47 in /vibetuner-py
([#1688](#1688))
([14aaf96](14aaf96))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: replace .core-templates symlink dance with a stable framework-path API

1 participant