Spark your draft — Bridge the gap between outline and prose.
Features • Installation • Roadmap • Contributing • Support
Writers often struggle with the transition from outline to draft. You've done the planning work—you know your story beats, your character arcs, your scene goals—but when you open a blank document, that carefully crafted structure feels distant and unhelpful.
Kindling keeps your outline visible and actionable as you write. Each scene displays its beats as collapsible cards that you can expand to write prose directly beneath them. Your outline becomes the scaffolding for your draft, always present but never in the way.
| Feature | Description |
|---|---|
| Import from popular tools | Plottr (.pltr), Scrivener (.scriv), or Markdown outlines |
| Scaffolded writing view | Scene beats appear as expandable prompts |
| Distraction-free dark mode | Easy on the eyes for long writing sessions |
| Local-first | Your work stays on your machine in a SQLite database |
| Cross-platform | macOS, Windows, and Linux support |
Note: Kindling is in early development. Pre-built releases are coming soon.
Prerequisites:
# Clone the repository
git clone https://github.com/smith-and-web/kindling.git
cd kindling
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri build
Track progress on the project board.
| Phase | Status | Description |
|---|---|---|
| v0.1 - Foundation | 🔄 In Progress | Plottr import, basic UI, project structure |
| v0.2 - Outline View | ⏳ Planned | Drag-and-drop reordering, create/delete scenes |
| v0.3 - Writing | ⏳ Planned | Prose editor with beat integration |
| v0.4 - Export | ⏳ Planned | Export to Scrivener, DOCX, Markdown |
| v1.0 - Release | ⏳ Planned | Polish, performance, stability |
See the milestones for detailed breakdowns.
kindling/
├── src/ # Svelte frontend
│ ├── lib/
│ │ ├── components/ # UI components
│ │ ├── stores/ # Svelte 5 state management
│ │ └── types.ts # TypeScript interfaces
│ ├── app.css # Tailwind styles
│ └── App.svelte # Main app component
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands.rs # Tauri IPC handlers
│ │ ├── db/ # SQLite schema & queries
│ │ ├── models/ # Data structures
│ │ └── parsers/ # Import parsers
│ └── tauri.conf.json # Tauri configuration
└── package.json
Contributions are welcome! Please read the Contributing Guide before submitting a PR.
Looking for a place to start? Check out issues labeled good first issue.
If Kindling is useful to you, consider supporting its development:
Your sponsorship helps keep Kindling free and open source. See the sponsor tiers for perks.
MIT — free for personal and commercial use.
Made with ☕ for writers who plan before they write.