v0.1.0 — fork baseline
First release of the capcut-cli-david fork.
Baseline = upstream renezander030/capcut-cli@c922338 (v0.2.2), restructured into a modular layout with no behavioral change to any existing command.
Install
npm install -g capcut-cli-david
capcut-david --helpWhat's in 0.1.0
- Fork attribution.
LICENSEcarries both copyright lines;NOTICEcredits upstream + cutcli;package.jsoncontributors[]credits Rene Zander; README banner names upstream and explains divergence. - Modular
src/—index.tsis now thin dispatch; commands live undersrc/commands/{create,edit,inspect,template,cut,batch}.ts; shared helpers undersrc/utils/{time,cli,companion}.ts. Upstream'ssrc/factory.tsis gone;src/draft.tspreserved. - Dev tooling. Biome 2 (lint + format), TypeScript 5.6 (typecheck), GitHub Actions CI (3 Node × 3 OS = 9 matrix jobs + lint + fixture integrity = 11 green checks).
- Test corpus. 9 anonymized CapCut draft fixtures +
_final_integrity.pycross-reference validator (all 9 PASS). - Phase A smoke tests (
test/smoke.test.mjs). Phase B replaces with full per-command coverage. - Single bin —
capcut-david(upstream shipscapcut+capcut-cli).
One behavioral fix vs upstream
batch now reads stdin via fd 0 instead of /dev/stdin, fixing the command on Windows. This is the only deliberate delta from upstream 0.2.2 semantics.
Compatibility
- CapCut 8.x desktop on Windows + macOS (per
COMPATIBILITY.md) - Node ≥ 18 (CI matrix covers 18, 20, 22)
- JianYing 6+ remains unsupported (encrypted
draft_content.json)
Roadmap
0.2.0— fixture-backednode:testsuite for every existing command (Phase B)0.3.0—add-keyframe+ken-burns(Phase C)0.4.0—psycho-buildYAML manifest pipeline (Phase D)1.0.0— SKILL.md, polished docs, stability promise (Phase E)
Full release contract: RELEASE.md. Fork ↔ upstream relationship: UPSTREAM.md.
Full changelog: see CHANGELOG.md.