https://github.com/ba-calderonmorales/rust-terminal-forge
Lovable Experiment: terminal that you can run rust commands in the browser!
https://github.com/ba-calderonmorales/rust-terminal-forge
codex command-line debug github learning online-terminal pages rust typescript
Last synced: about 2 months ago
JSON representation
Lovable Experiment: terminal that you can run rust commands in the browser!
- Host: GitHub
- URL: https://github.com/ba-calderonmorales/rust-terminal-forge
- Owner: BA-CalderonMorales
- Created: 2025-06-07T02:35:21.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-13T04:19:40.000Z (7 months ago)
- Last Synced: 2025-12-14T17:07:04.610Z (6 months ago)
- Topics: codex, command-line, debug, github, learning, online-terminal, pages, rust, typescript
- Language: TypeScript
- Homepage: https://ba-calderonmorales.github.io/rust-terminal-forge/
- Size: 5.33 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Security: SECURITY_AUDIT_REPORT.md
- Roadmap: docs/ROADMAP.md
Awesome Lists containing this project
README
# Rust Terminal Forge
A professional web-based terminal application built with Rust and React, featuring industry-grade UI design and enterprise-level functionality.
## Overview
Rust Terminal Forge delivers a production-ready terminal interface that rivals VS Code, GitHub Codespaces, and other professional development environments. Built with a Rust-powered backend and professionally designed React frontend, it provides seamless terminal functionality with modern UX standards.
## Recent Updates
**v2.0 Professional UI Redesign** - Complete visual overhaul implementing:
- Industry-standard design system with professional typography (JetBrains Mono)
- Consolidated CSS architecture for improved performance and maintainability
- Mobile-first responsive design with proper touch controls
- Comprehensive TDD test suite with visual regression testing
- Production CI/CD pipeline with automated quality checks
## Quick Start
### Prerequisites
- Node.js 18.0+
- Rust 1.75+
- Git
### Local Development
```bash
# Clone the repository
git clone https://github.com/rust-terminal-forge/rust-terminal-forge.git
cd rust-terminal-forge
# Install dependencies and start development
npm install
npm run dev
# Access the application at http://localhost:8080
```
## Architecture
The application consists of three main components:
- **Frontend** (React + TypeScript): User interface and terminal emulation
- **HTTP Server** (Rust): REST API for application logic
- **PTY Server** (Rust): WebSocket-based pseudo-terminal handling
## Development
### Available Scripts
- `npm run dev` - Start all development servers
- `npm run build` - Create production build
- `npm run test` - Run test suite
- `npm run lint` - Check code quality
- `npm run typecheck` - Validate TypeScript
### Project Structure
```
rust-terminal-forge/
├── src/ # Frontend React application
│ ├── components/ # Reusable UI components
│ ├── home/ # Main application views
│ └── hooks/ # Custom React hooks
├── server/ # Rust backend services
│ ├── http/ # HTTP API server
│ ├── pty/ # PTY WebSocket server
│ └── shared/ # Common utilities
├── tests/ # Test files
└── docs/ # Documentation
```
## Features
### Professional UI Design
- **Industry-grade interface** inspired by VS Code and GitHub Codespaces
- **Professional typography** using JetBrains Mono and Inter font families
- **Design token system** with consistent spacing, colors, and shadows
- **Theme system** with light/dark modes and professional color palettes
- **Zero overlapping elements** with proper CSS Grid layout architecture
- **Mobile-optimized** with touch-friendly controls and responsive breakpoints
### Terminal Functionality
- Real PTY (pseudo-terminal) backend with WebSocket communication
- Multi-tab terminal sessions with professional tab management
- Full ANSI color support with 256-color terminal emulation
- Command history with persistent session storage
- Professional terminal cursor with smooth animations
- Copy/paste functionality with keyboard shortcuts
### Development Features
- Hot module replacement for fast development iteration
- TypeScript support with strict type checking
- Comprehensive TDD test suite with 90%+ coverage
- Visual regression testing with Puppeteer
- ESLint and Prettier integration with production-grade rules
- Automated accessibility testing and validation
## Testing
The project uses Test-Driven Development (TDD) methodology:
```bash
# Run all tests
npm run test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage
```
## Contributing
1. Fork the repository
2. Create a feature branch: `git checkout -b feature/new-feature`
3. Make your changes with tests
4. Run quality checks: `npm run lint && npm run typecheck && npm run test`
5. Submit a pull request
See [docs/DEVELOPER_ONBOARDING.md](./docs/DEVELOPER_ONBOARDING.md) for detailed setup instructions.
## Documentation
### Core Documentation
- [Documentation Index](./docs/README.md) - Complete documentation overview
- [Architecture Guide](./docs/ARCHITECTURE.md) - System design and patterns
- [Developer Onboarding](./docs/DEVELOPER_ONBOARDING.md) - Setup and contribution guide
### Implementation Reports
- [UI Redesign Completion](./docs/reports/UI_REDESIGN_COMPLETION_REPORT.md) - Professional UI overhaul summary
- [Clean UI Architecture](./docs/reports/CLEAN_UI_ARCHITECTURE_REPORT.md) - CSS consolidation methodology
- [TDD Implementation](./docs/reports/TDD-IMPLEMENTATION-REPORT.md) - Testing strategy and coverage
- [Production Readiness](./docs/reports/PRODUCTION_READINESS_REPORT.md) - Deployment preparation
## Browser Support
- Chrome/Chromium 90+
- Firefox 88+
- Safari 14+
- Edge 90+
## License
MIT License - see [LICENSE](./LICENSE) for details.
## Who This Helps
Rust Terminal Forge is designed for:
- **Developers** who need a reliable web-based terminal for local development
- **Teams** looking for consistent development environments across different machines
- **Educators** teaching terminal usage and command-line tools
- **Anyone** who prefers browser-based development tools
The project focuses on providing a solid foundation for terminal-based development workflows while maintaining compatibility with standard shell environments.