Skip to content

v0.6: doctor + library + Docker + Action + CI + hero reframe#3

Merged
renezander030 merged 10 commits into
masterfrom
star-boost
May 29, 2026
Merged

v0.6: doctor + library + Docker + Action + CI + hero reframe#3
renezander030 merged 10 commits into
masterfrom
star-boost

Conversation

@renezander030
Copy link
Copy Markdown
Owner

Implements the v0.6 "S-tier" star-boost plan: distribution, integration, and a positioning reframe. No breaking changes to existing commands — everything stays zero-dep, JSON-by-default, pipeable. 113 tests pass (was ~91), Biome clean, Docker image builds and runs.

What's in here

Features

  • capcut doctor — environment preflight (Node, whisper, ANTHROPIC_API_KEY, draft dir). JSON + -H; exit 1 only on hard failure.
  • Importable Node libraryimport { loadDraft, lintDraft, saveDraft, detectVersion, runDoctor } from "capcut-cli". New src/lib.ts, exports/main/types map, tsconfig emits .d.ts. Importing no longer runs the CLI.
  • Dockerfile (+ .dockerignore) — zero-dep multi-stage; built and smoke-tested (info returns valid JSON, serve over stdin pipe).
  • GitHub Action (action.yml) — composite action wrapping lint; exit 2 fails the job.
  • 3 new templatescaption-pop, lower-third, hook-question (catalogue 3 → 6), all validated by the roundtrip suite.

Infra / quality

  • CI — Node 18/20/22 matrix + Biome lint on push/PR (was none, despite 90+ tests).
  • Fuzz/injection suite — 12 malformed/hostile draft_content.json inputs × 6 read commands assert graceful failure (no hang, no stack leak, JSON error) + prototype-pollution non-regression.

Docs / positioning

  • README hero reframed to lead with the agent-drivable substrate (zero deps, no server, both namespaces); ByteDance-resilience demoted to a supporting claim. Adds a CI badge + a CLI/library/queue-runner "three ways" callout.
  • Marks stale v0.5 "voting open" / "in progress" sections as shipped; documents v0.6. Mirrored to README.zh-CN.md.
  • examples/serve-automation.md — n8n / Make / Coze / Docker recipe.
  • CHANGELOG.md 0.6.0 entry; version bump 0.5.0 → 0.6.0.

Follow-ups (not in this PR)

  • Upload media/og-card.png via Settings → Social preview (no API for that).
  • npm publish to release v0.6 (Action @v0.6 ref + New in v0.6 go live for npm users on publish).

Built on top of #2 (the plugin-install fix).

Adds 'capcut doctor' (no project needed): Node version, whisper binary
(for caption), ANTHROPIC_API_KEY (for translate), and the default
CapCut/JianYing project directory. JSON by default, -H table, exits 1
only on hard failures (Node < 18). Cuts first-run friction.
12 malformed inputs (non-JSON, truncated, wrong-shape, prototype-pollution
attempts, deep nesting) x 6 read commands assert graceful failure: no hang,
no leaked stack trace, single-line JSON error on stderr. Plus a prototype-
pollution non-regression check.
- src/lib.ts: importable public API (loadDraft/saveDraft/lintDraft/
  detectVersion/runDoctor + types). package.json exports map + main/types;
  tsconfig now emits .d.ts. Importing the package no longer runs the CLI.
- Dockerfile + .dockerignore: zero-dep multi-stage image; final layer is
  just Node + dist/ + templates. Mount drafts at /work.
- action.yml: composite GitHub Action wrapping 'capcut lint' so creators can
  gate caption quality in their own CI (exit 2 = errors = job fails).
Doubles the template catalogue from 3 to 6, all text templates validated by
the roundtrip suite:
- caption-pop:   bold white center subtitle, heavy border, bottom third
- lower-third:   small handle/name attribution, bottom-left
- hook-question: large bold opening hook, top of frame
Each restamps cleanly via apply-template (IDs regenerated, no collisions).
Shows the JSONL job/result contract and four integration paths for the
stateless queue runner: local pipe, n8n Execute Command, cloud builders via
webhook>queue-file, and the Docker image. Targets the automation-builder
audience the 'serve' command was built for.
- Hero leads with 'the CLI any LLM agent can drive — zero deps, no server,
  both namespaces' (the reusable substrate that earns stars); ByteDance
  resilience demoted to a supporting claim. Adds a CI status badge and a
  three-ways (CLI / library / queue-runner) callout.
- Documents v0.6: doctor, Node library import, Dockerfile, GitHub Action,
  3 new templates. Marks the stale v0.5 'in progress' / 'voting open'
  sections as shipped.
- Bump 0.5.0 -> 0.6.0 + CHANGELOG entry.
Dark terminal aesthetic, leads with the agent-drivable hero. Upload via
GitHub Settings > Social preview (no API for this) so HN/Reddit/LinkedIn/X
shares stop rendering a generic card.
@renezander030 renezander030 merged commit b151e6d into master May 29, 2026
4 checks passed
@renezander030 renezander030 deleted the star-boost branch May 29, 2026 05:41
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