The future of book c 8000 reation tooling
A scaffolding tool that creates professional book projects with Typst typesetting, Git version control, and automated CI/CD publishing pipelines.
write sets up the infrastructure for serious book writing by creating a complete project with:
- 📁 Project scaffolding - Organized directory structure for Typst books
- 🔄 Git repository - Initialized with proper
.gitignoreand structure - 🚀 GitHub integration - Repository creation and CI/CD setup
- ⚡ Automated builds - GitHub Actions to compile PDFs on every commit
- 📚 Typst templates - Professional book layouts ready to use
npm install -g @demccormack/writewrite new "My Amazing Book"This creates a local directory with the following structure:
my-amazing-book
├── .github
│ ├── copilot-instructions.md
│ └── workflows
│ ├── build.yml
│ └── lint.yml
├── .gitignore
├── .vscode
│ ├── extensions.json
│ └── settings.json
├── assets
│ ├── figures
│ └── images
├── book.toml
├── chapters
│ └── chapter01.typ
├── main.typ
└── templates
9 directories, 9 files
- Edit in your preferred Typst editor (VS Code with Tinymist, the Typst web app, etc.)
- Format and lint automatically - generated projects include VS Code settings (format on save with Tinymist) and a CI check that fails on unformatted or lint-failing Typst
- Commit changes to Git - every idea, immortalized in your git log
- Collaborate via pull requests - built-in review process
- Download PDFs from GitHub Actions - share early previews with interested parties
⚠️ Note: This tool is in early development. The following features are planned:
- Project scaffolding with conventional directory structure
- GitHub repository creation and setup
- Typst template library (academic, fiction, technical)
- GitHub Actions CI/CD pipeline configuration
- Automated PDF builds on commit/PR
- Multiple output formats (PDF, EPUB, HTML)
- Book configuration management (
book.toml) - Chapter management commands
- Asset organization helpers
- Author monetization support:
- Patreon integration for subscriber-only content
- Automated chapter releases for supporters
- Supporter acknowledgments in generated books
This tool does not provide a writing interface. Instead, it:
- Creates the foundation for professional book publishing
- Automates the boring infrastructure setup
- Lets you focus on writing, not tooling
- Uses industry-standard tools (Git, GitHub, Typst)
- Makes backups an integral part of your writing process
- Enables collaborative workflows via pull requests
- Node.js
- Git (for version control)
- GitHub account (for repository hosting and CI/CD)
- Typst editor (VS Code with Tinymist, the Typst web app, or another editor of your choice)
# Repository and CI setup
write new "Book Title" --template academic
write publish # Create GitHub repo + CI
# Project management
write chapter "Chapter Name" # Add new chapter file
write build # Local PDF build (if Typst installed)
write status # Git status + build infoThis is an open-source project in active development. Check out our Contributing Guide to help build the future of book publishing tooling.
If you find this tool useful, consider supporting its development:
- ⭐ Star this repository to help others discover it
- 🐛 Report bugs and suggest features via GitHub Issues
- 💖 Sponsor development via GitHub Sponsors
- ☕ Support on Patreon for ongoing development updates and early access
Your support helps:
- Maintain and improve the tool
- Add new features and templates
- Provide community support
- Keep the project free and open-source
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-or-later).
The AGPL license requires anyone who modifies this software and provides it as a service (like a hosted SaaS application) to make their full source code available. This protects the project from being used in proprietary applications without contributing back to the open source community.
As the original author and copyright holder, I retain the right to use this code in my own commercial applications.
For more details and FAQ about licensing, see Licensing Information.
© Daniel Edward McCormack