This project implements an autonomous agent that can perform tasks based on instructions provided in INPUT.md. It uses the Gemini API to process tasks, manage files, and interact with the environment.
The agent operates in a loop:
- Reads tasks from
TASKS.md. - Processes each task using the Gemini API.
- Updates
TASKS.mdto reflect the completion status. - If there are TODOs in the code, it creates new tasks in
TASKS.mdto address them. - Once all tasks are complete and there are no TODOs, it generates a wiki.
- Set the
GEMINI_API_KEYenvironment variable. - Create an
INPUT.mdfile with a list of tasks. - Run the agent:
go run main.go [working_directory](optional working directory).
INPUT.md: Contains the initial list of tasks.TASKS.md: Contains the current list of tasks with completion status.main.go: The main entry point of the application.agent.go: Contains the agent's core logic.tools.go: Defines the available tools for the agent.wiki.go: Generates the project wiki.
MIT