Skip to content

christopher-buss/bedrock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

342 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bedrock

Infrastructure-as-Code deployment for Roblox, written in TypeScript.

CI License: MIT

Pre-release. Bedrock is pre-1.0 — the API and config schema may change between minor versions until 1.0. Follow the repository or the project board for progress.

What is Bedrock?

Bedrock declaratively manages Roblox experiences the way Terraform manages cloud resources. Describe the universe, places, game passes, and developer products an experience should have in a config file; Bedrock figures out what to create or update to match.

It is a spiritual successor to Mantle (no longer maintained), rebuilt in TypeScript on top of Roblox Open Cloud.

Why

  • Open Cloud only. No ROBLOSECURITY cookies or legacy endpoints. Authenticate with API keys, the way Roblox now recommends.
  • Programmatic first, CLI second. Consume Bedrock as a library from your own tooling, or reach for the CLI for day-to-day deploys. See ADR-017.
  • State in a GitHub Gist. Zero external services to stand up; a BEDROCK_GITHUB_TOKEN is enough. Extensible to other backends.
  • Multi-format config. TypeScript, JavaScript, YAML, JSON, or Luau via c12.

Packages

Package Description
@bedrock-rbx/core The deployment library and CLI.
@bedrock-rbx/ocale Standalone HTTP client for Roblox Open Cloud.

Status

Bedrock is pre-1.0 and under active development. What works today:

  • Open Cloud client (@bedrock-rbx/ocale) with typed clients across universes, places, game passes, developer products, badges, storage, and Luau execution, plus built-in rate limiting, retries, and 100% test coverage.
  • State data model and diff algebra (ADR-019).
  • FCIS + Ports architecture with explicit primary/driven port distinction (ADR-018).
  • The bedrock CLI (deploy, diff, migrate) and the programmatic deploy() workflow.

Track scope and timing on the project board.

Getting started

Install the deployment library and bundled bedrock CLI from npm:

pnpm add -D @bedrock-rbx/core
# or: npm install --save-dev @bedrock-rbx/core
# or: bun add -d @bedrock-rbx/core

See the getting-started guide for a full walkthrough.

To develop Bedrock itself locally:

git clone https://github.com/christopher-buss/bedrock.git
cd bedrock
pnpm install
pnpm build
pnpm test

The repository uses pnpm workspaces and Bun (>= 1.3) as the runtime. TypeScript builds, tests, and task orchestration run through Vite+.

Documentation

Contributing

This is a solo-maintainer project with an inverted contribution model. External input runs through Discussions as prompt requests: share the prompt you would run rather than opening a PR, and I will run it myself if the idea lands. Issues are maintainer-only. Read CONTRIBUTING.md before opening anything.

By participating, you agree to abide by the Code of Conduct.

To report a security vulnerability, follow SECURITY.md.

License

MIT (c) Christopher Buss.

About

Infrastructure-as-code for Roblox.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors