warp-alternative is a modern web terminal with intelligent agents, dark mode UI, and autonomous TDD_AGENT. This is a community-driven open source project—your contributions are welcome!
- Dark mode UI with collapsible sidebar
- Tab navigation (Terminal, Chat, Agents)
- Real-time status bar and service indicators
- xterm.js terminal with WebSocket and custom theme
- Interactive agent system (run, stop, visual feedback)
- 30+ Jest unit and integration tests
- TypeScript & ESLint support
- TDD_AGENT: Autonomous agent that decomposes goals, generates tests, implements and refines code until all tests pass
warp-alternative/
├── src/
│ ├── components/ # React components
│ │ ├── terminal/ # Terminal UI
│ │ ├── chat/ # Chat interface
│ │ ├── agents/ # Agent management
│ │ └── ui/ # Reusable UI components
│ ├── lib/ # Core libraries
│ │ ├── agent/ # Autonomous TDD_AGENT
│ │ ├── api/ # API clients (DeepSeek, etc.)
│ │ ├── mcp/ # Model Context Protocol
│ │ ├── rag/ # RAG system
│ │ ├── memory/ # Memory system
│ │ ├── search/ # Web search
│ │ └── codebase/ # Codebase analyzer
│ ├── hooks/ # Custom React hooks
│ ├── stores/ # Global state (Zustand)
│ ├── types/ # TypeScript types
│ └── utils/ # Utilities
├── server/ # Backend servers
│ ├── terminal-server.js # WebSocket terminal server
│ └── package.json # Server dependencies
├── public/ # Static assets
└── .env.example # Example environment config
# Clone the repository
git clone https://github.com/cadot-eu/warp-alternative.git
cd warp-alternative
# Install dependencies
npm install
Copy .env.example
to .env.local
and fill in your API keys:
cp .env.example .env.local
# Edit .env.local with your credentials
# Start the Next.js development server
npm run dev
# In another terminal, start the WebSocket terminal server
npm run terminal-server
The application will be available at http://localhost:3000
# Build the application
npm run build
# Start the production server
npm start
# Don't forget to also run the terminal server
npm run terminal-server
# Run all tests
npm test
# Run tests in watch mode (for development)
npm run test:watch
# Run tests with coverage report
npm run test:coverage
# Lint the codebase
npm run lint
import { AutonomousTDDAgent } from '@/lib/tdd-agent/autonomous-tdd-agent';
import { ObjectiveInput } from '@/lib/tdd-agent/types';
const objective: ObjectiveInput = {
title: "Docker web app with DB",
description: "Create a Node.js REST API with PostgreSQL",
context: "Express.js, TypeORM, full test coverage",
constraints: ["Coverage > 80%", "Docker image < 500MB"],
targetTechnology: ["Node.js", "TypeScript", "Docker", "PostgreSQL"],
complexity: "complex"
};
const agent = new AutonomousTDDAgent(
aiClient,
'./my-project',
(state) => console.log(`Progress: ${state.iterationCount} iterations`)
);
const result = await agent.executeObjective(objective);
console.log(`Done! ${result.passedTests}/${result.totalTests} tests passed`);
This project is community-driven! Fork, improve, and submit your pull requests. All ideas, bug fixes, and enhancements are welcome.
How to contribute:
- Fork the repository
- Clone your fork
- Create a feature branch
- Submit a pull request
Ideas for improvement:
- Add new agents or features
- Optimize the UI
- Improve documentation
- Add more tests or examples
- Fix bugs or security issues
Do not include sensitive files, personal configs, or internal folders (lib/
, .env
, etc.) in your pull requests.
MIT License
Open an issue or contact the maintainer for questions or suggestions.