docs(readme): clarify onboarding and nix install#65
Conversation
📝 WalkthroughSummary by CodeRabbit
WalkthroughDocumentation updates to the flutterdec tool's README and user guide. The README was restructured to broaden output descriptions (adding diff, startup, and symbol-reporting artifacts) and reorganized with new "What It Is For", "Get Started", "First Use", and "Common Commands" sections. The user guide expanded the installation instructions, reorganized the workflow into ordered steps, and added dedicated sections for function scoping and single-function targeting with enhanced CLI examples. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (3)
README.md (3)
262-269: Clarify the ambiguity resolution behavior.The phrase "If
<N>is ambiguous,flutterdecrequires explicitid:orva:" could be clearer about what happens during ambiguity. Does it fail immediately, or does it prompt the user?✏️ Suggested clarification
-If `<N>` is ambiguous, `flutterdec` requires explicit `id:` or `va:`. Selection details are emitted in `report.json.target_selection`. +If `<N>` matches multiple functions (ambiguous), the command fails and requires you to use explicit `id:` or `va:` prefixes. Selection details are emitted in `report.json.target_selection`.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 262 - 269, Clarify the ambiguity behavior for `--target`: update the README text around `--target` to state that when a numeric `<N>` is ambiguous flutterdec will fail with an error (not prompt), exit non-zero, and print a clear message instructing the user to disambiguate using the `id:` or `va:` prefix; also mention that the resolved/attempted selection details are written to `report.json.target_selection` for debugging and include `--target` and `flutterdec` names so readers can find the related CLI usage.
304-308: Table formatting may not render consistently.The "What To Look At" table uses
---separators which should render correctly in most Markdown parsers, but the content alignment could be clearer with explicit column alignment indicators.📋 Optional table formatting improvement
| If you want to... | Start with... | Why | -| --- | --- | --- | +| :--- | :--- | :--- | | Read recovered logic | `pseudocode/*.dartpseudo` | Best first pass for branches, loops, returns, and named callsites |This adds explicit left-alignment to all columns.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 304 - 308, The "What To Look At" Markdown table uses plain `---` separators which may not enforce column alignment consistently; update the table's separator row to include explicit left-alignment indicators for each column (e.g., use `:---` for left-align) so the three columns containing "Read recovered logic", "Validate the decompiler", "Understand startup", "Check analysis health", and "Review version-to-version changes" render with consistent left alignment; locate the table in README.md and replace the separator line under the header with a separator that has `:---` for each column to ensure clear alignment.
332-334: Inconsistent description of adapter backend fallback behavior.Line 332 says "try Blutter backend if configured, otherwise fall back" but line 260 in user-guide.md says "attempt Blutter bridge backend when configured, otherwise fallback". The terminology should be consistent (either "Blutter backend" or "Blutter bridge backend").
🔄 Align terminology
Choose one consistently:
- Either "Blutter backend" (shorter)
- Or "Blutter bridge backend" (matches user-guide.md line 260)
-- `--adapter-backend auto` (default): try Blutter backend if configured, otherwise fall back to the internal adapter +- `--adapter-backend auto` (default): try Blutter bridge backend if configured, otherwise fall back to the internal adapter🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` around lines 332 - 334, Choose a single term for the Blutter integration and make it consistent across docs: replace either "Blutter backend" or "Blutter bridge backend" everywhere (including the README.md bullet that currently reads "`--adapter-backend blutter`: require the Blutter backend..." and the user-guide.md occurrence that says "Blutter bridge backend") so both files use the exact same phrase; update all occurrences and adjacent explanatory bullets to match the chosen term and run a quick find/replace to ensure no mixed terminology remains.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@README.md`:
- Around line 262-269: Clarify the ambiguity behavior for `--target`: update the
README text around `--target` to state that when a numeric `<N>` is ambiguous
flutterdec will fail with an error (not prompt), exit non-zero, and print a
clear message instructing the user to disambiguate using the `id:` or `va:`
prefix; also mention that the resolved/attempted selection details are written
to `report.json.target_selection` for debugging and include `--target` and
`flutterdec` names so readers can find the related CLI usage.
- Around line 304-308: The "What To Look At" Markdown table uses plain `---`
separators which may not enforce column alignment consistently; update the
table's separator row to include explicit left-alignment indicators for each
column (e.g., use `:---` for left-align) so the three columns containing "Read
recovered logic", "Validate the decompiler", "Understand startup", "Check
analysis health", and "Review version-to-version changes" render with consistent
left alignment; locate the table in README.md and replace the separator line
under the header with a separator that has `:---` for each column to ensure
clear alignment.
- Around line 332-334: Choose a single term for the Blutter integration and make
it consistent across docs: replace either "Blutter backend" or "Blutter bridge
backend" everywhere (including the README.md bullet that currently reads
"`--adapter-backend blutter`: require the Blutter backend..." and the
user-guide.md occurrence that says "Blutter bridge backend") so both files use
the exact same phrase; update all occurrences and adjacent explanatory bullets
to match the chosen term and run a quick find/replace to ensure no mixed
terminology remains.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 24a963c9-b90c-414f-bc57-91a612491ea1
📒 Files selected for processing (2)
README.mddocs/user-guide.md
Summary
Testing