Something went wrong. Try again.
standard.site frontend
Something went wrong. Try again.
Files
- Dart 74%
- CSS 17%
- Shell 6%
- HTML 3%
README.md
vibecode.rodeo #
ATProto-powered publishing system for vibecode.rodeo.
This project contains:
- A Dart CLI (
vibecode) for publishing Markdown files assite.standard.documentrecords. - A Dart server that dynamically renders those records as HTML.
- Client-side Bluesky comments for posts that reference a Bluesky thread.
Architecture #
The source of truth for content is ATProto records:
site.standard.publicationdescribes the site.site.standard.documentdescribes each post/page.- Document content is stored as
at.markpub.markdown. - The server reads records from the PDS and renders HTML on demand.
- Verification uses
/.well-known/site.standard.publicationand<link rel="site.standard.document">tags.
Local development #
# Install dependencies
dart pub get
# Configure the site
cp config/site.example.yaml config/site.yaml
# Edit config/site.yaml with your handle, service, and URL.
# Create the publication record on your PDS
ATPROTO_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx dart run bin/vibecode.dart init
# Publish a post
ATPROTO_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx dart run bin/vibecode.dart publish content/essays/hello-world.md
# Run the server
PORT=8080 dart run bin/server.dart
CLI commands #
| Command | Description |
|---|---|
vibecode init |
Create the site.standard.publication record |
vibecode publish <file> |
Publish or update a Markdown file |
vibecode unpublish <path> |
Delete a document record by path |
vibecode list |
List published documents |
vibecode sync |
Publish all Markdown files under content/ |
Markdown format #
Posts are Markdown files with YAML front matter:
---
title: Hello World
description: A short excerpt
path: /essays/hello-world/
publishedAt: 2026-06-13T12:00:00Z
tags: [meta, atproto]
bskyPostRef: at://did:plc:.../app.bsky.feed.post/...
---
# Hello World
Content here.
Deployment #
The code is hosted on Tangled at:
git@tangled.org:did:plc:udtezrjybbshf2se24lykure
The included deploy/install.sh sets up a DigitalOcean droplet with Dart, nginx, and systemd. It clones the code from Tangled.
# On the server, as root
./deploy/install.sh
# After code changes are pushed to Tangled
./deploy/deploy.sh
Environment variables #
| Variable | Description |
|---|---|
ATPROTO_APP_PASSWORD |
ATProto app password for the CLI |
PORT |
Port for the server (default: 8080) |