MagiTerm is an AI-powered terminal simulator that allows you to execute commands, explore fictional systems, and interact with any hardware or software configuration you can dream up.
- Invent Custom Systems: Design impossible hardware configurations - a 10,000-core CPU, fictional OSes, or any system you can imagine
- No Tedious Environment Installs: A risk-free, cost-free environment to explore different operating systems and their commands
- AI-Powered Command Execution: Execute terminal commands in a simulated environment powered by GPT models
- Command Explanations: Get detailed explanations of command syntax and behavior
- Smart Suggestions: Generate command suggestions from natural language goals
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- shadcn/ui - Beautiful UI components built on Radix UI
- PostgreSQL - Primary database (via Supabase)
- Prisma - Type-safe ORM
- GraphQL Yoga - GraphQL server
- Relay - Efficient GraphQL client
- OpenAI Agents SDK - Structured AI agent execution with GPT models
- Shiki - Syntax highlighting
- Supabase - Authentication and database hosting
- Node.js
- npm or yarn
- PostgreSQL database (Supabase recommended)
- OpenAI API key
-
Clone the repository
git clone https://github.com/Kira-Pgr/MagiTerm.git cd MagiTerm -
Install dependencies
npm install --legacy-peer-deps
Note:
--legacy-peer-depsis required due to Relay peer dependencies. -
Set up environment variables
cp .env.example .env.local
Edit
.env.localand configure the following variables:# Database DATABASE_URL="postgresql://user:password@host:5432/database" # Supabase NEXT_PUBLIC_SUPABASE_URL=your-supabase-project-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key # OpenAI OPENAI_API_KEY=your-openai-api-key # Agent Configuration (optional) AGENT_MODEL_EXECUTE=gpt-5.1 AGENT_MODEL_EXPLAIN=gpt-5.1 AGENT_MODEL_SUGGEST=gpt-5.1
-
Set up the database
If using Supabase:
- Create a new Supabase project
- Navigate to the SQL Editor
- Run the SQL from
db.sql
If using a local PostgreSQL:
psql -U your_user -d your_database -f db.sql
-
Generate Prisma client
npm run prisma:generate
Start the development server:
npm run devOpen http://localhost:3000 in your browser.
- Add streaming response for AI
- Add Email template
- Improve UI/UX