Self-Bootstrap Proof in GenericAgent: How an AI Built Its Own Repository

The GenericAgent repository demonstrates a complete self-bootstrap proof where the AI agent autonomously executed every step—from installing Git and running git init to writing source code and committing changes—without any human opening a terminal.

The GenericAgent project by lsdefine showcases a radical autonomous AI architecture through its explicit self-bootstrap proof. This concept demonstrates that the entire codebase, version control history, documentation, and test suite were generated entirely by the agent itself using a minimal toolset and layered memory system.

What Is the Self-Bootstrap Proof?

The self-bootstrap proof is the explicit claim that GenericAgent created its own repository autonomously. According to the README at line 19, "Everything in this repository, from installing Git and running git init to every commit message, was completed autonomously by GenericAgent. The author never opened a terminal once." The Chinese translation at line 210 reiterates this claim, confirming that every file, commit, and configuration was generated through the agent's own tool invocation loop.

This proof extends beyond simple code generation. It encompasses the entire software development lifecycle: dependency installation, Git repository initialization, iterative file creation, version control operations, documentation writing, and test suite generation.

Architectural Foundation of the Bootstrap Process

The self-bootstrap proof relies on a deliberately minimal architecture that allows the agent to reason about and evolve its own code.

The Minimal Agent Loop (agent_loop.py)

The heart of the system is the agent loop implemented in agent_loop.py. This file contains approximately 100 lines of Python that define the agent_runner_loop function. The loop repeatedly sends a system prompt and user prompt to an LLM client, receives tool-call specifications, dispatches those calls to the appropriate handlers, and feeds the results back into the LLM. The loop limits itself to 40 turns by default, though this can be extended for complex bootstrapping tasks. The minimal size ensures the entire framework can be reasoned about and modified by the agent itself.

Nine Atomic Tools (assets/tools_schema.json)

The agent exercises system-level control through nine atomic tools defined in assets/tools_schema.json:

  • code_run – Execute arbitrary code (Python, PowerShell, or shell commands)
  • file_read – Inspect file contents
  • file_write – Create new files
  • file_patch – Apply partial modifications to existing files
  • web_scan – Perceive web page content
  • web_execute_js – Manipulate real browser environments
  • update_working_checkpoint – Manage short-term memory
  • start_long_term_update – Persist long-term knowledge
  • ask_user – Pause for human clarification when uncertainty exceeds thresholds

These tools enable the agent to install Git, run git init, write source files, and commit changes entirely through tool calls rather than human terminal interaction.

Layered Memory System (memory/)

The memory/ directory implements a layered memory architecture that enables self-evolution. The system distinguishes between short-term working memory (L1/L2) and long-term crystallized knowledge (L3/L4). During the bootstrap process, skills learned (such as "how to initialize a Git repository" or "how to structure a Python package") are crystallized into Standard Operating Procedures (SOPs) and stored in the deeper memory layers. This allows the agent to reuse bootstrap procedures without re-learning them, effectively building a compounding knowledge base of its own creation process.

The Bootstrap Execution Flow

The self-bootstrap proof followed a specific evolutionary workflow illustrated in memory/autonomous_operation_sop.md:

  1. Task Definition – The agent received the high-level directive to build a fully functional autonomous agent framework.
  2. Autonomous Exploration – Using code_run and file_write, the agent installed dependencies, experimented with Git commands, and iteratively wrote the Python source files (agent_loop.py, llmcore.py, etc.).
  3. Version Control Operations – Through code_run tool calls, the agent executed git init, git add, and git commit commands, generating the entire commit history visible in the repository.
  4. Crystallization – Successful execution paths (such as the sequence for initializing a repo) were stored as SOPs in the layered memory system.
  5. Verification – The agent generated tests in the tests/ directory and executed them to verify the bootstrap result.

Replicating the Bootstrap: Code Example

The following Python snippet demonstrates how the agent_runner_loop from agent_loop.py can be invoked to replicate a miniature version of the bootstrap process—creating a file and committing it to Git without human terminal interaction:

from genericagent.agent_loop import agent_runner_loop
from genericagent.llmcore import FakeClient  # Replace with real LLM client

import json
import pathlib

# System prompt instructing the agent to bootstrap a simple file

system_prompt = """
You are GenericAgent. Use the provided tools to create a Python file named
hello.py containing a function `greet()` that prints "Hello, world!".
After writing the file, commit it to the Git repository with the message
"Add hello.py". Do not ask the user for any input.
"""

# Empty user input—the instruction is contained entirely in the system prompt

user_input = ""

# Load the nine atomic tools from the repository schema

tools_schema = json.loads(
    pathlib.Path("assets/tools_schema.json").read_text()
)

# Execute the autonomous loop

client = FakeClient()  # Replace with configured LLM client (OpenAI, etc.)

handler = type("DummyHandler", (), {})()  # Callback handler for tool results

result = agent_runner_loop(
    client, system_prompt, user_input, handler, tools_schema,
    max_turns=20, verbose=False
)

print("Bootstrap replication completed:", result)

When executed, this loop autonomously performs the same category of actions used in the original bootstrap: file creation via file_write and version control operations via code_run (executing git add and git commit).

Key Source Files in the Bootstrap

The self-bootstrap proof is implemented across these specific files in the lsdefine/GenericAgent repository:

  • README.md – Contains the explicit self-bootstrap proof declaration at lines 19 and 210, stating that all commits and files were created autonomously.
  • agent_loop.py – Implements the ~100-line agent_runner_loop that orchestrated the bootstrap through LLM interaction and tool dispatch.
  • assets/tools_schema.json – Defines the nine atomic tools (code_run, file_write, git capabilities via shell, etc.) that enabled system-level bootstrapping.
  • memory/ – Directory containing the layered memory implementation (L3/L4 long-term storage) where bootstrap procedures were crystallized into reusable SOPs.
  • llmcore.py – Provides the LLM client wrapper used by the loop to generate the bootstrap code.
  • tests/ – Directory containing the test suite generated during the bootstrap to verify the agent's functionality.

Summary

The self-bootstrap proof in GenericAgent demonstrates a concrete implementation of autonomous software development:

  • Complete Autonomy – Every repository element, from git init to the final commit, was generated through tool calls (code_run, file_write) rather than human terminal commands.
  • Minimal Architecture – The ~100-line agent_loop.py and nine atomic tools in assets/tools_schema.json provide a small enough surface for the agent to understand and modify its own implementation.
  • Crystallized Knowledge – The layered memory system (memory/) stores bootstrap procedures as SOPs, enabling the agent to reuse its own creation methodology for future tasks.
  • Verifiable Claims – The proof is explicit in README.md and supported by the Git history and the agent's ability to replicate the process via agent_runner_loop.

Frequently Asked Questions

What exactly constitutes the self-bootstrap proof in GenericAgent?

The self-bootstrap proof is the explicit claim and demonstrated capability that GenericAgent created its own repository without human terminal interaction. According to the README at lines 19 and 210, the agent performed every action—from installing Git and running git init to writing every source file and commit message—using only its nine atomic tools defined in assets/tools_schema.json. The proof is considered complete because the Git history, documentation, and codebase themselves are the artifacts generated during this autonomous process.

How does GenericAgent execute Git commands without human intervention?

GenericAgent executes Git commands through the code_run tool defined in assets/tools_schema.json, which allows the agent to run arbitrary shell commands including git init, git add, and git commit. During the bootstrap process, the agent_runner_loop in agent_loop.py generated tool calls requesting the execution of these commands, dispatched them through the tool handler, and fed the stdout/stderr results back to the LLM for subsequent decision-making. This mechanism allowed the agent to maintain version control history while building its own codebase entirely through API calls rather than manual terminal input.

What is the role of the layered memory system in bootstrapping?

The layered memory system, implemented in the memory/ directory, enables the agent to crystallize bootstrap procedures into reusable Standard Operating Procedures (SOPs) stored in long-term memory layers (L3/L4). During the initial bootstrap, the agent learned specific execution paths—such as the sequence for initializing a Git repository or structuring a Python package—and stored these as crystallized skills rather than ephemeral conversation history. This allows GenericAgent to reuse the exact bootstrap methodology for future projects without re-learning the process, effectively creating a compounding knowledge base of its own creation techniques that persists across sessions.

Can the self-bootstrap process be replicated for other projects?

Yes, the self-bootstrap process can be replicated for other projects by invoking the agent_runner_loop from agent_loop.py with a system prompt instructing the agent to build a specific codebase using the nine atomic tools. The provided code example demonstrates how to configure the loop with the tool schema from assets/tools_schema.json and a client wrapper from llmcore.py to autonomously create files and execute Git commands. Because the architecture is minimal (~100 lines for the core loop) and the tools are system-agnostic (supporting Python, PowerShell, and shell commands), the same bootstrap methodology can be applied to initialize repositories in any programming language or framework.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →