Overview & Philosophy #
FleshNote is envisioned strictly as a writing-oriented IDE devoid of the conventional distractions found in overbearing world-building toolsets. It prioritizes placing words onto the page via a clean minimal IDE editor while shifting the heavier, lore-centric overhead into secondary, optionally accessible UI panels and background NLP extraction.
- Writing First: An unencumbered Markdown canvas designed around pure narrative drafting, target word goals, and focus sprint modes.
- Abstract Tracking: Background linguistic and NLP engines (spaCy, NLTK) natively audit sensory density and extract characters, locations, and lore without manual data entry.
- Seamless Epistemic UI: Features structured around "who knows what". Knowledge states, secrets, and foreshadowing markers are injected without corrupting the prose.
3-Layer IPC System Architecture #
Every user interaction that reads or modifies persistent project data follows a secure 3-layer Inter-Process Communication (IPC) boundary. React components never make direct system calls or query the database directly.
Documentation Directory #
Explore the documentation across 8 technical domains. Each guide includes code snippets, database schemas, and architectural patterns:
Developer Quickstart #
To run FleshNote IDE locally in development mode:
# 1. Clone the repository and navigate into the IDE directory
git clone https://github.com/ArtFacility/FleshNote.git
cd FleshNote/fleshnote-ide
# 2. Install Node frontend dependencies
npm install
# 3. Setup the Python 3.13 backend virtual environment
cd backend
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
cd ..
# 4. Launch the application in hot-reload development mode
npm run dev
Core Architectural Principles #
| Principle | Implementation Mechanism | Architectural Benefit |
|---|---|---|
| Zero Cloud Lock-in | Local SQLite in WAL mode at {project}/fleshnote.db + plain Markdown chapter files. |
Authors have 100% data ownership; files remain readable outside FleshNote forever. |
| Slim Distribution | Dynamic AppData downloader for spaCy NLP models and NLTK word nets. |
Installer binary remains tiny (<100MB) without bundling multi-gigabyte neural models. |
| Epistemic Integrity | Dynamic SQL queries evaluating POV context against fact visibility tables. | Prevents narrative plotholes by tracking character knowledge independently of author knowledge. |
| Collision-Free Sync | UUID primary keys, column-level change_log, and Hybrid Logical Clock (HLC). |
Enables serverless, peer-to-peer merge across desktop and companion devices without integer ID collisions. |