Skip to content

FartLabs/fart

Repository files navigation

self_link

Fart 🌫

Program that generates type definitions, libraries, and programs in multiple languages.

🚧 Beware of Project Status: Work-in-Progress

Development 👨‍💻

INFO: docs/contributing.md coming soon!!

To execute the Fart tests, simply run deno test. If you have not done so already, please install Deno.

Give it a Spin

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.ts
Local Variation
deno run --reload ex/pokemon/run.ts

Fart CLI

Try 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.ts

Fart Server 📡

Please refer to docs/server-architecture.md to learn about how the server code is organized.

Architecture

Please refer to docs/architecture.md to learn about the structure of this repository.

Closed loop

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 .fart schema and immediately evaluate it via await 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 .fart schema. 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

About

🌫 Program that generates type definitions in multiple languages.

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors