Skip to content

M3-mo2/Dev-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Claude Code Mobile

Flutter Dart License Build

AI-Powered Coding Assistant for Remote Servers via SSH

Features β€’ Architecture β€’ Getting Started β€’ Documentation


πŸš€ Overview

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.

Key Features

  • πŸ” 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

πŸ—οΈ Architecture

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.) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

  • 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

πŸ“¦ Getting Started

Prerequisites

  • Flutter SDK 3.19.0 or higher
  • Dart SDK 3.3.0 or higher
  • Android Studio / Xcode (for mobile development)

Installation

  1. Clone the repository
git clone https://github.com/YOUR_USERNAME/claude-code-mobile.git
cd claude-code-mobile
  1. Install dependencies
flutter pub get
  1. Run code generation
flutter pub run build_runner build --delete-conflicting-outputs
  1. Run the app
# For Android
flutter run

# For iOS
flutter run -d ios

# For a specific device
flutter devices
flutter run -d <device-id>

Building for Production

Android:

flutter build apk --release
flutter build appbundle --release

iOS:

flutter build ios --release

🎯 Features

βœ… Implemented

  • 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

🚧 Coming Soon

  • 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

πŸ“š Documentation

Project Structure

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

πŸ› οΈ Development

Running Tests

# Run all tests
flutter test

# Run with coverage
flutter test --coverage

Code Analysis

# Analyze code
flutter analyze

# Format code
dart format .

Code Generation

# Watch mode (auto-regenerate on changes)
flutter pub run build_runner watch

# One-time generation
flutter pub run build_runner build --delete-conflicting-outputs

πŸ”’ Security

  • 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

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Coding Standards

  • Follow Flutter/Dart style guide
  • Write tests for new features
  • Update documentation
  • Run flutter analyze before committing

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“§ Contact

For questions or support, please open an issue on GitHub.


Made with ❀️ and Claude AI

⬆ Back to Top

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors