https://github.com/dhanji/g3

#g3 #dhanji #new #ai
paper of dialectical autocoding


In this video, I'll be telling you about g3, a revolutionary new AI coding tool based on adversarial cooperation that solves the context loss problem by making two AI agents fight each other to write better code. This is based on a groundbreaking research paper and represents a completely new paradigm for autonomous software development.

--
Key Takeaways:

🤖 Current AI coding tools like Cursor and Windsurf struggle with complex projects due to context loss and hallucinations.
⚔️ g3 uses two adversarial agents - the Player (builder) and the Coach (critic) - that argue to produce better code.
🧠 Fresh context windows every turn prevent the AI from getting confused by past mistakes and bad attempts.
In testing, g3 achieved 100% requirement compliance and zero crashes while other tools failed or needed manual intervention.
⏱️ Takes about 3 hours to run autonomously but delivers 1,800+ lines of fully functional, tested code without human input.
💰 Higher token costs due to multiple iterations, potentially $5-$10 per complex task using Claude 3.5 Sonnet.
📝 Requires a detailed Requirements Document rather than casual chat-based prompting for best results.
🦀 Open-source tool written in Rust, developed by researchers at Goose and backed by Linux Foundation's AI Fund.
Yes — Gemini itself (via Gemini CLI + Conductor) can analyze an existing brownfield repo and then generate those `/conductor:setup` artifacts. That’s literally what /conductor:setup scaffolds:

* conductor/product.md
* conductor/product-guidelines.md
* conductor/tech-stack.md
* conductor/workflow.md
* conductor/code_styleguides/
* conductor/tracks.md ([GitHub][1])

### But: “fully auto, zero questions” isn’t the intended model (today)

For brownfield projects, Google describes Conductor as starting an interactive session to create the foundational docs, using your existing code to inform decisions as you go. You still review/confirm the generated context. ([Google Developers Blog][2])

So the practical answer is: it can auto-generate the files, but it’s not a totally hands-off “scan everything and finalize perfectly” flow—especially for product goals/guidelines which usually aren’t derivable from code alone.

---

## The closest thing to “auto-generated from analytics” (recommended)

Do this 2-step chain:

### 1) Generate a repo-aware GEMINI.md automatically

Inside Gemini CLI (from repo root):

/init


/init analyzes the current directory and generates a tailored `GEMINI.md` (project context) automatically. ([Gemini CLI][3])

Why this matters: Gemini CLI loads GEMINI.md context files automatically (hierarchically), so Conductor’s setup will be much better with it. ([Gemini CLI][4])

### 2) Run Conductor setup

/conductor:setup


This scaffolds the Conductor folder + files listed above. ([GitHub][1])

---

## How it “analyzes the whole repo” in practice

Gemini CLI can read directories/files (including whole folders) using @path/… behavior and it applies git-aware filtering (respects .gitignore, and can be tuned via settings). ([Gemini CLI][3])

Conductor also warns that larger projects can increase token usage because it reads/analyzes more context. ([GitHub][1])

---

## Where ChatGPT fits

ChatGPT (here) can’t directly scan your local repository. But it *can* help you:

* refine the generated files after you run /init + /conductor:setup
* draft “product” and “guidelines” if you paste your README / folder tree / key modules

---

## Mini tip for brownfield accuracy

After /init, open GEMINI.md and add 10–20 lines of “truth that code can’t tell”, like:

* what the product is for
* “do not refactor legacy module X”
* your deployment constraints
* coding rules your team follows

Then run /conductor:setup.

If you want, paste your repo’s top-level `tree -L 2` + the generated GEMINI.md, and I’ll rewrite them into high-quality product.md / product-guidelines.md / tech-stack.md / workflow.md content you can drop into Conductor.

[1]: https://github.com/gemini-cli-extensions/conductor "GitHub - gemini-cli-extensions/conductor: Conductor is a Gemini CLI extension that allows you to specify, plan, and implement software features."
[2]: https://developers.googleblog.com/conductor-introducing-context-driven-development-for-gemini-cli/ "

Conductor: Introducing context-driven development for Gemini CLI


\- Google Developers Blog

"
[3]: https://geminicli.com/docs/cli/commands/ "CLI commands | Gemini CLI"
[4]: https://geminicli.com/docs/cli/gemini-md/ "Provide context with GEMINI.md files | Gemini CLI"

#gemini #conductor #cli #terminal #change #tiny #micro #small #tips #trik #item #ai #chatgpt #brownfield #greenfield #projek #lama #baru #analyze #generate #artifact #artifak #scan #analis #analisa
To list all existing tracks and then repair/improve a specific track by ID or name in *Gemini CLI Conductor*, the workflow is basically:

## 1) List all tracks (from Conductor)

Inside Gemini CLI, run:

/conductor:status


Conductor’s own docs say this command “displays the current progress of the tracks file and active tracks” and it reads `conductor/tracks.md`. ([GitHub][1])

So, practically:

* /conductor:status = “list tracks + progress overview”
* conductor/tracks.md = the source-of-truth index for tracks (the file being read)

## 2) List all tracks (from your repo files)

If you want to list tracks without the CLI view:

# shows the track registry/index
ls -la conductor/
cat conductor/tracks.md


Conductor generates and maintains track artifacts in these locations:

* conductor/tracks.md
* conductor/tracks/<track_id>/spec.md
* conductor/tracks/<track_id>/plan.md
* conductor/tracks/<track_id>/metadata.json ([GitHub][1])

## 3) Find a track by name (quick search)

Use grep/ripgrep in the repo:

# search track name / keyword in the index
grep -n "keyword" conductor/tracks.md

# (optional) also search metadata/specs
grep -Rni "keyword" conductor/tracks/ | head


This usually gives you the track_id (or a link/path containing it), then you can open the folder.

## 4) Repair / Improve a track by ID

Once you have the track_id, you “repair” by editing the track artifacts (because Conductor works off spec.md + plan.md):

# open/edit these:
conductor/tracks/<track_id>/spec.md
conductor/tracks/<track_id>/plan.md
conductor/tracks/<track_id>/metadata.json # if you need rename/title/meta changes


### Common “repair” actions

* Plan is wrong / missing steps → edit plan.md, add tasks/phases, fix checkbox formatting.
* Spec changed → update spec.md so the plan and implementation stay aligned.
* Track naming cleanup → update metadata.json + the title in conductor/tracks.md entry (keep the folder/ID stable unless you truly need to migrate it).

## 5) Re-run implementation after repairs

After you fix the track files, continue with:

/conductor:implement


Docs: /conductor:implement works through the plan.md, selecting the next pending task and updating statuses. ([GitHub][1])

## 6) If a track is totally broken: revert

If you want to undo work at track/phase/task level:

/conductor:revert


(Conductor describes this as a git-aware revert that can revert track/phase/task.) ([GitHub][1])

---

### Practical “cheat sheet”

* See all tracks: /conductor:status ([GitHub][1])
* Find by name: grep "name" conductor/tracks.md
* Repair by ID: edit conductor/tracks/<id>/{spec.md,plan.md,metadata.json} ([GitHub][1])
* Continue after fixing: /conductor:implement ([GitHub][1])
* Roll back if needed: /conductor:revert ([GitHub][1])

If you paste your current conductor/tracks.md format (even a small snippet with 2–3 tracks), I can tell you the safest way to rename/repair entries without breaking Conductor’s parsing.

[1]: https://github.com/gemini-cli-extensions/conductor "GitHub - gemini-cli-extensions/conductor: Conductor is a Gemini CLI extension that allows you to specify, plan, and implement software features."

#gemini #conductor #cli #terminal #change #tiny #micro #small #tips #trik #item #ai #chatgpt #brownfield #greenfield #projek #lama #baru #analyze #generate #artifact #artifak #scan #analis #analisa #repair #improve #revert #cancel #newtrack #new #track