Satiscode is a lightweight Windows editor for C/C++, Python, JSON, XML, web languages, and Markdown, built with Electron and Monaco Editor.
For installation and a walkthrough of the editor, see the Satiscode usage guide.
- C and C++ language detection by file extension
- Python language detection by file extension
- Web language detection for HTML, CSS/SCSS, JavaScript/JSX, TypeScript/TSX, and JSON
- clangd diagnostics, completion, hover, and go-to-definition
- Pyright diagnostics, completion, hover, and go-to-definition for Python
- FIXSON diagnostics, completion, and hover for JSON
- FIXML diagnostics, element completion, and hover for XML
- Markdown preview and edit modes
- Git status, staging, commits, pull, push, and blame
- VS Code-style Problems panel with clickable diagnostics
- Resizable Explorer file tree for the current directory
- New, Open, Save, Save As, and graceful Exit operations
- English and Spanish interface labels
- Keyboard shortcuts for common file operations
- Windows NSIS installer support
- Windows 10 or newer
- Node.js 20 or newer
The editor remains usable when Python is unavailable, but Python language services will not function correctly.
Note
Please NOTE That from satiscode 1.2.0 onwards LLVM does not need to be installed. All new builds will contain clangd and its librarys and later there will be instructions for local testing.
Note
Please note that version 1.5.0 onwards will need python to be installed to use python linting.
npm install
npm run build
npm startWarning
A clean source checkout runs without clangd or Pyright because their server files are absent; the editor can still open and edit supported file types. Source mode looks for clangd in bin/ and Pyright in PythonLSP/ at the repository root. npm run build installs and compiles FIXSON and FIXML from their package directories; packaged builds include both bundles in the application resources.
Opening a .c, .cc, .cpp, .cxx, .h, .hh, .hpp, or .hxx file starts clangd only when its server files are available. Opening a .py file starts Pyright only when its server files are available. Opening a .json file starts FIXSON; .jsonc files retain Monaco's built-in support without strict JSON validation. XML documents (.xml, .xsd, .xsl, .xslt, .svg, and .plist) start FIXML. HTML, CSS/SCSS, JavaScript/JSX, and TypeScript/TSX use Monaco's built-in language support. Markdown files (.md and .markdown) open in preview mode and can be switched to source editing.
Ctrl+N: New fileCtrl+O: Open fileCtrl+K: Open folderCtrl+S: SaveCtrl+Shift+S: Save AsCtrl+F: FindCtrl+.: Toggle Problems panel
npm run dist:winThe installer is written to dist\Satiscode Setup 1.0.0.exe. The installer is unsigned unless signing credentials are configured.
main.js: Electron main process, filesystem APIs, clangd process bridge, and shutdown handlingpreload.js: isolated renderer IPC APIindex.html: Monaco editor UI, Explorer, Problems panel, and language-service clientpackages/FIXSON-LSP: JSON language server sources and build configurationpackages/FIXML-LSP: XML language server sources and build configurationicons.js: Loads the icon packs located inicons/themes.js: Loads theme files from thethemes/directory
The renderer uses context isolation and does not have direct Node.js access. Filesystem and process operations are exposed through the preload bridge. Do not add unrestricted filesystem or shell APIs to the renderer.
Satiscode is licensed under the MIT License.
Thanks to these awesome people for helping build satiscode:
![]() @gtref |
![]() @ncs22 |
![]() @Igcabr01 |
![]() @ashveet |
![]() @coderabbitai |
![]() @dependabot |
|---|---|---|---|---|---|
| Project Lead | Contributor | Contributor | Contributor | Code Review Bot | Security Bot |
This tool uses librarys and executables from the clangd util by LLVM, PyRight by microsoft. to see the copy atributions please click here
See the repository's packages/ directory for packages included with Satiscode. These packages are also published on npmjs.
| Name | Readme link |
|---|---|
| FIXSON | FIXSON-LSP JSON LSP |
| FIXML | FIXML-LSP XML LSP |





