diff options
| author | T <t@tjp.lol> | 2026-05-27 08:04:04 -0600 |
|---|---|---|
| committer | T <t@tjp.lol> | 2026-05-27 11:46:52 -0600 |
| commit | 576891dc2ec4d917932a4c396471d4bbbad90c8e (patch) | |
| tree | 0662d629cf15a2e9cbb51353f6d3abe6d2c6edb5 /ideas.md | |
| parent | b72a405534d6be019573ee0a806014e2713fe55e (diff) | |
Finish the hard parts of the lua makeover
- bundle luarocks source in the panto binary
- bootstrap process (intended for first `panto` run):
- make ~/.local/share/panto/...
- write out luarocks sources into it
- run luarocks to install luv
- new `panto bootstrap` command just runs the bootstrap
- `panto bootstrap --force` removes everything and re-bootstraps
- new `panto lua` command just runs panto's embedded lua
Diffstat (limited to 'ideas.md')
| -rw-r--r-- | ideas.md | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/ideas.md b/ideas.md deleted file mode 100644 index e83d543..0000000 --- a/ideas.md +++ /dev/null @@ -1,38 +0,0 @@ -# pantograph Ideas - -`pantograph` is a minimal coding agent inspired by `pi`, with a focus on performance, efficiency, correctness, and a small core that can be extended deliberately. - -## Core architecture - -- The core agent loop will be written in Zig for performance, efficiency, and a small runtime footprint. -- In addition to the CLI/application, the project should expose a `libpanto` library through a C ABI so other programs can embed or build on the agent functionality. - -## Extension system - -- Extensions will initially be written in Lua, chosen for speed, simplicity, and low overhead. -- Because poorly written extensions can easily destabilize the host, `pantograph` should explore ways to improve extension correctness and crash protection. -- Future extension support should include loading shared object libraries through a C ABI, allowing extensions to be written in Zig, Rust, C, C++, or other native languages. - -## Minimal built-in feature set - -- `pantograph` should follow `pi`'s philosophy of avoiding unnecessary built-ins such as native subagents, MCP support, and permission systems. -- `pantograph` will go further by not building in AGENTS.md automation, skills, or customizable `/prompts`. -- Those features should be possible to implement as extensions rather than being part of the core runtime. - -## Provider API support - -- Provider support should be careful and conservative. -- The core should support Anthropic-shaped and OpenAI-shaped APIs with arbitrary base URLs. -- The goal is to avoid the common failure mode where provider integrations exist but only partially work, break important agent features, or crash the process. - -## Server/proxy mode - -- `pantograph` should support running as a server that exposes OpenAI-compatible and Anthropic-compatible APIs. -- In this mode, `pantograph` can act as a lightweight provider router/proxy to its configured backends. -- This is intended to provide the useful parts of tools like `omniroute` while avoiding excessive memory usage, fragile integrations, and runtime instability. - -## Core tools as extensions - -- Basic tools such as `read`, `write`, `edit`, and `bash` should be supplied by extensions rather than hardcoded into the core. -- These tools can be included in the standard distribution but should be individually disableable. -- Once shared object extension support exists, the standard core tools should be ported to Zig/native extensions. |
