Communitygithub.com

pragma-sh/pragma

用于编辑、预览、验证或渲染 Pragma 的 Remotion 启动影片,以维护 README 中的可复现性。

pragma 是什么?

该技能负责维护 Pragma 项目的 README 启动影片,确保其能够从仓库自有的源代码和资产中完全可复现。它基于 Remotion 框架构建,并在典型的开发者工作流(编辑器、终端、CI)中运行。技能详细说明了项目布局,包括 `PragmaLaunch` 合成(1920x1080,30 fps)、场景持续时间管理以及资产(剪辑、音频、代理标记)如何通过 `staticFile()` 解析自统一的公共目录。工作流程支持三种核心命令:使用 Studio 进行交互式预览、TypeScript 类型检查,以及最终将影片渲染为 `.github/assets/pragma-launch.mp4`。同时,技能还涵盖了确定性音频生成的规则(`generate-lofi.ts`)、产品录制资产的管理(`apps/www/public/media`),以及在更改场景后必须更新 `PragmaLaunch.tsx` 中持续时间以避免播放问题的约束。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pragma-sh/pragma/tree/HEAD/skills/launch-video

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

维护 Pragma 启动影片

确保 README 启动影片能够从仓库自有的源代码和资产中可复现。

项目布局

  • launch-video/index.ts 注册 Remotion 根组件。
  • launch-video/Root.tsx 定义 PragmaLaunch 合成,分辨率为 1920x1080,帧率为 30 fps。
  • launch-video/PragmaLaunch.tsx 拥有时间线、场景持续时间和呈现逻辑。
  • remotion.config.ts 使用 apps/www/public 作为 Remotion 的公共目录。通过 staticFile() 从该目录解析剪辑、音频和代理标记;不要在 launch-video 下重复资产。
  • .github/assets/pragma-launch.mp4 是渲染后的 README 制品。

包含组件的 .tsx 文件使用 PascalCase。确保合成 id PragmaLaunch 与根渲染命令保持一致,并根据场景持续时间推导总合成持续时间,这样时间线编辑不会使注册信息过时。

工作流程

在仓库根目录下运行命令:

bun run video:studio
bun run video:typecheck
bun run video:render

在更改场景、时间、排版或资产后,使用 Studio 审查整个时间线。在渲染之前运行专门的类型检查。渲染命令使用 remotion.config.ts 中的编解码器和质量设置,将跟踪的 README 影片写入 .github/assets/pragma-launch.mp4。

音轨由 launch-video/generate-lofi.ts 确定性地生成。更改该生成器后,运行 bun run video:music;它会替换 apps/www/public/media/pragma-lofi.wav。不要为无关的视频编辑重新生成音轨。

产品录制资产位于 apps/www/public/media 中。替换录制资产时,在 Studio 中验证其完整播放,并更新 PragmaLaunch.tsx 中相应的场景持续时间,确保既不会被截断,也不会出现冻结的尾部。最后,对所有更改的源文件运行仓库常规的格式和质量检查。

相关技能