{"id":32669198,"url":"https://github.com/goodboy008/r-shell","last_synced_at":"2026-02-28T07:10:40.530Z","repository":{"id":321560319,"uuid":"1086295581","full_name":"GOODBOY008/r-shell","owner":"GOODBOY008","description":"🚀 A modern SSH client built with Tauri, React \u0026 Rust. AI-powered development: Frontend generated from Figma Make, developed with GitHub Copilot. Features multi-session management, file browser, system monitoring \u0026 more.","archived":false,"fork":false,"pushed_at":"2026-02-04T07:34:45.000Z","size":8820,"stargazers_count":13,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-06T00:30:18.572Z","etag":null,"topics":["ai-assisted","desktop-app","figma","github-copilot","react","rust","sftp","ssh-client","system-monitor","tauri","terminal","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/GOODBOY008/r-shell","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GOODBOY008.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":null,"dco":null,"cla":null}},"created_at":"2025-10-30T08:16:36.000Z","updated_at":"2026-02-04T07:34:48.000Z","dependencies_parsed_at":"2025-10-30T10:32:40.339Z","dependency_job_id":null,"html_url":"https://github.com/GOODBOY008/r-shell","commit_stats":null,"previous_names":["goodboy008/r-shell"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/GOODBOY008/r-shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GOODBOY008%2Fr-shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GOODBOY008%2Fr-shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GOODBOY008%2Fr-shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GOODBOY008%2Fr-shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GOODBOY008","download_url":"https://codeload.github.com/GOODBOY008/r-shell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GOODBOY008%2Fr-shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29219378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T03:18:47.732Z","status":"ssl_error","status_checked_at":"2026-02-08T03:15:31.985Z","response_time":57,"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-assisted","desktop-app","figma","github-copilot","react","rust","sftp","ssh-client","system-monitor","tauri","terminal","typescript"],"created_at":"2025-11-01T02:02:02.443Z","updated_at":"2026-02-08T04:03:01.403Z","avatar_url":"https://github.com/GOODBOY008.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\n# R-Shell - SSH Client Application\n\n[![GitHub license](https://img.shields.io/github/license/GOODBOY008/r-shell)](https://github.com/GOODBOY008/r-shell/blob/main/LICENSE)\n[![Test](https://github.com/GOODBOY008/r-shell/actions/workflows/test.yml/badge.svg)](https://github.com/GOODBOY008/r-shell/actions/workflows/test.yml)\n[![Release](https://github.com/GOODBOY008/r-shell/actions/workflows/release.yml/badge.svg)](https://github.com/GOODBOY008/r-shell/actions/workflows/release.yml)\n[![GitHub stars](https://img.shields.io/github/stars/GOODBOY008/r-shell)](https://github.com/GOODBOY008/r-shell/stargazers)\n[![GitHub issues](https://img.shields.io/github/issues/GOODBOY008/r-shell)](https://github.com/GOODBOY008/r-shell/issues)\n[![GitHub forks](https://img.shields.io/github/forks/GOODBOY008/r-shell)](https://github.com/GOODBOY008/r-shell/network)\n[![Tauri](https://img.shields.io/badge/Tauri-2.0-blue?logo=tauri)](https://tauri.app/)\n[![React](https://img.shields.io/badge/React-19-61dafb?logo=react)](https://react.dev/)\n[![Rust](https://img.shields.io/badge/Rust-Latest-orange?logo=rust)](https://www.rust-lang.org/)\n\nA modern, feature-rich SSH client application built with React, TypeScript, and Tauri.\n\n[Features](#features) • [Installation](#getting-started) • [Documentation](#documentation) • [Contributing](CONTRIBUTING.md) • [License](LICENSE)\n\n\u003c/div\u003e\n\n---\n\n## 📸 Screenshots\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"screenshots/app-screenshot.png\" alt=\"R-Shell Application Screenshot\" width=\"100%\"\u003e\n  \u003cp\u003e\u003ci\u003eR-Shell's modern and intuitive interface\u003c/i\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n---\n\n## 🎯 Project Purpose\n\nThis project is a **learning and practice project for vibe coding** methodology. It demonstrates:\n\n- 🎨 **AI-Generated Frontend**: The entire frontend UI is generated from Figma designs using [Figma Make](https://www.figma.com/make/uUd7WO54vPnv03SmioKWqj/SSH-Client-Application?node-id=0-1\u0026t=ZzB8GvFKHeoUIZpw-1)\n- 🤖 **AI-Assisted Development**: The complete development process is powered by **GitHub Copilot**\n- 🚀 **Modern Workflow**: Experience the efficiency of AI-driven development with minimal manual coding\n\n\u003e **Note**: This is an experimental project to explore the capabilities and limitations of AI-assisted development workflows. The goal is to understand how far we can go with AI pair programming tools in building a complete desktop application.\n\u003e\n\u003e 📐 **View the Figma Design**: Check out the [Figma Make preview](https://www.figma.com/make/uUd7WO54vPnv03SmioKWqj/SSH-Client-Application?node-id=0-1\u0026t=ZzB8GvFKHeoUIZpw-1) to see how the frontend was generated.\n\n## Overview\n\nR-Shell is a desktop SSH client that provides a beautiful and intuitive interface for managing SSH connections, file transfers, and remote system monitoring. Built with modern web technologies and packaged as a native desktop application using Tauri.\n\n## Features\n\n### 🔌 Connection Management\n- **Multi-Connection Support**: Manage multiple SSH connections simultaneously with an intuitive tabbed interface\n- **Connection Profiles**: Save and organize your SSH connection profiles for quick access\n- **Connection Persistence**: Automatically save and restore your connections across application restarts\n- **Secure Authentication**: Support for password and SSH key-based authentication\n\n### 💻 Terminal Experience\n- **Full-Featured PTY Terminal**: Powered by xterm.js with complete terminal emulation\n- **Customizable Themes**: Choose from multiple terminal color schemes and appearance settings\n- **Keyboard Shortcuts**: Extensive keyboard shortcuts for improved productivity\n- **Terminal Addons**: Advanced features including search, web links, and fit addon support\n\n### 📁 File Management\n- **Integrated SFTP Browser**: Browse, upload, and download files directly from the interface\n- **Drag-and-Drop Support**: Easily transfer files between local and remote systems\n- **File Operations**: Complete file management with rename, delete, move, and permission editing\n- **Dual-Panel View**: Side-by-side local and remote file browsing\n\n### 📊 System Monitoring\n- **Real-Time Metrics**: Monitor CPU, memory, GPU, disk, and network usage in real-time\n- **GPU Monitoring**: Track NVIDIA and AMD GPU utilization, memory, temperature, and power consumption\n- **Resource Visualization**: Beautiful charts and graphs using Recharts\n- **Network Monitor**: Track network traffic and connection statistics\n- **Performance Logs**: View detailed system logs and application events\n\n### 🎨 User Interface\n- **Modern Design**: Clean and intuitive interface built with Radix UI primitives\n- **Responsive Layout**: Resizable panels and flexible workspace arrangement\n- **Dark/Light Themes**: Support for multiple UI themes\n- **Accessibility**: Built with accessibility in mind using WAI-ARIA compliant components\n\n### ⚡ Performance\n- **Native Speed**: Powered by Tauri for true native performance\n- **Low Memory Footprint**: Efficient resource usage compared to Electron-based alternatives\n- **Fast Startup**: Quick application launch and connection establishment\n- **Cross-Platform**: Works seamlessly on Windows, macOS, and Linux\n\n## Tech Stack\n\n### Frontend\n- **React 19**: Modern React with latest features\n- **TypeScript**: Type-safe development\n- **Tailwind CSS**: Utility-first CSS framework\n- **Radix UI**: Accessible component primitives\n- **Lucide Icons**: Beautiful icon set\n- **React Hook Form**: Form state management\n- **Recharts**: Data visualization\n\n### Backend/Desktop\n- **Tauri 2**: Build native desktop apps with web technologies\n- **Rust**: Fast and memory-efficient backend\n\n## Project Structure\n\n```\nr-shell/\n├── src/\n│   ├── components/         # React components\n│   │   ├── ui/            # Reusable UI components (Radix-based)\n│   │   ├── pty-terminal.tsx        # PTY terminal with xterm.js\n│   │   ├── integrated-file-browser.tsx  # SFTP file browser\n│   │   ├── connection-manager.tsx   # Connection management\n│   │   ├── system-monitor.tsx      # Real-time metrics\n│   │   ├── connection-dialog.tsx   # SSH connection form\n│   │   ├── connection-tabs.tsx     # Tab navigation\n│   │   ├── menu-bar.tsx            # Application menu\n│   │   ├── settings-modal.tsx      # Settings dialog\n│   │   └── ...                     # Other components\n│   ├── lib/               # Utility functions\n│   │   ├── connection-storage.ts   # Persistent connection profiles\n│   │   ├── terminal-config.ts      # Terminal appearance settings\n│   │   └── utils.ts                # Helper utilities\n│   ├── styles/            # Global styles\n│   ├── App.tsx            # Main application shell\n│   ├── main.tsx           # React entry point\n│   └── index.css          # Global CSS with Tailwind directives\n├── src-tauri/             # Tauri/Rust backend\n│   ├── src/\n│   │   ├── ssh/           # SSH/SFTP implementation\n│   │   ├── commands.rs    # Tauri command handlers\n│   │   ├── websocket_server.rs  # WebSocket terminal I/O\n│   │   ├── connection_manager.rs # Connection lifecycle\n│   │   ├── lib.rs         # Library setup\n│   │   └── main.rs        # Application entry\n│   ├── Cargo.toml         # Rust dependencies\n│   └── tauri.conf.json    # Tauri configuration\n├── docs/                  # Documentation\n└── index.html             # HTML entry point\n```\n\n## Installation\n\n### 🍺 Homebrew (macOS - Recommended)\n\nThe easiest way to install r-shell on macOS:\n\n```bash\n# Add the tap\nbrew tap GOODBOY008/tap\n\n# Install r-shell\nbrew install --cask r-shell\n```\n\n**Update to the latest version:**\n\n```bash\nbrew upgrade --cask r-shell\n```\n\n**Uninstall:**\n\n```bash\n# Remove the app\nbrew uninstall --cask r-shell\n\n# Remove all app data\nbrew uninstall --zap --cask r-shell\n```\n\n### 📦 Download Releases\n\nDownload pre-built binaries from the [Releases](https://github.com/GOODBOY008/r-shell/releases) page:\n\n- **macOS**: \n  - Apple Silicon: `r-shell_x.x.x_aarch64.dmg`\n  - Intel: `r-shell_x.x.x_x64.dmg`\n- **Windows**: `r-shell_x.x.x_x64-setup.exe`\n- **Linux**: `r-shell_x.x.x_amd64.AppImage` or `.deb`\n\n## Getting Started (Development)\n\n### Prerequisites\n\n- Node.js (v18 or higher)\n- pnpm (recommended) or npm\n- Rust and Cargo (for Tauri)\n\n### Build from Source\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/GOODBOY008/r-shell.git\ncd r-shell\n```\n\n2. Install dependencies:\n```bash\npnpm install\n```\n\n3. Run in development mode:\n```bash\n# Web only\npnpm run dev\n\n# Desktop with Tauri\npnpm tauri dev\n```\n\n### Building for Production\n\n```bash\n# Build web assets\npnpm run build\n\n# Build desktop application\npnpm tauri build\n```\n\n## Development\n\n### Available Scripts\n\n- `pnpm run dev` - Start Vite development server\n- `pnpm run build` - Build for production\n- `pnpm run preview` - Preview production build\n- `pnpm tauri dev` - Run Tauri app in development mode\n- `pnpm tauri build` - Build Tauri app for production\n\n### Key Components\n\n#### App.tsx\nMain application component that manages:\n- Connection state and tabs\n- Dialog modals (connection, SFTP, settings)\n- Layout with resizable panels\n- Connection selection and navigation\n\n#### Terminal Component\nProvides terminal emulation with:\n- Command input/output\n- Connection management\n- Terminal themes\n- Copy/paste support\n\n#### Connection Manager\nTree-view interface for:\n- Organizing connections into folders\n- Quick connection access\n- Edit, duplicate, and delete connections\n- Connection status indicators (green dot for active)\n\n#### File Browser\nIntegrated file management:\n- Remote file browsing\n- File upload/download\n- Drag-and-drop support\n- File operations (rename, delete, etc.)\n\n#### System Monitor\nReal-time monitoring:\n- CPU usage\n- Memory usage\n- Network statistics\n- Disk usage\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Additional Resources\n\n- [Tauri Documentation](https://tauri.app/)\n- [Tauri API Reference](https://tauri.app/v2/api/js/)\n- [React Documentation](https://react.dev/)\n- [Vite Documentation](https://vitejs.dev/)\n- [Rust Book](https://doc.rust-lang.org/book/)\n\n## 🤝 Contributing\n\nWe welcome contributions from the community! This project is an experiment in AI-assisted development, and we're excited to see how the community can enhance it.\n\n**Quick Links:**\n- [Contributing Guidelines](CONTRIBUTING.md) - How to contribute\n- [Code of Conduct](CODE_OF_CONDUCT.md) - Community guidelines\n- [Version Bump Guide](docs/VERSION_BUMP.md) - How to bump versions\n- [Layout Guide](LAYOUT_GUIDE.md) - Understanding the layout system\n- [Quick Start](QUICKSTART.md) - Development setup\n\n### How to Contribute\n\n1. **Fork the repository**\n2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)\n3. **Commit your changes** (`git commit -m 'feat: add amazing feature'`)\n4. **Push to the branch** (`git push origin feature/amazing-feature`)\n5. **Open a Pull Request**\n\nPlease read our [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md) before contributing.\n\n### Areas We Need Help\n\n- 🐛 Bug fixes and issue reports\n- 📝 Documentation improvements\n- ✨ Feature enhancements\n- 🧪 Test coverage\n- 🌐 Internationalization (i18n)\n- 🎨 UI/UX improvements\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🌟 Star History\n\nIf you find this project useful, please consider giving it a star! ⭐\n\n[![Star History Chart](https://api.star-history.com/svg?repos=GOODBOY008/r-shell\u0026type=Date)](https://star-history.com/#GOODBOY008/r-shell\u0026Date)\n\n## 💬 Community \u0026 Support\n\n- **Issues**: [GitHub Issues](https://github.com/GOODBOY008/r-shell/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/GOODBOY008/r-shell/discussions)\n- **Pull Requests**: [GitHub PRs](https://github.com/GOODBOY008/r-shell/pulls)\n\n## 🙏 Acknowledgments\n\n- Built with components from [shadcn/ui](https://ui.shadcn.com/)\n- UI design generated from [Figma Make](https://www.figma.com/make/)\n- Icons from [Lucide](https://lucide.dev/)\n- Powered by [GitHub Copilot](https://github.com/features/copilot)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ and 🤖 AI**\n\nIf you like this project, please give it a ⭐!\n\n\u003c/div\u003e\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodboy008%2Fr-shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoodboy008%2Fr-shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodboy008%2Fr-shell/lists"}