kindling Svelte Themes

Kindling

Spark your draft - Bridge the gap between outline and prose. A desktop writing app for fiction writers.

Kindling

Kindling

Spark your draft — Bridge the gap between outline and prose.

CI Status Version License Stars

FeaturesInstallationRoadmapContributingSupport


The Problem

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.

The Solution

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.

Features

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

Installation

Note: Kindling is in early development. Pre-built releases are coming soon.

From Source

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

Roadmap

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.

Tech Stack

Project Structure
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

Contributing

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.

Support

If Kindling is useful to you, consider supporting its development:

Sponsor on GitHub

Your sponsorship helps keep Kindling free and open source. See the sponsor tiers for perks.

License

MIT — free for personal and commercial use.

Acknowledgments


Made with ☕ for writers who plan before they write.

Top categories

Loading Svelte Themes