Contributing

Vrata is preparing for a public 0.1 beta. Contributions should keep the project easy to self-host, test, and roll back.

Workflow

Before Opening A PR

What The Checks Cover

lint is package-defined. In apps/runtime-web, both lint and typecheck currently run tsc -p tsconfig.json --noEmit; they are not independent checks, and lint does not run a separate style linter in that package. Keep both root commands until a separate change deliberately updates the package contracts.

pnpm run test:m0.5 remains the standalone local acceptance command: it runs lint, typecheck, build, unit tests, then the M0.5 browser tests with one worker. CI runs those prerequisites once in earlier steps, then invokes the same M0.5 browser tests directly. Neither browser suite is removed.

In CI, Playwright rejects test.only and refuses to reuse an existing local server. Local runs may still reuse a development server. The local CI browser steps set PLAYWRIGHT_TRACE=1 to retain traces on failure in the existing Playwright artifacts; staging tracing remains opt-in. Treat traces as potentially sensitive, and do not publish traces containing real credentials.

Runtime Boundaries

Runtime local pose, XR input, interaction rays, teleport, seating, and avatar publishing have strict ownership rules. Read AGENTS.md and apps/runtime-web/README.md before changing those areas.

Release Impact Checklist

Every PR should state whether it affects:

Security

Do not put secrets, customer assets, private scene assets, or private staging credentials in the repository. See SECURITY.md.

Code of Conduct

Vrata uses a simple contributor standard: be direct, respectful, and focused on the work.

Expected Behavior

Unacceptable Behavior

Enforcement

Maintainers may remove comments, close issues, reject contributions, or block participants who violate this code of conduct.

Security Policy

Vrata is preparing for a public 0.1 beta. Treat the current project as early-stage software and do not use default development secrets in production.

Supported Versions

Security support starts with the first public SemVer release.

Version Supported
0.1.x Planned after v0.1.0
Unreleased source snapshots Best effort only

Reporting A Vulnerability

Do not report vulnerabilities in public issues.

Use GitHub private vulnerability reporting when it is enabled for the public repository. Until then, contact the maintainers through a private channel and include:

Secret Handling

Beta Limitations

The 0.1 beta is not a hardened multi-tenant SaaS distribution. Current known gaps include production auth hardening, fine-grained permissions, and complete operational monitoring.

Source: CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md in vrata-labs/platform at revision 380b2e7ff1dd, license Apache-2.0. GitHub