RFC: Developer-first features

This RFC proposes a devtools-first workflow for new editor contributors: a single bootstrap command, previewable snapshots in the share view, and a per-workspace playground. Scope: everything below the editor surface; out of scope: auth and billing.

Background

Contributors today clone the repo, install, wire up three env vars by hand, then poke at a staging workspace. The fast path exists but is tribal. We want a one-liner that sets up a fresh workspace with seed content and signs you in as a local owner.

Proposal

# One command, nothing to configure.
npx bland-dev bootstrap
# => workspace "scratch" ready at http://localhost:5173

Architecture

Demonstration purpose only- `npx bland-dev` not actually implemented

Example usage

from bland_dev import bootstrap

def main():
    scratch = bootstrap(
        name="scratch",
        seed=["Hello World!", "Field Notes", "Reading list"],
    )
    print(f"Open me: {scratch.url}")

if __name__ == "__main__":
    main()

Trade-offs

Option

Pros

Cons

Bootstrap CLI

Zero setup, predictable seeds

New binary to maintain

Docker image

Reproducible; survives OS drift

Slower first-run, docker req'd

"If a new contributor can open a PR before lunch on day one, we'll keep more of them." โ€” a PM who prefers not to be named

Decision log

Discussions and outcomes from the April design review

Chose Bootstrap CLI over Docker because reviewers wanted the first run to feel native on macOS. Docker stays as a fallback, documented but not the default. Revisit if adoption stalls.

See the rainy-day log in Field Notes โ€” 2026-04-15 for yesterday's prep notes.

229 words1,479 chars2 min read