FullAgent /
fulling
Fulling is an AI-powered Full-stack Engineer Agent. Built with Next.js, Claude, shadcn/ui, and PostgreSQL. Use kubernetes as infra.
Loading repository data…
AralAutomata / repository
Full Stack Agentic AI Pipeline for Educational Use: Deno runs the LangChain/LLM agent backend + Bun runs the Next.js UI + SQLite database for audit and history + Per-entity memory and immutable snapshots logged as JSON provide continuity across run cycles + TypeScript Fun Time
This repository is a demo MVP of an automated educational assistant that:
It is designed for workshop/demo workflows where you want a clear separation between:
Additional reference material is in docs/ (API contract and examples).
src/): scheduled analysis pipeline + HTTP API server.apps/chat-ui/): Next.js App Router UI with API route proxies.packages/shared-types/): TypeScript interfaces + Zod schemas used by both UI and API.students.json (student records) and teacher_rules.json (optional teacher preferences).scripts/dev.sh runs API + UI together.tests/ validates analyzer, validator, and insight parsing.cp .env.example .env
# edit .env and set OPENAI_API_KEY
deno task serve
cd apps/chat-ui
bun install
echo 'DENO_AGENT_URL=http://localhost:8000' > .env.local
bun run dev
http://localhost:3000.If you prefer, run both services together:
./scripts/dev.sh
@langchain/openai)HISTORY_DB_PATH, default data/history.db)MEMORY_DIR, default memory/)EMAIL_OUT_DIR)Notes:
--allow-ffi.DENO_DIR=.deno_dir so Deno caches (including FFI artifacts) live inside the repo for easier demos.# Clone repository
git clone <repository-url>
cd ai-education-agent
# Configure environment
cp .env.example .env
# Edit .env with your OpenAI API key and settings
Required environment variables in .env:
OPENAI_API_KEY - OpenAI API authentication keyOptional configuration:
OPENAI_MODEL - model name (default: gpt-4)OPENAI_BASE_URL - optional base URL for OpenAI-compatible providersOPENAI_PRICE_INPUT_PER_1K / OPENAI_PRICE_OUTPUT_PER_1K - optional pricing values used to compute usage.costUsd for chat responsesSTUDENTS_JSON_PATH - student data file path (default: students.json)TEACHER_RULES_PATH - optional teacher preferences JSON path (default: teacher_rules.json if set)HISTORY_DB_PATH - SQLite history database path (default: data/history.db)MEMORY_DIR - directory for memory files (default: memory)MEMORY_HISTORY_LIMIT - number of memory history entries retained (default: 5)EMAIL_OUT_DIR - directory for saving “email output” files (if empty, emails are only logged)SCHEDULE_CRON - cron expression (takes precedence if set)SCHEDULE_INTERVAL_MIN - interval fallback in minutes (default: 30)LOG_LEVEL - debug | info | warn | error (default: info)API_HOST - host (default: 0.0.0.0)API_PORT - port (default: 8000)API_CORS_ORIGIN - * or comma-separated origin allowlist (default: *)Frontend configuration:
DENO_AGENT_URL from apps/chat-ui/.env.local (or process env) and proxies all browser traffic through /api/*.JSON array with required fields per student:
{
"id": "S001",
"name": "Student Name",
"email": "student@example.com",
"grades": [{"subject": "Math", "score": 85}],
"participationScore": 7,
"assignmentCompletionRate": 90,
"teacherNotes": "Notes",
"performanceTrend": "improving",
"lastAssessmentDate": "2024-09-01"
}
Validation rules (enforced by src/validator.ts):
grades[].score must be 0..100participationScore must be 1..10assignmentCompletionRate must be 0..100performanceTrend must be improving | stable | decliningemail must match a basic email patternlastAssessmentDate must be parseable as a dateIDs matter:
/v1/students to populate the student dropdown, and the selected studentId is sent to chat requests.students.json match what you expect to use in chat (e.g. S001, S002, ...).deno task start
This runs the scheduled “tool-first” analysis pipeline (src/run_with_tool.ts):
Terminate with Control‑C.
Run the Deno HTTP API (chat + analysis triggers):
deno task serve
API documentation is in docs/api-contract.md (includes /v1/config and /v1/students for safe runtime settings and student lists).
The server is a lightweight Deno HTTP service built on Deno.serve. It acts as the boundary between the UI and the analysis pipeline, enforcing role rules, attaching memory summaries, and returning only safe configuration values. Chat requests are handled synchronously, while analysis runs are triggered on-demand through /v1/analyze without interrupting the UI.
Requests and responses are JSON-first and include consistent error shapes so the UI can surface clear messages. CORS handling is configurable via API_CORS_ORIGIN, and the service loads configuration once on startup to keep request handling fast and deterministic.
This summary lists the high-level API surface area used by the UI and operational tooling:
GET /health - health check for the Deno service.POST /v1/chat - role-based chat responses (student/teacher/admin).POST /v1/analyze - trigger a full analysis run.GET /v1/history - recent analysis run history.GET /v1/students - student list (id + name + email).GET /v1/students/{id} - student memory + latest insights.GET /v1/config - safe runtime config values for the UI.Responses are designed to be safe for client display, omitting secrets while keeping operational context such as schedule cadence and model name.
Side note: what
/v1/means
The/v1/*prefix is API versioning. It marks “version 1” of the Deno backend’s HTTP contract (e.g.POST /v1/chat,GET /v1/config). Versioning makes it possible to introduce a future/v2/*with breaking changes while keeping/v1/*stable for existing clients. In this repo, the browser usually calls Next.js proxy routes under/api/*, and those server routes forward requests to the Deno backend’s/v1/*endpoints.
POST /v1/chat
admin: system-only; studentId is rejected.teacher: requires studentId and loads the student’s memory summary.student: uses studentId (or falls back to userId) to resolve the student profile and load memory.src/chat_agent.ts.{ reply, memoryUpdated, usage? } where usage is extracted from LangChain metadata when available.POST /v1/analyze
runOnce(...) from src/run_with_tool.ts.scope: all is supported).GET /v1/history
runs table), newest first.?limit= to control the number of entries (default 25).GET /v1/students
students.json, validates records, and returns a safe index: { id, name, email }.GET /v1/students/{id}
From a separate terminal:
cd apps/chat-ui
bun install
bun run dev
Set DENO_AGENT_URL in apps/chat-ui/.env.local to point at the Deno API (default http://localhost:8000).
To launch both services together, use:
./scripts/dev.sh
The UI uses the Next.js App Router and ships API route proxies (apps/chat-ui/app/api/*) so the browser never calls the Deno server directly. This keeps the dev workflow simple and avoids CORS issues while still letting you deploy the UI separately if needed.
The UI includes:
/v1/config)./v1/chat response metadata).Student selection is driven by /v1/students, so the UI can always address learners by name and avoid ambiguous IDs. The config panel surfaces runtime values like model, schedule, memory limits, and history path to help you validate that the backend is running with the expected settings.
Smart prompts are scoped to the active role and act as quick-starts for common questions. For example, teacher prompts are oriented around coaching plans and classroom strategies, while admin prompts request system status and run health.
The UI never calls the Deno server from the browser. Instead:
POST /api/chat, GET /api/students, GET /api/configDENO_AGENT_URL (default http://localhost:8000)This keeps API keys and Deno-only concerns (permissions, file I/O, SQLite) on the backend side.
This project intentionally splits responsibilities between two runtimes:
The two runtimes communicate over HTTP. The Next.js API routes (apps/chat-ui/app/api/*) act as a local proxy layer:
/v1/chat, /v1/config, /v1/students).This proxy pattern keeps the UI decoupled from the backen
Selected from shared topics, language and repository description—not editorial ratings.
FullAgent /
Fulling is an AI-powered Full-stack Engineer Agent. Built with Next.js, Claude, shadcn/ui, and PostgreSQL. Use kubernetes as infra.
vstorm-co /
Full-stack AI app generator — FastAPI + Next.js with AI Agents, RAG, streaming, auth, and 20+ integrations out of the box.
modelence /
Modelence is a full-stack framework for building production web apps with a built-in database, authentication and monitoring. Modelence is opinionated and AI agent-first, which means it's optimized for AI code generation with built-in guardrails.
aws-devtools-labs /
Composable building blocks for full-stack AWS apps — define infrastructure and runtime code together with end-to-end type safety using TypeScript, local mocking, and native client codegen for Kotlin, Swift, and Dart.
yonatangross /
The Complete AI Development Toolkit for Claude Code — 114 skills, 37 agents, 212 hooks. Production-ready patterns for full-stack development.
faasjs /
🚀 FaasJS is an agent-friendly full-stack TypeScript framework for building predictable, type-safe applications with minimal dependencies.