AI-Powered Coding Assistant for Remote Servers via SSH
Features β’ Architecture β’ Getting Started β’ Documentation
Claude Code Mobile brings the power of AI-assisted coding to your mobile device. Connect to remote servers via SSH and interact with Claude AI to perform software engineering tasksβall without installing anything on the server.
- π Secure SSH Connection - Connect to any remote server with password or key-based authentication
- π€ AI-Powered Assistance - Full Claude AI integration for coding tasks
- π Remote File Operations - Read, write, and edit files on remote servers
- π¨ Modern Dark Theme - Beautiful, eye-friendly interface
- πΎ Session Persistence - Save and resume conversations
- π§ Multiple AI Providers - Support for Anthropic, AWS Bedrock, Google Vertex, and custom endpoints
- β‘ Real-Time Tool Execution - See what Claude is doing in real-time
Built with Clean Architecture and BLoC pattern for maximum scalability and maintainability.
βββββββββββββββββββββββββββββββββββββββ
β Presentation Layer β
β - BLoC (State Management) β
β - Screens & Widgets β
ββββββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββββββΌβββββββββββββββββββββββ
β Domain Layer β
β - Entities β
β - Use Cases β
β - Repository Interfaces β
ββββββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββββββΌβββββββββββββββββββββββ
β Data Layer β
β - SSH Client β
β - Repositories β
β - Tools (Read, Write, Edit, etc.) β
βββββββββββββββββββββββββββββββββββββββ
- Framework: Flutter 3.19.0
- Language: Dart 3.3.0
- State Management: flutter_bloc
- SSH: dartssh2
- Database: sqflite
- Secure Storage: flutter_secure_storage
- Code Generation: freezed, json_serializable
- Flutter SDK 3.19.0 or higher
- Dart SDK 3.3.0 or higher
- Android Studio / Xcode (for mobile development)
- Clone the repository
git clone https://github.com/YOUR_USERNAME/claude-code-mobile.git
cd claude-code-mobile- Install dependencies
flutter pub get- Run code generation
flutter pub run build_runner build --delete-conflicting-outputs- Run the app
# For Android
flutter run
# For iOS
flutter run -d ios
# For a specific device
flutter devices
flutter run -d <device-id>Android:
flutter build apk --release
flutter build appbundle --releaseiOS:
flutter build ios --release-
Core Architecture
- Clean Architecture with 3 layers
- BLoC pattern for state management
- Dependency injection with GetIt
- Repository pattern
-
SSH Connection
- Password authentication
- SSH key authentication
- Connection status monitoring
- Auto-reconnect capability
-
Tool System
- Read: Read files from remote server
- Write: Create/overwrite files
- Edit: Partial file modifications
- Bash: Execute shell commands
- Grep: Search file contents
- Glob: Find files by pattern
-
UI/UX
- Modern dark theme (GitHub-inspired)
- Chat interface with streaming
- Tool execution indicators
- Message history
- Connection status display
-
Data Persistence
- SQLite for sessions and messages
- Secure storage for credentials
- Local storage for settings
- API integration with Anthropic Claude
- SSH connection dialog UI
- Provider management screen
- File browser
- Syntax highlighting
- Session search
- Export/import sessions
- Voice input
- Offline mode
- Setup Instructions - Detailed setup guide
- Architecture Review - Comprehensive architecture analysis
- Product Requirements - Full product specification
lib/
βββ core/ # Core utilities, theme, constants
βββ data/ # Data sources, repositories, tools
βββ domain/ # Entities, use cases, repository interfaces
βββ presentation/ # BLoCs, screens, widgets
βββ main.dart # App entry point
# Run all tests
flutter test
# Run with coverage
flutter test --coverage# Analyze code
flutter analyze
# Format code
dart format .# Watch mode (auto-regenerate on changes)
flutter pub run build_runner watch
# One-time generation
flutter pub run build_runner build --delete-conflicting-outputs- Encrypted Storage: All credentials stored with AES-256 encryption
- Shell Escaping: All SSH commands properly escaped to prevent injection
- Secure Communication: HTTPS for API calls, SSH for server communication
- No Server Installation: Zero footprint on remote servers
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Flutter/Dart style guide
- Write tests for new features
- Update documentation
- Run
flutter analyzebefore committing
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Claude Code CLI
- Built with Flutter
- Powered by Anthropic Claude
For questions or support, please open an issue on GitHub.
Made with β€οΈ and Claude AI