Skip to content

ArtFacility/FleshNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FleshNote IDE (v1.2.0 Beta)

An advanced, no-bullshit writing tool for novelists and world builders who actually want to finish their draft this century. Built with Electron, React, TypeScript, and FastAPI.

License: MPL 2.0

FleshNote IDE

Why FleshNote?

FleshNote was built by writers, for writers. I created this app mainly for myself to help me write my novel, but I decided to make it open source so that other writers can benefit from it as well.

🧹 The Janitor (Your Smart Editing Assistant)

Write now, edit later. The built-in Janitor actively reads your chapters in the background using local, offline linguistic analysis (spaCy & NLTK) to offer structural suggestions without ever interrupting your flow:

  • Sensory Analysis: Avoid "White Room Syndrome." The Janitor tracks if your scene is missing descriptions of Smell, Taste, Touch, Sound, or Sight.
  • Show, Don't Tell: Detects weak adverbs and passive voice.
  • Readability & Pacing: Grades your chapter complexity and warns you if you start three sentences in a row with the exact same word.

Sensory Analysis

πŸƒβ€β™‚οΈ Hardcore Sprint Modes

Sometimes you just need a little push to get drafted. FleshNote gamifies the writing process with specialized, un-exitable Focus Modes:

  • Hemingway Mode: The backspace and delete keys are completely disabled. No inner-editor allowed. You can only move forward!
  • Zen Mode: Relax and watch a procedural tree grow on your screen as you hit your word count goals. Hitting your target makes the tree bloom.
  • Kamikaze Mode: Stop typing for too long, and your text turns red before being permanently deleted. Survive the sprint!
  • Fog Mode: Previous sentences fade into a thick fog, keeping your eyes locked on the current sentence so you don't scroll up.

Zen Mode Timelapse

🧠 Epistemic UI (Who Knows What?)

Track exactly what a character knows at any given point in your timeline. Use the Entity Inspector to lock away a character's "True Goal" while they lie to the reader, visually tracking narrative deception across chapters.

Knowledge State

πŸ—ΊοΈ Timeline & Plot Planner

A zoomable, multi-layer canvas for mapping out your story beats, arcs, and foreshadowing natively injected straight into the manuscript.

Plot Planner

πŸ“œ World History Timeline

Track what happened with your characters and items before the book even begins. Build a deep chronological history by dragging relationships and pinning major backstory events across an interactive, visual timeline.

History Timeline

πŸ“‚ Unified Entity & Twist Tracking

Dumping lore into your project is easy. Managing it is easier. The codebase features a robust tabbed dashboard to manage Characters, Locations, Twists, and Quick Notes with bulk operations and inline tagging (@mention any character right in the editor).

Entity Manager

πŸ“š Professional Book Export

Export straight to industry-standard formatting. Generates print-ready PDFs, standard DOCX files, and EPUBs with a WYSIWYG live preview.

File Export

Other Features

  • Chapter Time Overrides: Track flashbacks and timeskips at the paragraph level so your entities and relationship dynamics remain chronologically accurate.
  • Environment & Weather System: Define weather states per location with Hierarchical Inheritance (sub-locations automatically pull weather from parents).
  • 7 Total Sprint Modes: Let it be Rewarding or Punishing, there is a mode for every writer.
  • Daily Writing Encouragement: Context-aware prompts and streak tracking when you open your project.
  • Sketchboards & Mind-Mapping: Visual node-graph canvas for mapping out magic systems, technology trees, and character webs.
  • Smart Entity Renaming Wizard: Safely rename characters or locations across your entire manuscript with automated text-link rewriting.
  • Custom World Calendars: Build your own calendar systems with custom months, seasons, and years for precise age and history tracking.
  • Image Gallery: Each entity type has its own gallery and Icon. Add description, time, and crop icons.
  • Character and Location Name Generator: Generate procedural and preset character names, or answer questions and generate location names based on your answers.

Getting Started

⚠️ Windows Users: I'm a solo indie dev and I don't plan on buying an expensive Windows Code Signing Certificate. When installing the app, Windows SmartScreen will show a scary blue pop-up warning you about an "unrecognized app". Simply click More info -> Run anyway to proceed with the installation!

Prerequisites

Installation

  1. Clone the repository and navigate into the fleshnote-ide subfolder:
    cd fleshnote-ide
  2. Install the frontend dependencies:
    npm install
  3. Setup the Python backend environment:
    cd backend
    python3 -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    pip install -r requirements.txt
    cd ..

    Note: requirements.txt contains only runtime dependencies. If you plan to build/package the app with PyInstaller, use requirements_build.txt instead.

Development

Run the application in development mode:

npm run dev

πŸ“¦ Building for Production

You can build the production installer using the provided platform-specific scripts or npm commands.

IMPORTANT: When building the app manually (via npm), you must also manually freeze the Python backend using PyInstaller first. The provided build scripts (build.bat and build.sh) handle this dual-compilation step for you automatically!

Using Build Scripts (Recommended)

Windows (PowerShell/CMD):

./build.bat

Linux/macOS (Terminal):

chmod +x build.sh
./build.sh linux  # or ./build.sh mac

Manual Build Commands

(Remember to run PyInstaller on the backend first!)

Windows

npm run build:win

macOS

npm run build:mac

Linux

npm run build:linux

Linux (Flatpak)

Note: To build Flatpak correctly, you must ensure flatpak and flatpak-builder are installed on your system. Since the bundler operates at the user-level, you also must have the Flathub remote added for your local user environment, or the build will fail:

flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
npm run build:flatpak

πŸ› οΈ Recommended Setup

πŸ“„ License

This project is licensed under the Mozilla Public License 2.0. See the LICENSE file for the full text.


Built with ❀️ by Artfacility

About

Write first, note second. Minimalist writing app for excessive worldbuilders and planners who actually want to finish their book

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors