Stitch IDE is a dedicated development environment for Frankie, a multi-language-fusion scripting language that borrows the best syntax from Ruby, Python, R, and Fortran. Stitch wraps Frankie's existing compiler, formatter, linter, test runner, and REPL in a native PyQt6 desktop shell so you never have to leave the editor to run, test, lint, or format your code.
Stitch is built on top of BASE, a lightweight, extensible IDE skeleton shared across this repo's family of language-specific IDEs.
For a full walkthrough of every feature, see USER_GUIDE.md.
- Full Frankie syntax highlighting — keywords, builtins, strings with
#{}interpolation, heredocs, symbols, the pipe operator (|>), and more - One-click execution modes — Run, Test, Check (lint), Format, Build (to
Python), and Bundle (self-contained
.py), all via a toolbar mode selector or the Frankie menu - Smart auto-indent/dedent — typing
if,def,while, a trailingdo |x|, etc. indents the next line automatically;end,else,elsif,when,rescue, andensurededent themselves back into place - Diagnostics panel — runs
frankiec checkon save, lists errors and warnings with click-to-jump line navigation - Interactive REPL tab — a persistent
frankiec replsession with input history (Up/Down arrows) - Stitch Manager panel — browse, install, verify, and update Frankie packages ("stitches") without leaving the IDE
- Documentation viewer — an embedded language quick-reference plus
frankiec docsoutput for the current file - 16 built-in themes — 10 dark (Dark, Grey, Solarized Dark, High Contrast, Dracula, Nord, One Dark, Monokai, Gruvbox Dark, Tokyo Night) and 6 light (Light, Solarized Light, GitHub Light, One Light, Gruvbox Light, Nord Light)
- File browser with bookmarks and history, tabbed editing, Find/Replace, and window/layout persistence across restarts
- Python 3.10+
- PyQt6 (installed automatically by
setup.sh) - A working Frankie installation — Stitch looks for
frankiecon yourPATHfirst, then falls back to a known local path (see USER_GUIDE.md § Configuring the Frankie path if neither applies to your machine)
cd "IDE_Suite 2/STITCH"
./run.shrun.sh provisions venv/ and installs dependencies automatically on
first run (via setup.sh), then launches Stitch IDE. Run ./setup.sh
directly if you just want to (re)provision the environment without
launching the app.
source venv/bin/activate
python build.pyProduces a self-contained app in dist/StitchIDE/ via PyInstaller.
app/
frankie_language.py Language provider — highlighting, run/test/check/fmt/build/bundle
editor.py Code editor: line numbers, auto-indent/dedent, find/replace hooks
main_window.py Menus, toolbar, panel layout, keyboard shortcuts
diagnostics_panel.py frankiec check results, click-to-jump
repl_widget.py Persistent frankiec repl session
stitch_manager.py Stitch (package) manager panel
doc_viewer.py Quick reference + frankiec docs viewer
themes.py Theme definitions and the ThemeManager
file_browser.py, find_replace.py, terminal.py, syntax.py, language.py
examples/ Sample .fk programs to open on first launch
MIT — see LICENSE.