Self-modifying development agent that builds its own tools at runtime
Run
wippy run wippy/micro-agimicro-agi
A self-modifying Wippy agent that builds its own tools at runtime.
When the agent lacks a capability, it reads the docs, writes Lua source code, registers a new tool in the registry, loads it, and calls it — all in a single conversation turn.
Run
export OPENAI_API_KEY=sk-...
wippy run wippy/micro-agi agent
Tools
| Tool | Description |
|------|-------------|
| doc_search | Search or fetch Wippy documentation |
| registry_list | List registry entries with filters |
| registry_read | Read a registry entry by ID |
| create_tool | Create a function.lua tool in app.generated:* namespace |
| load_tool | Activate a tool for the current session |
Security
Namespace deny policies (security.policy entries) restrict where the agent can write:
| Policy | Resources | Effect |
|--------|-----------|--------|
| deny_core_ns | app:* | deny |
| deny_tools_ns | app.tools:* | deny |
Source-level validation blocks os.execute, io.open, debug.*, package.*, enforces a module allowlist, and caps source at 16KB.
Example
> what time is it?
[doc_search] ok
[create_tool] ok
[load_tool] ok
[+] app.generated:current_time_utc
[current_time_utc] ok
The current UTC time is 2026-02-13T03:13:41Z.
Dependencies
wippy/llm— LLM integrationwippy/agent— Agent framework