{"id":42039652,"url":"https://github.com/anubissbe/plato","last_synced_at":"2026-01-26T05:32:51.909Z","repository":{"id":315172366,"uuid":"1050355670","full_name":"anubissbe/plato","owner":"anubissbe","description":"Plato – Claude Code–style terminal AI assistant backed by GitHub Copilot. TUI/CLI with tool-call bridging, diffs, permissions, MCP.","archived":false,"fork":false,"pushed_at":"2026-01-17T02:54:12.000Z","size":1138,"stargazers_count":0,"open_issues_count":14,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-17T14:44:01.639Z","etag":null,"topics":["ai","claude-code","cli","copilot","developer-tools","git","ink","mcp","nodejs","terminal","tui","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anubissbe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-09-04T10:10:27.000Z","updated_at":"2025-09-08T08:30:01.000Z","dependencies_parsed_at":"2025-09-17T05:45:40.267Z","dependency_job_id":"a03f5865-e39b-4c8a-9c5b-619396dc67c6","html_url":"https://github.com/anubissbe/plato","commit_stats":null,"previous_names":["anubissbe/plato"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anubissbe/plato","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anubissbe%2Fplato","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anubissbe%2Fplato/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anubissbe%2Fplato/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anubissbe%2Fplato/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anubissbe","download_url":"https://codeload.github.com/anubissbe/plato/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anubissbe%2Fplato/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28767273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T03:54:34.369Z","status":"ssl_error","status_checked_at":"2026-01-26T03:54:33.031Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude-code","cli","copilot","developer-tools","git","ink","mcp","nodejs","terminal","tui","typescript"],"created_at":"2026-01-26T05:32:51.810Z","updated_at":"2026-01-26T05:32:51.890Z","avatar_url":"https://github.com/anubissbe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plato\n\n[![Pipeline Status](https://git.euraika.net/Bert/plato/badges/main/pipeline.svg)](https://git.euraika.net/Bert/plato/-/pipelines)\n[![Coverage Report](https://git.euraika.net/Bert/plato/badges/main/coverage.svg)](https://git.euraika.net/Bert/plato/-/commits/main)\n[![Coverage Status](https://img.shields.io/badge/coverage-93%25-brightgreen.svg)](coverage/)\n[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](CHANGELOG.md)\n[![License](https://img.shields.io/badge/license-Proprietary-red.svg)](LICENSE)\n[![Last Commit](https://git.euraika.net/Bert/plato/badges/main/last_commit.svg)](https://git.euraika.net/Bert/plato/-/commits/main)\n\nStatus: v1.0.0 - Production Ready with Enhanced TUI Experience\n\n## 🚀 Overview\n\nPlato is an advanced AI-powered terminal coding assistant that provides a Claude Code–compatible experience with enhanced visual features, accessibility, and performance optimizations. It seamlessly integrates with GitHub Copilot while offering a modern, responsive terminal user interface.\n\n### ✨ Key Features\n\n- **Enhanced TUI Experience**: Multi-panel layouts, visual indicators, and smooth animations\n- **AI Integration**: GitHub Copilot authentication with multiple model support\n- **Tool Bridge System**: MCP (Model Context Protocol) server integration for extended capabilities\n- **Smart Memory**: Persistent conversation memory with intelligent compaction\n- **Accessibility First**: Full WCAG 2.1 AA compliance with screen reader support\n- **Performance Optimized**: \u003c50ms input latency, 60fps scrolling, efficient memory usage\n- **Advanced Input**: Customizable keyboard shortcuts, command palette, and search modes\n- **Visual Excellence**: Syntax highlighting, theme system, and responsive layouts\n\n## 📦 Installation\n\n### Prerequisites\n- Node.js 18 or higher\n- npm 8 or higher\n- Git (for patch operations)\n\n### Quick Setup\n\n```bash\n# Clone the repository\ngit clone https://git.euraika.net/Bert/plato.git\ncd plato\n\n# Install dependencies\nnpm ci\n\n# Build the project\nnpm run build\n\n# Start in development mode\nnpm run dev\n```\n\n## 🎯 Quick Start\n\n### Initial Setup\n1. **Start Plato**: `npm run dev`\n2. **Authenticate**: Run `/login` in the TUI for GitHub Copilot authentication\n3. **Verify Setup**: Run `/doctor` to check system status\n4. **Start Chatting**: Simply type your message and press Enter\n\n### Essential Commands\n- `/help` - Show available commands\n- `/status` - Display authentication and system status\n- `/model` - Switch between AI models\n- `/memory save` - Save current conversation\n- `/compact` - Optimize long conversations\n- `/resume` - Restore previous session\n\n## 🛠️ Advanced Features\n\n### Multi-Panel Layout System\n- **Main Chat Panel**: Primary conversation interface (60-70% width)\n- **Status Panel**: Real-time metrics and system information (30-40% width)\n- **Info Panel**: Context display and tool output visualization\n- **Keyboard Control**: \n  - `Ctrl+1/2/3` - Switch between panels\n  - `F1` - Toggle status panel\n  - `F2` - Expand input area\n  - `F3` - Switch layout modes\n\n### MCP Tool Integration\n```bash\n# Attach an MCP server\n/mcp attach \u003cname\u003e \u003curl\u003e\n\n# List available tools\n/mcp tools\n\n# Configure permissions\n/permissions default fs_patch allow\n/apply-mode auto\n```\n\n### Performance Features\n- **Virtual Scrolling**: Efficient rendering for large conversations\n- **Smart Caching**: Intelligent response and memory caching\n- **Batch Operations**: Optimized multi-file operations\n- **Progressive Loading**: On-demand content loading\n\n### Accessibility Support\n- **Screen Reader Compatible**: Full ARIA implementation\n- **Keyboard Navigation**: Complete keyboard-only operation\n- **High Contrast Mode**: Customizable color schemes\n- **Focus Management**: Clear focus indicators and logical tab order\n\n## 🔧 Configuration\n\n### Environment Variables\n```bash\nPLATO_CONFIG_DIR=~/.plato          # Configuration directory\nPLATO_LOG_LEVEL=info               # Logging level\nPLATO_MEMORY_DIR=.plato/memory     # Memory storage location\nNODE_ENV=production                # Environment mode\n```\n\n### Custom Commands\nCreate custom commands in `.plato/commands/`:\n```json\n{\n  \"name\": \"my-command\",\n  \"description\": \"Custom command description\",\n  \"script\": \"echo 'Hello from custom command!'\"\n}\n```\n\n### Output Styles\nChoose from built-in styles or create custom ones:\n- `/output-style default` - Standard formatting\n- `/output-style minimal` - Compact output\n- `/output-style technical` - Detailed technical output\n- `/output-style emoji` - Enhanced with emojis\n\n## 🐳 Docker Support\n\n### Using Docker Compose\n```bash\n# Start all services\ndocker-compose up -d\n\n# Run in development mode\ndocker-compose run plato npm run dev\n\n# Stop services\ndocker-compose down\n```\n\n### Building Docker Image\n```bash\n# Build the image\ndocker build -t plato:latest .\n\n# Run the container\ndocker run -it --rm plato:latest\n```\n\n## 🧪 Testing\n\n```bash\n# Run all tests\nnpm test\n\n# Run with coverage\nnpm run test:coverage\n\n# Watch mode for development\nnpm run test:watch\n\n# Specific test suites\nnpm run test:unit\nnpm run test:integration\nnpm run test:e2e\n```\n\n## 📊 Performance Benchmarks\n\n| Metric | Target | Achieved |\n|--------|--------|----------|\n| Input Latency | \u003c50ms | ✅ 35ms |\n| Panel Updates | \u003c100ms | ✅ 75ms |\n| Scroll FPS | 60fps | ✅ 60fps |\n| Memory (Idle) | \u003c50MB | ✅ 42MB |\n| CPU (Idle) | \u003c5% | ✅ 3% |\n| Test Coverage | \u003e80% | ✅ 93% |\n\n## 🏗️ Architecture\n\n### Component Structure\n```\nsrc/\n├── tui/                    # Terminal UI components\n│   ├── panels/            # Layout panels\n│   ├── visual/            # Visual components\n│   ├── accessibility/     # Accessibility features\n│   └── performance/       # Performance optimizations\n├── providers/             # AI provider integrations\n├── tools/                 # Tool implementations\n├── memory/                # Memory management\n├── commands/              # Command system\n└── runtime/               # Runtime orchestration\n```\n\n### Technology Stack\n- **Framework**: React + Ink (Terminal UI)\n- **Language**: TypeScript\n- **Testing**: Jest\n- **Build**: TypeScript Compiler\n- **CI/CD**: GitLab CI with Auto DevOps\n\n## 🚀 CI/CD Pipeline\n\n### Pipeline Stages\n1. **Build**: Compile TypeScript and create artifacts\n2. **Test**: Run unit, integration, and e2e tests\n3. **Quality**: Code quality, security scanning, performance checks\n4. **Deploy**: Automated deployment to staging/production\n\n### Auto DevOps Features\n- Container scanning\n- Dependency scanning\n- SAST (Static Application Security Testing)\n- Code quality analysis\n- Review apps for merge requests\n- Kubernetes deployment support\n\n## 📚 Documentation\n\n- [Installation Guide](wiki/Installation.md)\n- [Quick Start Tutorial](wiki/Quick-Start.md)\n- [API Reference](docs/api.md)\n- [Contributing Guidelines](CONTRIBUTING.md)\n- [Architecture Overview](docs/architecture.md)\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on:\n- Code style and standards\n- Testing requirements\n- Commit message format\n- Merge request process\n\n## 📄 License\n\nThis project is proprietary software. All rights reserved. See [LICENSE](LICENSE) for details.\n\n## 🔗 Links\n\n- **Repository**: [git.euraika.net/Bert/plato](https://git.euraika.net/Bert/plato)\n- **Issues**: [Issue Tracker](https://git.euraika.net/Bert/plato/-/issues)\n- **Wiki**: [Project Wiki](https://git.euraika.net/Bert/plato/-/wikis/home)\n- **CI/CD**: [Pipelines](https://git.euraika.net/Bert/plato/-/pipelines)\n\n## 🙏 Acknowledgments\n\nBuilt with modern web technologies and best practices for terminal applications. Special focus on accessibility, performance, and user experience.\n\n---\n\n© 2025 Bert (Owner). All Rights Reserved.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanubissbe%2Fplato","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanubissbe%2Fplato","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanubissbe%2Fplato/lists"}