• Go 39.9%
  • Vue 30%
  • JavaScript 22.7%
  • Java 4.7%
  • Shell 1.6%
  • Other 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
build-bot 9d35b2c236 chore(release): 1.23.3 [skip ci]
## [1.23.3](https://code.legionsalliance.com/WritersNotebook/WritersNotebook/compare/v1.23.2...v1.23.3) (2026-09-23)

### Bug Fixes

* **build:** expect the installer at the name NSIS actually writes ([0b8977e](0b8977ea34))
2026-09-23 01:02:39 +00:00
.claude feat: windowed editing for very large outline nodes 2026-07-25 11:15:32 -04:00
.forgejo/workflows fix(build): cross-compile Windows as pure Go, without mingw or Docker 2026-09-22 20:22:14 -04:00
build fix(build): stop generate:icons invoking actool on a missing .icon 2026-09-22 00:24:54 -04:00
docs docs: record the Linux build as verified in a container 2026-09-22 20:53:43 -04:00
frontend chore(release): 1.23.3 [skip ci] 2026-09-23 01:02:39 +00:00
graphify-out docs: update project docs for Wails v3 2026-09-21 22:25:04 -04:00
internal chore(release): 1.23.3 [skip ci] 2026-09-23 01:02:39 +00:00
references initial commit 2026-07-01 18:31:16 -04:00
scripts fix(build): expect the installer at the name NSIS actually writes 2026-09-22 20:42:24 -04:00
.env.example chore: add build script 2026-08-04 21:02:23 -04:00
.gitattributes docs: add graphify AST 2026-07-19 12:54:19 -04:00
.gitignore fix(build): expect the installer at the name NSIS actually writes 2026-09-22 20:42:24 -04:00
.releaserc.json chore: fix releaases not saving package-lock.json and package.json.md5 2026-07-05 21:41:08 -04:00
about_test.go fix: restore the app identity and share About content between both menus 2026-09-21 22:52:40 -04:00
app.go fix: restore fast quit — App.vue called callGo without importing it 2026-09-21 23:01:09 -04:00
app_analysis.go feat: add extension platform with lifecycle hooks and target backends 2026-08-08 15:56:16 -04:00
app_analysis_test.go feat: windowed editing for very large outline nodes 2026-07-25 11:15:32 -04:00
app_backup.go feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
app_debug.go docs: update project docs for Wails v3 2026-09-21 22:25:04 -04:00
app_edit_position_test.go feat: return to last edit position 2026-07-26 17:44:07 -04:00
app_extensions.go feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
app_fonts.go feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
app_import.go feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
app_sprint_sounds.go feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
app_sprints.go feat: add Timed Sprints, focused writing timeboxes with analytics 2026-09-17 18:40:35 -04:00
app_sprints_test.go feat: add Timed Sprints, focused writing timeboxes with analytics 2026-09-17 18:40:35 -04:00
app_structure.go feat: add extension platform with lifecycle hooks and target backends 2026-08-08 15:56:16 -04:00
app_structure_test.go feat: windowed editing for very large outline nodes 2026-07-25 11:15:32 -04:00
app_updates.go feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
app_updates_test.go feat: add debug console and expand on update dialog 2026-07-17 19:56:12 -04:00
callgo_contract_test.go fix: restore fast quit — App.vue called callGo without importing it 2026-09-21 23:01:09 -04:00
CHANGELOG.md chore(release): 1.23.3 [skip ci] 2026-09-23 01:02:39 +00:00
CLAUDE.md fix(ci): install the wails3 CLI with -tags gtk3 on Linux 2026-09-22 19:13:26 -04:00
desktop.go fix: restore fast quit — App.vue called callGo without importing it 2026-09-21 23:01:09 -04:00
desktop_test.go feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
dmgbuild_settings.py build: drive scripts/build.sh through wails3 tasks 2026-09-21 22:20:31 -04:00
EXTENSION_DEV.md feat: add extension platform with lifecycle hooks and target backends 2026-08-08 15:56:16 -04:00
go.mod feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
go.sum feat: migrate the Go side from Wails v2 to v3 2026-09-21 22:02:25 -04:00
LICENSE feat: change macos dmg builder 2026-07-11 18:50:50 -04:00
main.go fix: restore the app identity and share About content between both menus 2026-09-21 22:52:40 -04:00
package-lock.json fix: add missing dependency 2026-07-01 23:21:17 -04:00
package.json fix: add missing dependency 2026-07-01 23:21:17 -04:00
README.md feat: add extension platform with lifecycle hooks and target backends 2026-08-08 15:56:16 -04:00
Taskfile.yml build: move to Wails v3's Taskfile build system 2026-09-21 22:16:07 -04:00

README

Documentation: Writers Notebook Wiki

Extension Development

Quick Install

About Writers Notebook

Welcome to the Writers Notebook. This tool was designed to help writers gather their thoughts and develop the world, plots, characters, and everything else necessary to bring their creative vision to the page.

This tool, like many stories, is a retelling of several other such tools but mostly inspired by Manuskript.

Binary Installation

For convenience there are several pre-built binaries that you may install or run directly (portable).

NOTE: The binaries are not currently signed so you will likely get warnings from MacOS or Windows.

Apple instructions for unsigned apps

MacOS Installation

  1. Open the Releases page: https://code.legionsalliance.com/WritersNotebook/WritersNotebook/releases
  2. Download the latest *.dmg file
  3. Double-click the dmg file to open it
  4. Accept the license
  5. Drag and Drop the Writers Notebook app into the Applications directory in the finder window (follow the arrow)
  6. Open the App

NOTE: You might get an error trying to open the app after install. Go to System Settings > Privacy and Security and scroll to the bottom. There should be an option to allow the app to open. After accepting, it should work.

Apple instructions for unsigned apps

Windows Installation

  1. Open the Releases page: https://code.legionsalliance.com/WritersNotebook/WritersNotebook/releases
  2. Download one of these assets for the latest version:
    • WritersNotebook-vX.Y.Z-windows-amd64-installer.exe (recommended)
    • WritersNotebook-vX.Y.Z-windows-amd64.exe (portable binary)
  3. If you downloaded the installer, run it and follow the prompts.
  4. If you downloaded the portable .exe, place it somewhere like C:\Program Files\WritersNotebook\ and optionally add that folder to your PATH.

Linux Installation

Use one of the following copy/paste commands to fetch and run the repo installer script:

Linux install with curl

curl -fsSL "https://code.legionsalliance.com/WritersNotebook/WritersNotebook/raw/branch/main/scripts/linux_install" -o /tmp/linux_install && chmod +x /tmp/linux_install && /tmp/linux_install

Linux install with wget

wget -qO /tmp/linux_install "https://code.legionsalliance.com/WritersNotebook/WritersNotebook/raw/branch/main/scripts/linux_install" && chmod +x /tmp/linux_install && /tmp/linux_install

The installer downloads the latest WritersNotebook-vX.Y.Z-linux-amd64 release, renames it to writers-notebook, and installs it to a standard PATH location (/usr/local/bin when possible).

Live Development

To run in live development mode, run wails dev in the project directory. This will run a Vite development server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser and have access to your Go methods, there is also a dev server that runs on http://localhost:34115. Connect to this in your browser, and you can call your Go code from devtools.

Building

To build a redistributable, production mode package, use wails build.

scripts/build.sh

scripts/build.sh wraps the same build/sign/notarize/package steps the release CI runs (.forgejo/workflows/release.yaml, macos-test-build.yaml) so you can produce any release artifact locally without pushing a commit:

scripts/build.sh list          # see all targets
scripts/build.sh mac-app       # unsigned .app
scripts/build.sh mac-dmg       # unsigned .app + .dmg installer
scripts/build.sh mac-app-signed --env-file .env   # codesigned .app
scripts/build.sh mac-dmg-signed --notarize        # signed + notarized + stapled .dmg
scripts/build.sh windows-portable
scripts/build.sh windows-installer
scripts/build.sh linux
scripts/build.sh linux-server

Signing and notarization read SIGN_IDENTITY, ASC_KEY_ID, ASC_ISSUER_ID, and ASC_KEY_P8 from the environment or a .env file (never committed -- see .gitignore); run scripts/build.sh --help for the full reference and scripts/build.sh <target> with a var missing to see exactly what it needs.

MacOS DMG Build

To build a MacOS DMG-based installer we'll use the dmgbuild Python utility.

Install the pre-requisites:

pipx install dmgbuild

Build the .app and then the dmg that bundles it:

wails build
dmgbuild -s dmgbuild_settings.py -s dmgbuild_settings.py "Writers Notebook Installer" "Writers Notebook Installer.dmg"