Skip to content

Commit 88e51a1

Browse files
committed
Refactor README: remove Command Reference and Project Structure sections, add Why Go instead of Dart explanation
1 parent 25d4c6d commit 88e51a1

1 file changed

Lines changed: 10 additions & 33 deletions

File tree

README.md

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -187,18 +187,6 @@ By default, FlutterGuard runs completely offline. Enable network features for:
187187
flutterguard-cli --apk app.apk --outDir ./results --enable-network-and-dns-checks
188188
```
189189

190-
### Command Reference
191-
192-
| Flag | Description | Default |
193-
| --------------------------------- | --------------------------------------------------- | -------- |
194-
| `--apk` | Flutter app APK file path to analyze **(required)** ||
195-
| `--outDir` | Directory to save structured results | stdout |
196-
| `--format` | Output format: `json` or `text` | `json` |
197-
| `--verbose` | Show detailed progress during analysis | disabled |
198-
| `--enable-network-and-dns-checks` | Enable online features | disabled |
199-
| `--version` | Show version information ||
200-
| `--help` | Show help message ||
201-
202190
## Output Structure
203191

204192
When using `--outDir`, FlutterGuard creates an organized directory structure:
@@ -233,28 +221,17 @@ results/
233221

234222
**Tip:** Open `summary.md` in any markdown viewer—it includes a table of contents with links to all findings.
235223

236-
## Project Structure
224+
## Why Go instead of Dart?
237225

238-
```
239-
flutterguard-cli/
240-
├── main.go # Application entry point
241-
├── cmd/ # CLI commands and output
242-
│ ├── root.go # Command definitions and flags
243-
│ ├── analyze.go # Analysis orchestration
244-
│ ├── output.go # Structured directory output
245-
│ ├── output_text.go # Text report formatting
246-
│ └── output_markdown.go # Markdown report generation
247-
├── analyzer/ # Core analysis logic
248-
│ ├── analyzer.go # Main analysis pipeline
249-
│ ├── config.go # Configuration structures
250-
│ ├── progress.go # Progress reporting
251-
│ ├── decompiler.go # Decompilation strategy
252-
│ ├── secrets_detector.go # Secret pattern matching
253-
│ ├── assets_scanner.go # Asset discovery
254-
│ └── ... # Other analysis modules
255-
└── models/
256-
└── models.go # Data structures
257-
```
226+
FlutterGuard is written in Go rather than Dart because:
227+
228+
- **Single Compiled Binary**: Users get a standalone executable with zero dependencies—just download and run, no runtime required.
229+
- **Cross-Platform Distribution**: Go compiles easily to Windows, macOS, and Linux with a single codebase, making it simpler for users across different systems.
230+
- **Performance**: Go offers native compilation speed and efficiency ideal for analyzing large APK files and intensive security scanning operations.
231+
- **CLI Excellence**: Go is purpose-built for command-line tools with strong standard library support for file I/O, process execution, and signal handling.
232+
- **Ecosystem**: Direct access to powerful tools like JADX and aapt2 without the overhead of a UI framework designed for mobile apps.
233+
234+
While Dart excels at building Flutter mobile and web apps, Go is the better choice for a developer tool that needs to be lightweight, fast, and dependency-free.
258235

259236
## Contributing
260237

0 commit comments

Comments
 (0)