Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
Accelerator
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
Uh oh!
There was an error while loading.
Please reload this page
.
basecamp
/
writebook
Public
Notifications
You must be signed in to change notification settings
Fork
85
Star
498
Code
Issues
5
Pull requests
26
Actions
Projects
Security and quality
4
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
A write API for Writebook
- #470
#470
Draft
dhh
wants to merge 16 commits into
main
basecamp/writebook:main
from
api
basecamp/writebook:api
Copy head branch name to clipboard
Conversation
Commits
16
(16)
Checks
Files changed
Draft
A write API for Writebook
#470
dhh
wants to merge 16 commits into
main
basecamp/writebook:main
from
api
basecamp/writebook:api
Copy head branch name to clipboard
Commits
Commits on Aug 13, 2026
Plan for API
dhh
committed
858cf3f
View commit details
Copy full SHA for 858cf3f
Browse repository at this point
Updated plan
dhh
committed
e7fb9d0
View commit details
Copy full SHA for e7fb9d0
Browse repository at this point
fix: detect unchanged markdown bodies in Leaf#edit
Show description for 74d7c27
dhh
and
claude
committed
74d7c27
View commit details
Copy full SHA for 74d7c27
Browse repository at this point
fix: escape titles in the .md front matter
Show description for 40562a7
dhh
and
claude
committed
40562a7
View commit details
Copy full SHA for 40562a7
Browse repository at this point
feat: give every user a resettable bearer key
Show description for 3e77d55
dhh
and
claude
committed
3e77d55
View commit details
Copy full SHA for 3e77d55
Browse repository at this point
feat: authenticate API clients with a bearer key
Show description for 4c91591
dhh
and
claude
committed
4c91591
View commit details
Copy full SHA for 4c91591
Browse repository at this point
feat: track leaves by external id
Show description for 300375d
dhh
and
claude
committed
300375d
View commit details
Copy full SHA for 300375d
Browse repository at this point
feat: Leaf::Document, the .md wire format for leaves
Show description for d7765c6
dhh
and
claude
committed
d7765c6
View commit details
Copy full SHA for d7765c6
Browse repository at this point
feat: leaves manifest for sync clients
Show description for 3e9c6a0
dhh
and
claude
committed
3e9c6a0
View commit details
Copy full SHA for 3e9c6a0
Browse repository at this point
feat: write pages through the leaf .md document format
Show description for 3c2649f
dhh
and
claude
committed
3c2649f
View commit details
Copy full SHA for 3c2649f
Browse repository at this point
test: sections write through the JSON API
Show description for d47c7c9
dhh
and
claude
committed
d47c7c9
View commit details
Copy full SHA for d47c7c9
Browse repository at this point
feat: bearer-key uploads, and absolute upload URLs everywhere
Show description for cbf0353
dhh
and
claude
committed
cbf0353
View commit details
Copy full SHA for cbf0353
Browse repository at this point
fix: force UTF-8 on parsed leaf documents
Show description for 1be7165
dhh
and
claude
committed
1be7165
View commit details
Copy full SHA for 1be7165
Browse repository at this point
fix: include Markdown uploads at prepare time, not on a lazy load hook
Show description for ecda7db
dhh
and
claude
committed
ecda7db
View commit details
Copy full SHA for ecda7db
Browse repository at this point
feat: show and reset your API key in your settings
Show description for a95e5cc
dhh
and
claude
committed
a95e5cc
View commit details
Copy full SHA for a95e5cc
Browse repository at this point
docs: the bearer key UI is built, not deferred
Show description for 4546128
dhh
and
claude
committed
4546128
View commit details
Copy full SHA for 4546128
Browse repository at this point
You can’t perform that action at this time.