CLAUDE.md
CLAUDE.mdCLAUDE.mdroot
Quality
98/100
Scores the file, not the repository.Length
740 words
12 headings · 0 code blocksRepository
8.3k
— · pushed 0 days agoLast changed
3 days ago
First indexed 3 days ago.1# CLAUDE.md23This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.45## Commands67### Development89- `flutter run` - Run the app in development mode10- `flutter run --release -PallowDebugReleaseSigning=true` - Run Android release locally with explicit debug-signing fallback for verification only11- `dart run fl_build -p PLATFORM` - Build the app for specific platform (see fl_build package)12- `dart run build_runner build --delete-conflicting-outputs` - Generate code for models with annotations (json_serializable, freezed, hive, riverpod)13 - Every time you change model files, run this command to regenerate code (Hive adapters, Riverpod providers, etc.)14 - Generated files include: `*.g.dart`, `*.freezed.dart` files1516### Testing1718- `flutter test` - Run unit tests19- `flutter test test/battery_test.dart` - Run specific test file2021## Architecture2223This is a Flutter application for managing Linux servers with the following key architectural components:2425### Project Structure2627- `lib/core/` - Core utilities, extensions, and routing28- `lib/data/` - Data layer with models, providers, and storage29 - `model/` - Data models organized by feature (server, container, ssh, etc.)30 - `provider/` - Riverpod providers for state management31 - `store/` - Local storage implementations using Hive32- `lib/view/` - UI layer with pages and widgets33- `lib/generated/` - Generated localization files34- `lib/hive/` - Hive adapters for local storage3536### Key Technologies3738- **State Management**: Riverpod with code generation (riverpod_annotation)39- **Local Storage**: Hive for persistent data with generated adapters40- **SSH/SFTP**: Custom dartssh2 fork for server connections41- **Terminal**: Custom xterm.dart fork for SSH terminal interface42- **Networking**: dio for HTTP requests43- **Charts**: fl_chart for server status visualization44- **Localization**: Flutter's built-in i18n with ARB files45- **Code Generation**: Uses build_runner with json_serializable, freezed, hive_generator, riverpod_generator4647### Data Models4849- Server management models in `lib/data/model/server/`50- Container/Docker models in `lib/data/model/container/`51- SSH and SFTP models in respective directories52- Most models use freezed for immutability and json_annotation for serialization5354### Features5556- Server status monitoring (CPU, memory, disk, network)57- SSH terminal with virtual keyboard58- SFTP file browser59- Docker container management60- Process and systemd service management61- Server snippets and custom commands62- Multi-language support (12+ languages)63- Cross-platform support (iOS, Android, macOS, Linux, Windows)6465### State Management Pattern6667- Uses Riverpod providers for dependency injection and state management68- Uses Freezed for immutable state models69- Providers are organized by feature in `lib/data/provider/`70- State is often persisted using Hive stores in `lib/data/store/`7172### Build System7374- Uses custom `fl_build` package for cross-platform building75- `make.dart` script handles pre/post build tasks (metadata generation)76- Supports building for multiple platforms with platform-specific configurations77- Many dependencies are custom forks hosted on GitHub (dartssh2, xterm, fl_lib, etc.)7879### Important Notes8081- **Never run code formatting commands** - The codebase has specific formatting that should not be changed82- **Always run code generation** after modifying models with annotations (freezed, json_serializable, hive, riverpod)83- Generated files (`*.g.dart`, `*.freezed.dart`) should not be manually edited84- AGAIN, NEVER run code formatting commands.85- USE dependency injection via GetIt for services like Stores, Services and etc.86- Generate all l10n files using `flutter gen-l10n` command after modifying ARB files.87- USE `hive_ce` not `hive` package for Hive integration.88 - Which no need to config `HiveField` and `HiveType` manually.89- USE widgets and utilities from `fl_lib` package for common functionalities.90 - Such as `CustomAppBar`, `context.showRoundDialog`, `Input`, `Btnx.cancelOk`, etc.91 - You can use context7 MCP to search `lppcg fl_lib KEYWORD` to find relevant widgets and utilities.92- USE `libL10n` and `l10n` for localization strings.93 - `libL10n` is from `fl_lib` package, and `l10n` is from this project.94 - Before adding new strings, check if it already exists in `libL10n`.95 - Prioritize using strings from `libL10n` to avoid duplication, even if the meaning is not 100% exact, just use the substitution of `libL10n`.96- Split UI into Widget build, Actions, Utils. use `extension on` to achieve this97- Android release signing:98 - Normal release builds must use the real release keystore from `key.properties`.99 - Debug-signing fallback is for local verification only and must be enabled explicitly with `-PallowDebugReleaseSigning=true`.100 - Do not use debug-signing fallback for formal release artifacts.101- Android release artifacts:102 - CI release builds for Android are split per ABI, not a single fat APK.103 - Do not judge release size from a local `flutter build apk --release` fat APK.104 - To reproduce CI-style Android artifacts locally, use `dart run fl_build -p android` or `flutter build apk --release --split-per-abi`.105
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| csells/dotprompt_dartCLAUDE.md · 5 | CLAUDE.md | testlint-formatarchtypes+4 | 100/100 | 3 days ago | |
| ruvnet/rufloruflo/src/ruvocal/CLAUDE.md · 67k | CLAUDE.md | setupbuildtestlint-format+6 | 97/100 | 3 days ago | |
| ente/enteweb/CLAUDE.md · 28k | CLAUDE.md | setupbuildlint-formatarch+4 | 97/100 | 3 days ago | |
| imaNNeo/fl_chartCLAUDE.md · 7.6k | CLAUDE.md | teststylearchtesting-strategy+2 | 94/100 | 3 days ago | |
| ruvnet/rufloCLAUDE.md · 67k | CLAUDE.md | setupbuildlint-formatstyle+8 | 84/100 | 3 days ago | |
| jiangtian616/JHenTaiCLAUDE.md · 5.3k | CLAUDE.md | buildlint-formatarchdependencies+2 | 81/100 | 2 days ago | |
| pbakaus/impeccableCLAUDE.md · 54k | CLAUDE.md | setupbuildteststyle+5 | 81/100 | 2 days ago | |
| mobile-dev-inc/Maestroe2e/demo_app/CLAUDE.md · 15k | CLAUDE.md | buildteststylesecurity+1 | 81/100 | 3 days ago |
