AI agents: fetch the documentation index at llms.txt. Markdown versions are available by appending .md to any page URL, including this page's markdown.
Deploying with push
Deploy your documentation to Blode.md with a single command.
You deploy documentation to Blode.md by running blodemd push. This page covers the command options, how directory resolution works, and what happens during a deployment.
Command
blodemd push [dir]The optional dir argument specifies the path to your docs directory. If omitted, the CLI searches for docs.json automatically.
Options
Directory resolution
When you omit the dir argument, the CLI checks for docs.json in this order:
- Current working directory (
./) ./docs/./apps/docs/
If none of these contain a docs.json, the CLI defaults to the current directory.
If you pass an explicit directory (e.g., blodemd push my-docs), the CLI uses
that path directly without searching.
What happens during a push
When you run blodemd push, the CLI performs these steps:
The CLI reads and parses docs.json from the resolved directory. If the
file is missing or invalid, the push fails immediately.
Authentication is resolved in this order: --api-key flag,
BLODEMD_API_KEY environment variable, stored credentials from blodemd login.
The CLI walks the docs directory recursively, skipping dotfiles (files and
directories starting with .) and node_modules. The file list is sorted
alphabetically.
A new deployment record is created on the server with the resolved branch name and commit message.
Files are base64-encoded and uploaded in batches. Each batch stays under 4 MB to work within serverless payload limits. The CLI shows progress as batches complete.
The deployment is finalized and promoted to live. Your docs are available
immediately at your-slug.blode.md.
Project auto-creation
If the project slug does not exist on Blode.md, the CLI offers to create it for you. This only works when you are logged in with browser OAuth (via blodemd login). API key authentication cannot auto-create projects.
When a project is created, the CLI prints an API key for use in CI/CD pipelines. Save this key -- it is only displayed once.
Project my-project created
API key for CI: bmd_abc123...
File handling
The CLI applies these rules when collecting files:
- Skipped entries: any file or directory starting with
.(e.g.,.git,.env) andnode_modules - All other files: included regardless of extension (MDX, JSON, images, fonts, etc.)
- Batch size: files are uploaded in batches of up to 4 MB each
- Content types: text files (MDX, JSON, YAML, CSS, JS, HTML, SVG) are uploaded with their correct MIME type; all others use
application/octet-stream
Branch resolution
The branch name is resolved in this order:
--branchflagBLODEMD_BRANCHenvironment variableGITHUB_REF_NAMEenvironment variable (auto-set by GitHub Actions)- Current git branch (
git rev-parse --abbrev-ref HEAD) - Falls back to
main
Commit message resolution
The commit message is resolved in this order:
--messageflagBLODEMD_COMMIT_MESSAGEenvironment variable- Latest git commit message (
git log -1 --pretty=%s)
Related pages
- docs.json reference -- configuration file format