๐ inSetu: AI Developer OS
inSetu (from in situ, meaning "in position" or "on site", and Setu [เคธเฅเคคเฅ], Sanskrit for "bridge") is a local-first AI Developer OS, Context Gatherer, and Kanban Tracker.
It bridges the gap between Large Language Models (LLMs) and your local file system by treating your codebase as the ultimate source of truth. Instead of pasting code snippets back and forth, inSetu compiles massive, repository-wide context payloads for your LLM, and uses a deterministic "Sync Bridge" to apply the LLM's structural patches directly to your disk.
(Watch the 60-second demo: Yomama Sync Bridge, AST Pre-Flight Bouncer, and Emergency Lifeboat OS)
โจ Core Substrate Engines & Extensions
โ๏ธ Core Substrate Modules (Tier 2)
- The Yomama Sync Bridge: A strict patching engine utilizing an in-memory Virtual File System. It parses
<<<<<<< SEARCHand>>>>>>> REPLACEblocks, safely applies diffs, runs native pre-flight syntax validation (Python/JS/JSON), and commits to disk atomically. - Context Gatherer: Scrapes mapped repositories to compile massive
.txtcontext payloads (RAG) for Large Language Models. - Virtual File System (VFS): Asynchronous commit pipeline, POSIX path sandbox resolution, and event ledger logging for zero-lock writes.
- Cartographer: Automatically maps repository topologies and generates a deterministic
CODE_INDEX.mdarchitectural blueprint to prevent logic drift.
๐ Domain Extensions (Tier 3)
- Modular Extensions & Integrations: Pluggable tools including Markdown Kanban Tracker, Integrated Git Operations, Embedded Terminal, Workflows (Flow), Prompt Library, Notes, CSL-JSON Reference Library & Research Inbox, Skills Spaced-Repetition Tracker, Freshdesk Helpdesk Integration, Tailscale Zero-Trust Networking, and Semantic Release Automation.
๐๏ธ System Architecture
inSetu is built on a modular three-tier architecture:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tier 3: Domain Extensions โ
โ (Kanban Tracker, Citations, Git, Flow, Prompts, etc.) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tier 2: Core Substrate Engines โ
โ (Gather Compiler, Yomama Bridge, Cartographer, VFS) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tier 1: Kernel & Micro-Kernel โ
โ (inSetu Event Bus / VFS Queue + Sutram / yenVUI UI) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Prerequisites
Core System Requirements
- Python 3.10+
- Git (Required for repository topology mapping, code indexing, diff generation, and release management)
Optional System Binaries
- Node.js (Optional: Enables pre-flight JavaScript/TypeScript AST syntax validation in the Yomama Sync Bridge)
- Pandoc & LaTeX (Optional: Enables document compilation to PDF/DOCX via the
formatextension) - Tailscale (Optional: Enables zero-trust HTTPS network binding over private Tailnets)
๐ Installation
# Clone the repository
git clone https://github.com/Callosemic/insetu.git
cd insetu
# Install base OS dependencies
pip install -e .
# (Optional) Install full extension suite (includes Playwright, BeautifulSoup, Mistune, etc.)
pip install -e .[all]
๐ป Usage & CLI Reference
Once installed, the insetu command is available anywhere on your system.
1. Boot the Developer OS (serve)
insetu serve
Executing insetu serve treats your current working directory (cwd) as the active workspace root, reading configuration from cwd/.insetu/config.json (and automatically scaffolding local .insetu/ configuration files if initialized in a fresh directory for the first time). The web daemon boots on http://127.0.0.1:5005.
2. Background Daemon Management (service)
On Linux systems, you can install and manage inSetu as an unprivileged systemd user service anchored to your workspace directory:
# Install, enable, and start the systemd user service anchored to cwd
insetu service install
# Inspect background daemon telemetry and systemd status
insetu service status
# Control background service execution
insetu service start
insetu service stop
insetu service restart
# Disable and uninstall the systemd user unit
insetu service uninstall
3. Scaffold Custom Extensions (create-extension)
Scaffold a new Tier 3 extension template directly inside insetu/extensions/:
insetu create-extension <extension_name>
This automatically generates the extension directory, Python engine (engine_<name>.py), Lit Web Component (ext_<name>.js), and vendor manifest (vendor.json).
โ๏ธ Configuration & Ports
Upon first boot in a workspace, inSetu silently scaffolds your local configuration into .insetu/ inside your current working directory.
By default, the daemon binds to port 5005. You can change this in two ways:
1. Environment Variable (Temporary)
INSETU_PORT=8080 insetu serve
2. Config File (Persistent)
Edit the scaffolded config file (.insetu/config.json inside your working directory) and update the "port" key:
{
"instance_title": "inSetu Developer OS",
"port": 8080
}
(Note: If you are running inSetu as a systemd service, restart it via insetu service restart after modifying the config).
๐ Remote Access & Proxies
inSetu is designed to be a local-first tool, natively binding to 127.0.0.1:5005 to protect your filesystem. If you want to access your Developer OS remotely (e.g., from an iPad or a different workstation), we recommend using a secure tunneling service rather than opening router ports.
Using Tailscale (Recommended): Tailscale provides a zero-config VPN. You can securely serve the inSetu port over your private Tailnet using Tailscale Serve:
# Expose inSetu securely over your Tailnet
sudo tailscale serve --bg --https=443 http://127.0.0.1:5005
Using Ngrok: If you need temporary public access, you can use Ngrok to forward the port:
ngrok http 5005
(Note: If using Ngrok, ensure you trust the network or use Ngrok's basic auth features, as inSetu has direct write access to your local filesystem).
๐ Architectural Essays & Articles
Read the long-form essays exploring the philosophy, sociology, and zero-bundler architecture behind inSetu:
- The Habitus of the Machine: Why modern web frameworks are hostile to LLMs, and how to build a cognitive substrate that works.
- The Lost Joy of the Refresh Button: Escaping massive compilation chains and reclaiming visceral developer feedback loops.
- The UX of Resistance: Why friction is a feature in AI-assisted coding.
๐ฌ Fractional Consulting & Advisory
Building deterministic AI pipelines, local developer environments, or custom Pydantic guardrails for hardware/software products?
- Book a 15-minute discovery call: Cal.com / Booking Link
- Direct Contact:
hello@insetu.dev
๐ License
Licensed under the Apache License, Version 2.0. See the LICENSE and NOTICE files for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file insetu-0.15.1.tar.gz.
File metadata
- Download URL: insetu-0.15.1.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
978eedb67495263968d22c060dec919a4baec70ab734108a22b69dead3019c7e
|
|
| MD5 |
853ad61214a1ab0f343eebe29eb73047
|
|
| BLAKE2b-256 |
9f6d5fb9b01c2ae0343eb0624ca04163b31c62ecd65d4f8643d6d086faac3fdd
|
File details
Details for the file insetu-0.15.1-py3-none-any.whl.
File metadata
- Download URL: insetu-0.15.1-py3-none-any.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7b8bf087825d26a64a0a81a269270454efc43aebe3b718f14070d471828040c
|
|
| MD5 |
3aaf174193c4fe68d527465743ebb696
|
|
| BLAKE2b-256 |
ac044c37e1b4dbd5e83a7635cdfd0659ab4e361676e87670127538b0386f2a3c
|