内容分四块: 1、产品规划产出 —— MCN 短视频整合营销工作台的①段五份(1a 需求/1b 竞品/1c 画像/1d 策略/1e 场景)、②段两份(2a 功能/2b 布局)、③段界面(DESIGN.md 契约与令牌表 + mcn-workbench.html 原型 + 实测/会诊/审查三份 + 23 张闸门截图)。 2、开源竞品调研 —— 5 个内容工作台项目的取证原始件与 1b 系列分析文档。 3、参考资料 —— 竞品视频抽帧 1145 张 + 2 个源视频 + 功能点截图。 4、机制侧 —— 协作脚本与状态台账、工作区记忆日志、抽帧/OCR 脚本。 .gitignore 只排运行时日志、脚本备份副本与一次性探针输出,其余按原样入库。
4.8 KiB
Contributing to OpenCreator
English | 简体中文 | 日本語 | 한국어 | Bahasa Indonesia | Español | Français | Deutsch | Português | Русский | العربية
Thanks for thinking about contributing. OpenCreator is a local-first creator workspace built on the Codex agent loop, and most of its value lives in focused additions: one Skill folder, one creation template, one well-scoped fix. This guide tells you where each type of contribution lives and what bar a PR has to clear before we merge it.
Contribution map
| If you want to… | You're really adding | Where it lives | Ship size |
|---|---|---|---|
| Fix a bug or improve a workflow | code | apps/web/, apps/daemon/ |
one focused PR with tests |
| Add a reusable Agent workflow | a Skill | skills/<your-skill>/ |
one folder with SKILL.md and optional references → guide |
| Add a reusable image, video, or cover preset | a Creation template | template/<module>/<id>/<version>/ |
one folder with template.json plus assets → guide |
| Contribute illustrations, icons, or UI designs | design assets | agreed asset location | one PR with previews, source files, and license |
| Add an AI or media provider | a service integration | relevant Web or Daemon module | one PR with error handling, credential safety, and tests |
| Improve docs or translations | docs | README.md, docs/, docs/<locale>/README.md |
one PR |
Where to ask and who reviews
Use an issue to discuss an idea or ask where it belongs; we'll point you to the right area. When submitting a PR, mention the relevant member of The Crew for code and bug fixes, creation templates, design and assets, or Skills and docs. The crew helps with contribution standards, reviews, and community questions; merging follows repository permissions and required checks.
All participants in project spaces are expected to follow the Code of Conduct.
Local setup
The full setup lives in the README Quick Start. The TL;DR for contributors:
git clone https://github.com/krillinai/OpenCreator.git
cd OpenCreator
corepack enable # selects the pinned pnpm from packageManager
pnpm install
pnpm web:dev # web + local daemon on demand
pnpm typecheck # TypeScript checks across the repository
pnpm test # workspace unit and integration tests
Node.js 22+ and a Codex CLI executable are required. Open http://127.0.0.1:19861/ after pnpm web:dev; the Runtime prepares a default project on first launch and the composer is ready as soon as the connection completes.
How to contribute
- Describe the problem, use case, and expected behavior in an issue.
- Create a focused feature or fix branch from the latest development branch.
- Follow the existing architecture: implement general product capabilities once in Web and Daemon, and isolate native Desktop differences behind explicit capabilities (for example
canSelectDirectory). - Add appropriate unit, integration, or E2E coverage for behavior changes, and list both completed and skipped verification in the PR.
- Never commit
.runtime/, local credentials, Codex sessions, build caches, or other user data.
What reviewers check
- Single implementation for shared behavior. The same feature must not be implemented separately for Browser Bridge and Desktop Bridge.
- Capability gating, not silent stubs. A platform-specific entry must be hidden when the capability is unavailable — never show a button that silently does nothing.
- Tests match the change risk. Small copy or style tweaks need only targeted checks; shared state, persistence, or Runtime contract changes need module tests and typecheck at minimum.
- Docs updated with behavior. If your change alters a user-visible workflow, update the README or the relevant doc in
docs/in the same PR.
Common reasons PRs get sent back
- The same logic was added separately to Web and Desktop paths instead of the shared service layer.
- A platform-unsupported button is visible but its handler silently returns.
- Behavior changed without any test or verification note.
- The PR mixes an unrelated refactor or fix into a feature change.
- Generated files,
.runtime/data, or credentials were committed.
OpenCreator · Create locally, work continuously.