Storylines

May 8, 2026 · View on GitHub

Storylines app icon

Storylines is an open-source Windows writing app for building stories chapter by chapter. It combines a clean editor with tools for characters, dialogue-heavy scenes, story analysis, focused drafting, and accessibility-minded workflows.

Microsoft Store License: MIT

Storylines is designed for writers who want more structure than a plain text file without jumping into a heavyweight tool. Draft chapters, keep track of characters, work with dialogue-focused scenes, review story information, and stay in flow with Focus Mode, keyboard shortcuts, and recovery features.

The app is built as a WinUI 3 desktop application on Windows App SDK with DI-backed window scoping for multi-window workflows.

Storylines editor screenshot

Highlights

  • Chapter-based writing workspace for longer projects
  • Character and dialogue tools for story-driven drafting
  • Story Analysis view for quick project insight
  • Focus Mode, read aloud, voice dictation, and keyboard shortcuts
  • Autosave, recovery, undo/redo, export, and Microsoft Store updates
  • Localized UI in English, Czech, Hindi, Italian, Polish, Russian, and Simplified Chinese
  • Built for Windows 10 and Windows 11 with accessibility in mind

Get Storylines

Build From Source

Requirements

  • Windows 10 version 1903 or later, or Windows 11
  • Visual Studio 2022 or later with the .NET desktop development and Windows application development workloads
  • .NET 9 SDK if you want to use the command line

Command line

msbuild src/Storylines.sln /p:Platform=x64 /p:Configuration=Debug /t:Restore
msbuild src/Storylines.sln /p:Platform=x64 /p:Configuration=Debug
dotnet test src/Storylines.Tests/Storylines.Tests.csproj --platform x64

Running Tests

Unit tests

dotnet test src/Storylines.Tests/Storylines.Tests.csproj --platform x64

UI / end-to-end tests

UI tests in src/Storylines.UITests drive the real packaged app via Appium and the appium-windows-driver.

Prerequisites

  1. Install Node.js (LTS).
  2. Install Appium and the Windows driver:
    npm install -g appium
    appium driver install windows
    
  3. Build and deploy the app so it is installed as an MSIX package:
    • Open src/Storylines.sln in Visual Studio, set configuration to Debug | x64, then press F5 (or Deploy from the Build menu).
  4. Find the app's AUMID (Application User Model ID):
    Get-AppxPackage *Storylines* | Select-Object PackageFamilyName
    # Example output: 3597CaffeStudios.Storylines_abc123xyz
    # AUMID = <PackageFamilyName>!App
    
  5. Set the required environment variable:
    $env:STORYLINES_TEST_AUMID = "3597CaffeStudios.Storylines_abc123xyz!App"
    

Running the tests

Start the Appium server in one terminal, then run the tests in another:

# Terminal 1 — keep running while tests execute
appium

# Terminal 2
dotnet test src/Storylines.UITests/Storylines.UITests.csproj

Environment variables

VariableRequiredDefaultDescription
STORYLINES_TEST_AUMIDYesPackage AUMID (see step 4 above)
STORYLINES_APPIUM_URLNohttp://127.0.0.1:4723Appium server URL

Writing new UI tests

  • Add AutomationProperties.AutomationId="YourId" to any XAML element you want to target.
  • Locate it in tests with driver.FindElement(MobileBy.AccessibilityId("YourId")).
  • Add the test class to src/Storylines.UITests/Tests/ and use IClassFixture<AppFixture> to share the driver session.

Visual Studio

  1. Open src/Storylines.sln.
  2. Select the Debug configuration and x64 platform.
  3. Restore NuGet packages if Visual Studio prompts you.
  4. Build and run the Storylines project.

Contributing

Bug reports, feature requests, translations, and pull requests are all welcome. If you want to help, start with CONTRIBUTING.md, or leave a review on the Microsoft Store.

License

Storylines is released under the MIT License.