Files
heygen-com__hyperframes/docs/contributing.mdx
ukimsanov 3f502a0c99 Merge remote-tracking branch 'origin/main' into codex-worktree
# Conflicts:
#	docs/concepts/compositions.mdx
#	docs/contributing.mdx
#	docs/docs.json
#	docs/guides/antigravity.mdx
#	docs/guides/claude-design.mdx
#	docs/guides/copilot-cli.mdx
#	docs/guides/mcp.mdx
#	docs/guides/open-design.mdx
#	docs/guides/pipeline.mdx
#	docs/guides/prompting.mdx
#	docs/guides/skills.mdx
#	docs/guides/video-editor-cheatsheet.mdx
#	docs/packages/studio.mdx
#	docs/quickstart.mdx
2026-07-31 04:47:41 -07:00

74 lines
2.6 KiB
Plaintext

---
title: Contribute to HyperFrames
description: Set up the repository, make a focused change, and open a pull request.
---
## Set up the repository
```bash
git clone https://github.com/YOUR_USERNAME/hyperframes.git
cd hyperframes
bun install
bun run build
```
HyperFrames uses Bun for workspace operations. Do not add a `pnpm-lock.yaml` or replace `bun.lock`.
Start Studio while working on UI or composition behavior:
```bash
bun run dev
```
Studio listens on `http://localhost:5190` when run from the monorepo.
## Check your change
Run the smallest relevant test while iterating, then the repository gates before opening a pull request:
```bash
bun run lint
bun run format:check
bun run --filter '*' typecheck
bun run test
```
For a composition or registry item, also run:
```bash
npx hyperframes lint
npx hyperframes check
```
The pre-commit hooks format staged files and run checks for the files you changed.
## Work in the right package
| Surface | Package or directory |
| --- | --- |
| Composition parsing, runtime, types | `packages/core` and `packages/parsers` |
| Browser frame capture | `packages/engine` |
| Encoding and audio/render orchestration | `packages/producer` |
| Command line | `packages/cli` |
| Browser editor | `packages/studio` and `packages/studio-server` |
| Embeddable player | `packages/player` |
| Headless editing API | `packages/sdk` |
| AWS and GCP distributed rendering | `packages/aws-lambda` and `packages/gcp-cloud-run` |
| Reusable blocks and snippets | `registry` |
| Agent instructions | `skills` |
For Studio changes, verify the behavior in the browser and preserve the source-patching and capability-gate contracts described in the [Studio docs](/studio/index).
## Pull request requirements
- Keep the change focused and explain the user-visible reason for it.
- Add or update tests when behavior changes.
- Use a conventional PR title such as `fix: preserve audio after seeking`.
- Run formatting, lint, typecheck, and relevant tests.
- Include screenshots or a short capture for visual changes.
- Target prerelease-only work to the branch described in [Release channels](/contributing/release-channels).
Use [GitHub Issues](https://github.com/heygen-com/hyperframes/issues) for bugs and proposals. A useful bug report includes the smallest reproduction, the first exact error, `npx hyperframes info`, and the operating system.
By contributing, you agree that your work is licensed under the [Apache 2.0 License](https://github.com/heygen-com/hyperframes/blob/main/LICENSE) and follows the [Code of Conduct](https://github.com/heygen-com/hyperframes/blob/main/CODE_OF_CONDUCT.md).