How iamakashtechie/ai-agent-crud-todo works
This is a terminal-based AI todo agent. A user enters natural-language requests; the ReAct loop in index.js sends conversation history to an OpenAI-compatible Gemini endpoint, dispatches requested tools, returns database results as observations, and prints the final answer. The tools implement list, create, search, and delete against PostgreSQL through Drizzle. README documents OpenRouter as an alternative and explains that updates are simulated with search, delete, and recreate. Source excerpts show the loop and database operations; other relationships are omitted where wiring was not shown.
Main entry points: index.js ReAct loop · db/index.js Drizzle client · schema.js Todo schema
Components 10
Agent interaction
- ReAct loop
index.js - LLM provider
Todo operations
- List todos
index.js - Create todo
index.js - Search todos
index.js - Delete todo
index.js
Persistence
- Drizzle client
db/index.js - Todo schema
db/schema.js - PostgreSQL
Other components
- User
Connections 17
- User → ReAct loop: enters request
index.js - ReAct loop → LLM provider: sends prompt
index.js - LLM provider → ReAct loop: returns response
index.js - ReAct loop → List todos: dispatches tool
index.js - ReAct loop → Create todo: dispatches tool
index.js - ReAct loop → Search todos: dispatches tool
index.js - ReAct loop → Delete todo: dispatches tool
index.js - ReAct loop → User: prints answer
index.js - List todos → Drizzle client: queries
index.js - Create todo → Drizzle client: inserts row
index.js - Search todos → Drizzle client: queries
index.js - Delete todo → Drizzle client: deletes row
index.js - List todos → Todo schema: uses table
index.js - Create todo → Todo schema: uses table
index.js - Search todos → Todo schema: uses table
index.js - Delete todo → Todo schema: uses table
index.js - Drizzle client → PostgreSQL: connects to
db/index.js