Skip to content

refactor: reorganize demo tooling under content/demo hub - #83

Open
Andreas-Garcia wants to merge 2 commits into
mainfrom
refactor/content-demo-hub
Open

refactor: reorganize demo tooling under content/demo hub#83
Andreas-Garcia wants to merge 2 commits into
mainfrom
refactor/content-demo-hub

Conversation

@Andreas-Garcia

Copy link
Copy Markdown
Member

Description

Reorganizes library demo tooling under a single content/ hub, replacing the old docs/demos/ and root-level scripts/demo_repl.py / scripts/run_demo_tape.py:

  • content/demo/: hub for library demo docs (docs/), demo scripts (scripts/), and shared tapes/output (demos/).
  • content/scripts/: content build scripts that aren't demo-specific.
  • Drops the old top-level content/linkedin/ channel-folder convention, superseded by per-article platform subfolders (see content/README.md).

Picked up along the way:

  • run_demo_tape.py's repo_root resolution was one directory level too shallow, so content/articles/ was never found — fixed the .parent chain.
  • Both library demo tapes and their README cd'd only two levels up instead of three, breaking repo-root-relative paths.
  • run_demo_tape.py rewrote a tape's Output ... directive with re.sub() without checking a replacement occurred — now uses re.subn() and errors if nothing matched.
  • system-dependencies-demo.toml's install comment referenced a nonexistent Ubuntu install script.

Split out of #80 — this is the infra move that #80's new article content builds on top of.

Type of Change

  • Code refactoring (no functional changes)
  • Bug fix (non-breaking change which fixes an issue)

Pre-PR Checklist

Moves library VHS demo tapes/scripts from docs/demos/ and root-level
scripts/ into content/demo/{docs,demos,scripts}/, alongside the new
content/ hub layout (demo/, scripts/, articles/). Along the way, fixes
run_demo_tape.py's off-by-one repo_root resolution (content/articles/
was never found) and a silent no-op when a tape's Output directive
couldn't be found for rewriting. Drops the now-superseded top-level
content/linkedin/ draft convention in favor of per-article platform
subfolders.
Copilot AI lite review requested due to automatic review settings August 7, 2026 17:08
@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies labels Aug 7, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request reorganizes demo/content tooling into a centralized content/ hub, migrating the previous docs/demos/ and root scripts/*demo* utilities into content/demo/, and updating docs/config to match the new layout.

Changes:

  • Move demo scripts and VHS demo docs into content/demo/ and remove legacy docs/demos/ + scripts/run_demo_tape.py.
  • Add new library demo tapes under content/demo/demos/tapes/ and supporting installation/docs under content/demo/docs/.
  • Update repo docs and configs (AGENTS.md, .cursor/rules/*, pyproject.toml, .gitignore, pre-commit excludes, CHANGELOG.md) to reflect the new structure and behavior.

Reviewed changes

Copilot reviewed 26 out of 28 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
system-dependencies-demo.toml Updates install comments to reflect the new demo tooling layout and removes reference to a nonexistent Ubuntu script.
scripts/run_demo_tape.py Removes legacy tape runner script under scripts/.
pyproject.toml Updates Ruff per-file ignores to point to demo scripts under content/demo/scripts/.
docs/demos/tapes/get_full_metadata.tape Removes legacy doc demo tape.
docs/demos/README.md Removes legacy demo documentation under docs/demos/.
content/scripts/README.md Adds documentation for non-demo content scripts and points to new demo tooling locations.
content/README.md Replaces old “channel folder” convention with the new content/demo, content/scripts, and content/articles structure.
content/linkedin/2025-02-example-draft/.gitkeep Removes legacy LinkedIn draft scaffolding.
content/linkedin/2025-02-example-draft.md Removes legacy LinkedIn draft scaffolding.
content/linkedin/2025-02-audiometa-1.0.0-draft.md Removes legacy LinkedIn draft content.
content/demo/scripts/run_demo_tape.py Adds new article-oriented tape runner that selects recent tapes and rewrites Output robustly.
content/demo/scripts/install-demo-dependencies-macos.sh Adds macOS installer for VHS demo dependencies.
content/demo/scripts/demo_repl.py Adds REPL-style demo script used by VHS tapes.
content/demo/scripts/article_output_paths.sh Adds shared bash helpers for resolving article output paths.
content/demo/README.md Adds a top-level README describing the content/demo hub structure.
content/demo/docs/VHS_DEMO_README.md Adds detailed VHS demo usage/install documentation under the new location.
content/demo/docs/DEMO_VIDEOS_README.md Adds demo video overview/reference under the new location.
content/demo/docs/DEMO_INSTALLATION.md Adds install/troubleshooting guide for demo video creation under the new location.
content/demo/demos/tapes/audiometa_demo.tape Adds library REPL-style VHS tape under the new layout.
content/demo/demos/tapes/audiometa_demo_script.tape Adds library script-style VHS tape under the new layout.
content/demo/demos/README.md Adds README for running library VHS demos from the new location.
CHANGELOG.md Adds [Unreleased] entries documenting the demo tooling fixes and layout changes.
AGENTS.md Updates contributor instructions for demo videos to the new content/demo + content/articles structure.
.pre-commit-config.yaml Expands check-added-large-files exclude to include article sample audio directory.
.gitignore Switches ignore rules from docs/demos to content/**/output/ and article-generated media patterns.
.cursor/rules/demo-videos.mdc Updates Cursor rule guidance for demo videos to the new content layout and workflow.
.cursor/rules/demo-tape-authoring.mdc Updates tape authoring guidance to match the new article/demo layout and conventions.
.cursor/rules/code-style.mdc Updates demo-script carve-out paths to the new content/demo/scripts/* locations.
Suppressed comments (1)

content/demo/docs/DEMO_INSTALLATION.md:131

  • This quick-test command uses a multi-line string with echo "... which will break when copied into a shell (the quote is not closed on the first line). Use printf (or a here-doc) to emit a valid multi-line tape to stdin.
# Test VHS (quick test)
echo "Output test.gif
Type 'echo Hello, World!'" | vhs /dev/stdin

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +34 to +36
This will generate:

- `get_full_metadata_demo.gif` - Animated GIF
DEMO_INSTALLATION.md, DEMO_VIDEOS_README.md, VHS_DEMO_README.md,
audiometa_demo.tape, audiometa_demo_script.tape, and
scripts/install-demo-dependencies-macos.sh were left behind at the
repo root after being moved to content/demo/... in this branch. All
references already point at the new paths.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants