| self_link |
|---|
Program that generates type definitions, libraries, and programs in multiple languages.
🚧 Beware of Project Status: Work-in-Progress
ℹ INFO:
docs/contributing.mdcoming soon!!
To execute the Fart tests, simply run deno test. If you have not done so
already, please install Deno.
You can give Fart a spin on your machine in one command (assuming Deno is installed). Check out the example code on https://fart.fart.tools/pokemon-example/.
deno run --reload https://github.com/EthanThatOneKid/fart/raw/main/ex/pokemon/run.tsLocal Variation
deno run --reload ex/pokemon/run.tsTry running the command below after cloning the repository.
deno run --allow-read --allow-write std/cli/run.ts ./ex/pokemon.fart --reg=ts.deno --output=./ex/pokemon.tsPlease refer to docs/server-architecture.md to learn about how the server code is organized.
Please refer to docs/architecture.md to learn about the structure of this repository.
This project is built with the ambition of forming a closed-loop execution substrate for autonomous coding agents, enabling recursive, self-referential spontaneous software. Fart is designed as a structural foundation that perfectly complements GEPA (Genetic-Pareto)'s unique strengths in reflective, evolutionary search.
By combining dynamic HTTP-based transpilation with native remote module resolution (Deno's HTTP imports), Fart enables:
- JIT Epistemologies: Agents are not bound by static schemas. Upon
encountering a novel domain, an agent can dynamically invent a new
.fartschema and immediately evaluate it viaawait import("http://...",). - Zero-Friction Evaluation: Changing application logic traditionally requires file I/O, build steps, and process restarts. Fart eliminates this, providing sub-second code generation and evaluation for extremely fast feedback loops.
- Type-Driven Reflection: Instead of mutating raw code that often results in
syntax errors, frameworks like GEPA can mutate the highly-structured
.fartschema. If the schema is invalid, Deno throws native TypeScript compiler errors at import time, which the optimization engine can ingest to reflectively evolve and fix the structure.
Created with 💖 by @EthanThatOneKid