1 pointby apiemotionan hour ago1 comment
  • apiemotionan hour ago
    Confession: all vibe engineered using OpenCode, Gemini & Cursor.

    I started by wanting to try GasTown without needing a Claude Subscription. Freeride proxy was developed to use free Cloud hosted models. It started with NVIDIA NIM then I added OpenRouter. Now it also support Cerebras and Ollama Cloud. It manages fallbacks & cool downs. I recently added a local LLM if it is capable. There is flag to spend money if one wants to use the best models. Limited testing on that one as GasTown ate money using the traditional approach.

    To get GasTown to work with freeride I needed to make quite a few architectural changes to GasTown. I have added gt-agents to replace Claude Code / OpenRouter. I used NATs instead of tmux for agent messaging and needed to add a gt-agent-console web app to visually see the agents (although gt status & gt feed show progress). I fixed loads of issues I encountered (>120) to try to work around hallucinations with the less capable cloud models. Then, I gave up and added an Orchestrator agent so I could move from the anarchic mailbox / nudge system to a more controlled workflow using configurable finite state machine(s) with Agent's working off configuration files to do one task in each state. The workflow rig is coding agents run using free LLM tiers with failover; Gas Town fork runs them through a spec → design → plan → code → QA pipeline instead of autonomous mail/hooks. This is more deterministic and less LLM intensive approach BUT still uses core GasTown agents e.g. the Mayor, Boot etc and the dolt / beads / gt approach of the original project. I added an Architect, Planner and QA Agents to the project.

    I have just managed to get the e2e workflow to work for a non trivial project. It is still being actively developed / debugged as testing can take a while waiting for the LLMs to crack through all the tasks. However, I made more progress in a day or so that I did using the original approach. Using the new approach I add a rig as usual then type: gt mayor workflow start rig-flow --rig <rig name>'.