StoryCADLib 4.1.1
dotnet add package StoryCADLib --version 4.1.1
NuGet\Install-Package StoryCADLib -Version 4.1.1
<PackageReference Include="StoryCADLib" Version="4.1.1" />
<PackageVersion Include="StoryCADLib" Version="4.1.1" />
<PackageReference Include="StoryCADLib" />
paket add StoryCADLib --version 4.1.1
#r "nuget: StoryCADLib, 4.1.1"
#:package StoryCADLib@4.1.1
#addin nuget:?package=StoryCADLib&version=4.1.1
#tool nuget:?package=StoryCADLib&version=4.1.1
StoryCADLib
Core library for StoryCAD — a free, open-source outline editor for fiction writers. StoryCADLib lets you create, query, mutate, save, and load StoryCAD outlines programmatically. The same library powers the StoryCAD desktop app.
Install
dotnet add package StoryCADLib
Target frameworks
net10.0-desktop— cross-platform (Windows, macOS, Linux) via UNO Platform.net10.0-windows10.0.22621— Windows-specific, links the WinAppSDK head.
Quick start
StoryCADLib uses a service-locator pattern. Bootstrap once at startup, then resolve the API surface (or individual services) from the container.
using CommunityToolkit.Mvvm.DependencyInjection;
using StoryCADLib.Services.API;
using StoryCADLib.Services.IoC;
// Initialise the library. headless: true skips UI-thread-bound services
// and is what you want from any non-WinUI host (console, test, server).
BootStrapper.Initialise(headless: true);
var api = Ioc.Default.GetRequiredService<StoryCADApi>();
// Create a new outline from a built-in template (index 0 = Blank).
var result = await api.CreateEmptyOutline(
name: "The Old Man and the Sea",
author: "Ernest Hemingway",
templateIndex: "0");
if (result.IsSuccess)
{
foreach (var guid in result.Payload)
Console.WriteLine(guid);
}
else
{
Console.Error.WriteLine(result.ErrorMessage);
}
All StoryCADApi methods return OperationResult<T> — no exceptions escape to callers. Check IsSuccess and read ErrorMessage on failure.
When to use which entry point
StoryCADApi— high-level façade designed for Semantic Kernel / AI agent integration. Stable, narrow surface.OutlineService— lower-level operations on outlines. Use directly when you need fine-grained control.StoryModel— the in-memory document. Mutable; pair withSerializationLockfor safe concurrent access.
Documentation
- API guide: https://manual.storybuilder.org/docs/For%20Developers/Using_the_API.html
- User manual: https://manual.storybuilder.org/
- Source, issues, samples: https://github.com/storybuilder-org/StoryCAD
The API-Samples repo has end-to-end examples — see samples/Outliner for a WinUI consumer and samples/ConsistencyValidation for headless usage.
License
GNU GPL v3 — see LICENSE.TXT. The proprietary "Collaborator" module is licensed separately; see ADDITIONAL-LICENSE-PERMISSIONS.TXT in the repo for the GPLv3 §7 additional permissions that govern combination with it and App Store distribution.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-desktop1.0 is compatible. net10.0-windows10.0.22621 is compatible. |
-
net10.0-desktop1.0
- CommunityToolkit.Mvvm (>= 8.4.0)
- dotenv.net (>= 4.0.1)
- Elmah.Io.NLog (>= 5.4.80)
- Microsoft.SemanticKernel (>= 1.72.0)
- Microsoft.SemanticKernel.Abstractions (>= 1.72.0)
- MySql.Data (>= 9.6.0)
- NLog (>= 6.1.0)
- NLog.Extensions.Logging (>= 6.1.1)
- NRTFTree-Async (>= 1.0.1)
- Octokit (>= 14.0.0)
- SkiaSharp (>= 3.119.2)
- SkiaSharp.Views.Uno.WinUI (>= 3.119.1)
- Uno.Fonts.Fluent (>= 2.7.1)
- Uno.WinUI (>= 6.5.153)
- Uno.WinUI.Graphics2DSK (>= 6.5.153)
- Uno.WinUI.Lottie (>= 6.5.153)
-
net10.0-windows10.0.22621
- CommunityToolkit.Mvvm (>= 8.4.0)
- dotenv.net (>= 4.0.1)
- Elmah.Io.NLog (>= 5.4.80)
- Microsoft.SemanticKernel (>= 1.72.0)
- Microsoft.SemanticKernel.Abstractions (>= 1.72.0)
- Microsoft.Windows.SDK.BuildTools (>= 10.0.26100.7463)
- Microsoft.WindowsAppSDK (>= 1.7.250909003)
- MySql.Data (>= 9.6.0)
- NLog (>= 6.1.0)
- NLog.Extensions.Logging (>= 6.1.1)
- NRTFTree-Async (>= 1.0.1)
- Octokit (>= 14.0.0)
- SkiaSharp (>= 3.119.2)
- Uno.Fonts.Fluent (>= 2.7.1)
- Uno.WinUI (>= 6.5.153)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.