{"owner":"lollipopkit","repo":"flutter_server_box","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["CLAUDE.md"],"skills":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Commands\n\n### Development\n\n- `flutter run` - Run the app in development mode\n- `flutter run --release -PallowDebugReleaseSigning=true` - Run Android release locally with explicit debug-signing fallback for verification only\n- `dart run fl_build -p PLATFORM` - Build the app for specific platform (see fl_build package)\n- `dart run build_runner build --delete-conflicting-outputs` - Generate code for models with annotations (json_serializable, freezed, hive, riverpod)\n  - Every time you change model files, run this command to regenerate code (Hive adapters, Riverpod providers, etc.)\n  - Generated files include: `*.g.dart`, `*.freezed.dart` files\n\n### Testing\n\n- `flutter test` - Run unit tests\n- `flutter test test/battery_test.dart` - Run specific test file\n\n## Architecture\n\nThis is a Flutter application for managing Linux servers with the following key architectural components:\n\n### Project Structure\n\n- `lib/core/` - Core utilities, extensions, and routing\n- `lib/data/` - Data layer with models, providers, and storage\n  - `model/` - Data models organized by feature (server, container, ssh, etc.)\n  - `provider/` - Riverpod providers for state management\n  - `store/` - Local storage implementations using Hive\n- `lib/view/` - UI layer with pages and widgets\n- `lib/generated/` - Generated localization files\n- `lib/hive/` - Hive adapters for local storage\n\n### Key Technologies\n\n- **State Management**: Riverpod with code generation (riverpod_annotation)\n- **Local Storage**: Hive for persistent data with generated adapters\n- **SSH/SFTP**: Custom dartssh2 fork for server connections\n- **Terminal**: Custom xterm.dart fork for SSH terminal interface\n- **Networking**: dio for HTTP requests\n- **Charts**: fl_chart for server status visualization\n- **Localization**: Flutter's built-in i18n with ARB files\n- **Code Generation**: Uses build_runner with json_serializable, freezed, hive_generator, riverpod_generator\n\n### Data Models\n\n- Server management models in `lib/data/model/server/`\n- Container/Docker models in `lib/data/model/container/`\n- SSH and SFTP models in respective directories\n- Most models use freezed for immutability and json_annotation for serialization\n\n### Features\n\n- Server status monitoring (CPU, memory, disk, network)\n- SSH terminal with virtual keyboard\n- SFTP file browser\n- Docker container management\n- Process and systemd service management\n- Server snippets and custom commands\n- Multi-language support (12+ languages)\n- Cross-platform support (iOS, Android, macOS, Linux, Windows)\n\n### State Management Pattern\n\n- Uses Riverpod providers for dependency injection and state management\n- Uses Freezed for immutable state models\n- Providers are organized by feature in `lib/data/provider/`\n- State is often persisted using Hive stores in `lib/data/store/`\n\n### Build System\n\n- Uses custom `fl_build` package for cross-platform building\n- `make.dart` script handles pre/post build tasks (metadata generation)\n- Supports building for multiple platforms with platform-specific configurations\n- Many dependencies are custom forks hosted on GitHub (dartssh2, xterm, fl_lib, etc.)\n\n### Important Notes\n\n- **Never run code formatting commands** - The codebase has specific formatting that should not be changed\n- **Always run code generation** after modifying models with annotations (freezed, json_serializable, hive, riverpod)\n- Generated files (`*.g.dart`, `*.freezed.dart`) should not be manually edited\n- AGAIN, NEVER run code formatting commands.\n- USE dependency injection via GetIt for services like Stores, Services and etc.\n- Generate all l10n files using `flutter gen-l10n` command after modifying ARB files.\n- USE `hive_ce` not `hive` package for Hive integration.\n  - Which no need to config `HiveField` and `HiveType` manually.\n- USE widgets and utilities from `fl_lib` package for common functionalities.\n  - Such as `CustomAppBar`, `context.showRoundDialog`, `Input`, `Btnx.cancelOk`, etc.\n  - You can use context7 MCP to search `lppcg fl_lib KEYWORD` to find relevant widgets and utilities.\n- USE `libL10n` and `l10n` for localization strings.\n  - `libL10n` is from `fl_lib` package, and `l10n` is from this project.\n  - Before adding new strings, check if it already exists in `libL10n`.\n  - Prioritize using strings from `libL10n` to avoid duplication, even if the meaning is not 100% exact, just use the substitution of `libL10n`.\n- Split UI into Widget build, Actions, Utils. use `extension on` to achieve this\n- Android release signing:\n  - Normal release builds must use the real release keystore from `key.properties`.\n  - Debug-signing fallback is for local verification only and must be enabled explicitly with `-PallowDebugReleaseSigning=true`.\n  - Do not use debug-signing fallback for formal release artifacts.\n- Android release artifacts:\n  - CI release builds for Android are split per ABI, not a single fat APK.\n  - Do not judge release size from a local `flutter build apk --release` fat APK.\n  - To reproduce CI-style Android artifacts locally, use `dart run fl_build -p android` or `flutter build apk --release --split-per-abi`.\n"},"files":{"CLAUDE.md":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Commands\n\n### Development\n\n- `flutter run` - Run the app in development mode\n- `flutter run --release -PallowDebugReleaseSigning=true` - Run Android release locally with explicit debug-signing fallback for verification only\n- `dart run fl_build -p PLATFORM` - Build the app for specific platform (see fl_build package)\n- `dart run build_runner build --delete-conflicting-outputs` - Generate code for models with annotations (json_serializable, freezed, hive, riverpod)\n  - Every time you change model files, run this command to regenerate code (Hive adapters, Riverpod providers, etc.)\n  - Generated files include: `*.g.dart`, `*.freezed.dart` files\n\n### Testing\n\n- `flutter test` - Run unit tests\n- `flutter test test/battery_test.dart` - Run specific test file\n\n## Architecture\n\nThis is a Flutter application for managing Linux servers with the following key architectural components:\n\n### Project Structure\n\n- `lib/core/` - Core utilities, extensions, and routing\n- `lib/data/` - Data layer with models, providers, and storage\n  - `model/` - Data models organized by feature (server, container, ssh, etc.)\n  - `provider/` - Riverpod providers for state management\n  - `store/` - Local storage implementations using Hive\n- `lib/view/` - UI layer with pages and widgets\n- `lib/generated/` - Generated localization files\n- `lib/hive/` - Hive adapters for local storage\n\n### Key Technologies\n\n- **State Management**: Riverpod with code generation (riverpod_annotation)\n- **Local Storage**: Hive for persistent data with generated adapters\n- **SSH/SFTP**: Custom dartssh2 fork for server connections\n- **Terminal**: Custom xterm.dart fork for SSH terminal interface\n- **Networking**: dio for HTTP requests\n- **Charts**: fl_chart for server status visualization\n- **Localization**: Flutter's built-in i18n with ARB files\n- **Code Generation**: Uses build_runner with json_serializable, freezed, hive_generator, riverpod_generator\n\n### Data Models\n\n- Server management models in `lib/data/model/server/`\n- Container/Docker models in `lib/data/model/container/`\n- SSH and SFTP models in respective directories\n- Most models use freezed for immutability and json_annotation for serialization\n\n### Features\n\n- Server status monitoring (CPU, memory, disk, network)\n- SSH terminal with virtual keyboard\n- SFTP file browser\n- Docker container management\n- Process and systemd service management\n- Server snippets and custom commands\n- Multi-language support (12+ languages)\n- Cross-platform support (iOS, Android, macOS, Linux, Windows)\n\n### State Management Pattern\n\n- Uses Riverpod providers for dependency injection and state management\n- Uses Freezed for immutable state models\n- Providers are organized by feature in `lib/data/provider/`\n- State is often persisted using Hive stores in `lib/data/store/`\n\n### Build System\n\n- Uses custom `fl_build` package for cross-platform building\n- `make.dart` script handles pre/post build tasks (metadata generation)\n- Supports building for multiple platforms with platform-specific configurations\n- Many dependencies are custom forks hosted on GitHub (dartssh2, xterm, fl_lib, etc.)\n\n### Important Notes\n\n- **Never run code formatting commands** - The codebase has specific formatting that should not be changed\n- **Always run code generation** after modifying models with annotations (freezed, json_serializable, hive, riverpod)\n- Generated files (`*.g.dart`, `*.freezed.dart`) should not be manually edited\n- AGAIN, NEVER run code formatting commands.\n- USE dependency injection via GetIt for services like Stores, Services and etc.\n- Generate all l10n files using `flutter gen-l10n` command after modifying ARB files.\n- USE `hive_ce` not `hive` package for Hive integration.\n  - Which no need to config `HiveField` and `HiveType` manually.\n- USE widgets and utilities from `fl_lib` package for common functionalities.\n  - Such as `CustomAppBar`, `context.showRoundDialog`, `Input`, `Btnx.cancelOk`, etc.\n  - You can use context7 MCP to search `lppcg fl_lib KEYWORD` to find relevant widgets and utilities.\n- USE `libL10n` and `l10n` for localization strings.\n  - `libL10n` is from `fl_lib` package, and `l10n` is from this project.\n  - Before adding new strings, check if it already exists in `libL10n`.\n  - Prioritize using strings from `libL10n` to avoid duplication, even if the meaning is not 100% exact, just use the substitution of `libL10n`.\n- Split UI into Widget build, Actions, Utils. use `extension on` to achieve this\n- Android release signing:\n  - Normal release builds must use the real release keystore from `key.properties`.\n  - Debug-signing fallback is for local verification only and must be enabled explicitly with `-PallowDebugReleaseSigning=true`.\n  - Do not use debug-signing fallback for formal release artifacts.\n- Android release artifacts:\n  - CI release builds for Android are split per ABI, not a single fat APK.\n  - Do not judge release size from a local `flutter build apk --release` fat APK.\n  - To reproduce CI-style Android artifacts locally, use `dart run fl_build -p android` or `flutter build apk --release --split-per-abi`.\n"},"items":[{"name":"CLAUDE.md","path":"CLAUDE.md","title":"CLAUDE.md","content":"# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## Commands\n\n### Development\n\n- `flutter run` - Run the app in development mode\n- `flutter run --release -PallowDebugReleaseSigning=true` - Run Android release locally with explicit debug-signing fallback for verification only\n- `dart run fl_build -p PLATFORM` - Build the app for specific platform (see fl_build package)\n- `dart run build_runner build --delete-conflicting-outputs` - Generate code for models with annotations (json_serializable, freezed, hive, riverpod)\n  - Every time you change model files, run this command to regenerate code (Hive adapters, Riverpod providers, etc.)\n  - Generated files include: `*.g.dart`, `*.freezed.dart` files\n\n### Testing\n\n- `flutter test` - Run unit tests\n- `flutter test test/battery_test.dart` - Run specific test file\n\n## Architecture\n\nThis is a Flutter application for managing Linux servers with the following key architectural components:\n\n### Project Structure\n\n- `lib/core/` - Core utilities, extensions, and routing\n- `lib/data/` - Data layer with models, providers, and storage\n  - `model/` - Data models organized by feature (server, container, ssh, etc.)\n  - `provider/` - Riverpod providers for state management\n  - `store/` - Local storage implementations using Hive\n- `lib/view/` - UI layer with pages and widgets\n- `lib/generated/` - Generated localization files\n- `lib/hive/` - Hive adapters for local storage\n\n### Key Technologies\n\n- **State Management**: Riverpod with code generation (riverpod_annotation)\n- **Local Storage**: Hive for persistent data with generated adapters\n- **SSH/SFTP**: Custom dartssh2 fork for server connections\n- **Terminal**: Custom xterm.dart fork for SSH terminal interface\n- **Networking**: dio for HTTP requests\n- **Charts**: fl_chart for server status visualization\n- **Localization**: Flutter's built-in i18n with ARB files\n- **Code Generation**: Uses build_runner with json_serializable, freezed, hive_generator, riverpod_generator\n\n### Data Models\n\n- Server management models in `lib/data/model/server/`\n- Container/Docker models in `lib/data/model/container/`\n- SSH and SFTP models in respective directories\n- Most models use freezed for immutability and json_annotation for serialization\n\n### Features\n\n- Server status monitoring (CPU, memory, disk, network)\n- SSH terminal with virtual keyboard\n- SFTP file browser\n- Docker container management\n- Process and systemd service management\n- Server snippets and custom commands\n- Multi-language support (12+ languages)\n- Cross-platform support (iOS, Android, macOS, Linux, Windows)\n\n### State Management Pattern\n\n- Uses Riverpod providers for dependency injection and state management\n- Uses Freezed for immutable state models\n- Providers are organized by feature in `lib/data/provider/`\n- State is often persisted using Hive stores in `lib/data/store/`\n\n### Build System\n\n- Uses custom `fl_build` package for cross-platform building\n- `make.dart` script handles pre/post build tasks (metadata generation)\n- Supports building for multiple platforms with platform-specific configurations\n- Many dependencies are custom forks hosted on GitHub (dartssh2, xterm, fl_lib, etc.)\n\n### Important Notes\n\n- **Never run code formatting commands** - The codebase has specific formatting that should not be changed\n- **Always run code generation** after modifying models with annotations (freezed, json_serializable, hive, riverpod)\n- Generated files (`*.g.dart`, `*.freezed.dart`) should not be manually edited\n- AGAIN, NEVER run code formatting commands.\n- USE dependency injection via GetIt for services like Stores, Services and etc.\n- Generate all l10n files using `flutter gen-l10n` command after modifying ARB files.\n- USE `hive_ce` not `hive` package for Hive integration.\n  - Which no need to config `HiveField` and `HiveType` manually.\n- USE widgets and utilities from `fl_lib` package for common functionalities.\n  - Such as `CustomAppBar`, `context.showRoundDialog`, `Input`, `Btnx.cancelOk`, etc.\n  - You can use context7 MCP to search `lppcg fl_lib KEYWORD` to find relevant widgets and utilities.\n- USE `libL10n` and `l10n` for localization strings.\n  - `libL10n` is from `fl_lib` package, and `l10n` is from this project.\n  - Before adding new strings, check if it already exists in `libL10n`.\n  - Prioritize using strings from `libL10n` to avoid duplication, even if the meaning is not 100% exact, just use the substitution of `libL10n`.\n- Split UI into Widget build, Actions, Utils. use `extension on` to achieve this\n- Android release signing:\n  - Normal release builds must use the real release keystore from `key.properties`.\n  - Debug-signing fallback is for local verification only and must be enabled explicitly with `-PallowDebugReleaseSigning=true`.\n  - Do not use debug-signing fallback for formal release artifacts.\n- Android release artifacts:\n  - CI release builds for Android are split per ABI, not a single fat APK.\n  - Do not judge release size from a local `flutter build apk --release` fat APK.\n  - To reproduce CI-style Android artifacts locally, use `dart run fl_build -p android` or `flutter build apk --release --split-per-abi`.\n","category":"root","tokens":1305}]}