Skip to content

feat(marketplace): add video-generic workflow#1639

Merged
github-actions[bot] merged 7 commits into
devfrom
feat/marketplace-add-video-generic
May 11, 2026
Merged

feat(marketplace): add video-generic workflow#1639
github-actions[bot] merged 7 commits into
devfrom
feat/marketplace-add-video-generic

Conversation

@coleam00

@coleam00 coleam00 commented May 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Problem: Marketplace v0 shipped with four seed entries, all sourced from coleam00/Archon's bundled defaults. There was no end-to-end exercise of the directory-format install path from an external repo.
  • Why it matters: Directory-install (yaml + commands/ + scripts/ fan-out, GitHub Contents API walk, SHA pinning) is the path third-party contributors will actually use. v0 lint and install code exist but haven't been smoke-tested against a real outside repo.
  • What changed: Adds one entry to packages/docs-web/src/data/marketplace.ts for the video-generic Remotion workflow at leex279/remotion-video-test/.archon @ 4dac83c2. Tagged automation.
  • What did not change: No code, no lint script, no install logic, no CLI. Just a registry row.

UX Journey

Before

User                       archon.diy/workflows/             CLI
────                       ─────────────────────             ───
visits /workflows ───────▶ shows 4 seed entries (all
                           sourced from coleam00/Archon
                           defaults, single-file blob URLs)

After

User                       archon.diy/workflows/             CLI
────                       ─────────────────────             ───
visits /workflows ───────▶ shows 5 entries — [video-generic
                           is the first directory-format
                           entry from an external repo]
                                                             [archon workflow install
                                                              video-generic — exercises
                                                              the GitHub Contents API
                                                              walk + subdir fan-out]

Architecture Diagram

Before / After

No module changes. Only packages/docs-web/src/data/marketplace.ts (data) is touched.

Connection inventory:

From To Status Notes
docs-web/marketplace.ts lint-marketplace.ts unchanged Lint passes against new entry
docs-web/marketplace.ts /workflows/ Astro pages unchanged New row renders automatically
docs-web/marketplace.ts workflows.json.ts unchanged New row included in JSON
cli/workflow install leex279/remotion-video-test new First external directory-format source

Label Snapshot

  • Risk: risk: low
  • Size: size: XS
  • Scope: web
  • Module: web:marketplace

Change Metadata

  • Change type: feature
  • Primary scope: web

Linked Issue

Validation Evidence (required)

$ bun packages/docs-web/scripts/lint-marketplace.ts
Linting 5 marketplace entries...
Verifying sources exist at pinned SHAs...
  ✓ [archon-piv-loop] ...
  ✓ [archon-fix-github-issue] ...
  ✓ [archon-comprehensive-pr-review] ...
  ✓ [archon-ralph-dag] ...
  ✓ [video-generic] directory verified at 4dac83c2
Marketplace lint PASSED — all 5 entries valid.

$ bun run type-check
All 10 workspace packages: Exited with code 0

$ bun run --filter @archon/docs-web build
69 page(s) built in 10.27s

$ bunx prettier --check packages/docs-web/src/data/marketplace.ts
All matched files use Prettier code style!
  • Evidence provided: lint output (above) confirms GitHub API resolved the directory tree at the pinned SHA.
  • Skipped: bun run test and bun run lint — no code paths touched, only a static data row. Pre-commit lint-staged hooks ran eslint + prettier on the change successfully.

Security Impact (required)

  • New permissions/capabilities? No
  • New external network calls? No (the workflow itself calls ElevenLabs, but that's the user's choice at install time, not at registry time)
  • Secrets/tokens handling changed? No
  • File system access scope changed? No

The new entry points at a third-party GitHub repo (leex279/remotion-video-test). At install time, the CLI fetches files from a pinned SHA via the existing installDirectory path (isSafePathComponent regex, slug regex, host allowlist). Self-attestation per CONTRIBUTING.md: workflow does not exfiltrate data, does not run destructive ops without confirmation, and the SHA pins a reviewed state.

Compatibility / Migration

  • Backward compatible? Yes
  • Config/env changes? No
  • Database migration needed? No

End users who install video-generic need ELEVENLABS_API_KEY in their .archon/.env to actually run it — but that's the workflow's own requirement, not an Archon-side change.

Human Verification (required)

  • Verified scenarios:
    • Lint script resolved https://api.github.com/repos/leex279/remotion-video-test/contents/.archon?ref=4dac83c2... → 200 OK.
    • bun run build on docs-web produced all 69 pages including /workflows/ index + new detail page.
    • Branch on the source repo (leex279/remotion-video-test) was reshaped so the workflow YAML lives at .archon/ root, matching the install layout the v0 directory-install code expects (yaml at sourceUrl root + sibling subdirs).
  • Edge cases checked:
    • Tried using a branch name with / in the URL first (tree/feat/marketplace-install-layout/.archon) — lint regex (tree/[^/]+/) only matches single-segment refs, so I switched to SHA-in-URL. Worth noting in CLI docs that branch names with slashes don't round-trip through the lint regex; SHA is the safer convention.
  • What was not verified:
    • End-to-end archon workflow install video-generic on a fresh repo — install logic was eyeballed against installDirectory() in packages/cli/src/commands/workflow.ts. The workflow's templates/claude-code-version/ (nested directory) won't install because the fan-out only walks one level deep; only top-level files in each subdir are picked up. Documenting as a known v0 limitation.
    • Did not run the workflow itself post-install.

Side Effects / Blast Radius (required)

  • Affected subsystems/workflows:
    • docs-web build (new detail page generated by getStaticPaths)
    • workflows.json endpoint (one more row)
    • archon workflow search/install CLI surface (one more discoverable slug)
  • Potential unintended effects:
    • If leex279/remotion-video-test is deleted or made private, the GitHub Contents API lookup at install time will 404. SHA pinning means the content is immutable at GitHub's storage level, but availability depends on the source repo's continued existence.
  • Guardrails / monitoring for early detection:
    • lint-marketplace.ts runs on every PR touching marketplace.ts (existing .github/workflows/marketplace-lint.yml), so a future stale SHA is caught by HEAD/GET.

Rollback Plan (required)

  • Fast rollback: Revert this PR. Single-file change, no migrations, no state.
  • Feature flags / config toggles: None.
  • Observable failure symptoms: lint failure on a future PR's CI run, or archon workflow install video-generic returning a 404 from the GitHub API.

Risks and Mitigations

  • Risk: Source repo (leex279/remotion-video-test) goes private or is deleted, breaking install.
    • Mitigation: SHA-pinned, but availability isn't guaranteed. If it disappears we can revert or migrate the entry to a fork under coleam00/.
  • Risk: templates/claude-code-version/ (nested dir in the workflow source) silently won't install — users opting into TEMPLATE=claude-code-version after install will hit a missing-file error.
    • Mitigation: Document as a known v0 limitation; followup work in the install fan-out to walk nested dirs would address this for all directory-format entries, not just this one.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added a new marketplace item for video generation that converts text prompts into animated videos with voice synthesis.

Review Change Stack

Adds a Remotion-based video generation workflow to the marketplace as
the first directory-format entry from an external repo. The workflow
turns a freeform prompt (URL, GitHub repo, release notes, topic) into
a voiced + animated Remotion video, with three HITL approval gates
for spec, script, and live preview.

Source: leex279/remotion-video-test/.archon @ 4dac83c2 (directory).

This is also the first end-to-end smoke test of the directory-install
path (yaml at .archon/ root, with commands/ scripts/ templates/ siblings
fanning out into the user's .archon/ on install).
@coderabbitai

coderabbitai Bot commented May 11, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5dbaac53-929d-451e-9647-b101f8c3579d

📥 Commits

Reviewing files that changed from the base of the PR and between 6be6dc8 and ab68fa1.

📒 Files selected for processing (1)
  • packages/docs-web/src/data/marketplace.ts

📝 Walkthrough

Walkthrough

A new marketplace entry for video-generic is added to the marketplace configuration. This entry describes a Remotion-based video generation workflow with automation tagging and version compatibility constraint of Archon >=0.3.0.

Changes

Marketplace Entry Addition

Layer / File(s) Summary
Video Entry Data
packages/docs-web/src/data/marketplace.ts
New video-generic marketplace entry is added with workflow description, repository sourceUrl, pinned SHA, automation tag, and archonVersionCompat constraint.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

A video-generic rhyme,
Remotion spins frames in time,
Automation flows so free,
Voiced and animated, you'll see! 🎬✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely describes the main change: adding a new marketplace entry for the video-generic workflow.
Description check ✅ Passed The description is comprehensive and follows the template structure with all required sections completed: summary, UX journey, architecture diagram, labels, validation evidence, security impact, compatibility, human verification, side effects, and rollback plan.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/marketplace-add-video-generic

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot 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.

Marketplace Auto-Review: Changes Requested

Workflow YAML failed schema validation. Fix structural errors before merging.

Reviewed by Archon marketplace-pr-review-and-merge workflow.

coleam00 added a commit that referenced this pull request May 11, 2026
… register providers (#1645)

Two false-positive sources in validate-schema:

1. Provider registry empty when parseWorkflow runs standalone. The CLI normally populates it at startup; this script must call registerBuiltinProviders + registerCommunityProviders or every workflow with provider: claude gets rejected with Unknown provider claude. Registered.

2. Non-workflow YAMLs were being parsed as workflows. Directory submissions ship brand.yaml, config.yaml, template scaffolds alongside the workflow file. parseWorkflow rejects these for missing required workflow fields. Filter to YAMLs with a top-level nodes: block before calling parseWorkflow.

Tested locally against PR #1639 submission: now returns valid: true with only video-generic.yaml validated, vs the previous 4 false-positive errors.
@github-actions github-actions Bot merged commit f6feceb into dev May 11, 2026
6 checks passed
@github-actions github-actions Bot deleted the feat/marketplace-add-video-generic branch May 11, 2026 16:51
cropse pushed a commit to cropse/Archon that referenced this pull request May 19, 2026
… register providers (coleam00#1645)

Two false-positive sources in validate-schema:

1. Provider registry empty when parseWorkflow runs standalone. The CLI normally populates it at startup; this script must call registerBuiltinProviders + registerCommunityProviders or every workflow with provider: claude gets rejected with Unknown provider claude. Registered.

2. Non-workflow YAMLs were being parsed as workflows. Directory submissions ship brand.yaml, config.yaml, template scaffolds alongside the workflow file. parseWorkflow rejects these for missing required workflow fields. Filter to YAMLs with a top-level nodes: block before calling parseWorkflow.

Tested locally against PR coleam00#1639 submission: now returns valid: true with only video-generic.yaml validated, vs the previous 4 false-positive errors.
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.

1 participant