Skip to content

docs: update the project and flutter setup docs#2534

Merged
CharlVS merged 4 commits intodevfrom
chore/update-setup-docs
Feb 25, 2025
Merged

docs: update the project and flutter setup docs#2534
CharlVS merged 4 commits intodevfrom
chore/update-setup-docs

Conversation

@takenagain
Copy link
Copy Markdown
Contributor

@takenagain takenagain commented Feb 18, 2025

Summary by CodeRabbit

  • Documentation
    • Updated setup instructions for Windows builds, including additional prerequisites and system configuration commands.
    • Enhanced the Firebase guide with account creation steps and improved formatting for command examples.
    • Expanded and clarified guidance on pinning the Flutter version, including important warnings.
    • Revised the Flutter SDK installation guide with clear recommendations for VS Code integration, alternative methods, and effective use of the Flutter Version Manager.
    • Updated dependency version numbers and tool requirements to ensure smooth project setup.

Flutter documentation recommends downloading via VSCode or via the SDK Archive (tar/zip files) rather than cloning the git repository
@takenagain takenagain added the documentation Improvements or additions to documentation label Feb 18, 2025
@takenagain takenagain self-assigned this Feb 18, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 18, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This pull request updates several documentation files to improve setup instructions and version management. The changes add detailed Windows prerequisites—including Visual Studio Community 17.13.0, NuGet CLI setup, and registry tweaks—and revise guidance for Firebase account setup, Flutter version pinning, and general Flutter SDK installation. Instructions for managing multiple Flutter versions via FVM are clarified, and dependency version numbers across various tools are updated.

Changes

File(s) Summary
docs/BUILD_RUN_APP.md, docs/PROJECT_SETUP.md Updated Windows prerequisites and dependency versions. Added Visual Studio Community 17.13.0, NuGet CLI instructions, registry tweaks, and adjusted version numbers (Android Studio, SDK Build-Tools, NDK, command line tools, CMake, Xcode).
docs/FIREBASE_SETUP.md Added steps for creating a Firebase account and adding a new web app, with improved markdown formatting for code blocks.
docs/FLUTTER_VERSION.md, docs/INSTALL_FLUTTER.md, docs/MULTIPLE_FLUTTER_VERSIONS.md Expanded Flutter version management guidance. Detailed pinning instructions, updated installation recommendations (using VS Code and FVM), enhanced OS-specific sections, and updated version references.

Possibly related PRs

Suggested reviewers

  • smk762
  • CharlVS

Poem

I'm a little rabbit, hopping through docs all day,
Finding tweaks in instructions along my playful way.
Windows tools and Flutter guides now shine so bright,
My whiskers twitch in wonder at setup done just right.
With each new change, I dance in joy under moonlight!
🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@takenagain
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 18, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 18, 2025

Visit the preview URL for this PR (updated for commit b525646):

https://walletrc--pull-2534-merge-jzov5jm9.web.app

(expires Fri, 28 Feb 2025 10:31:00 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: f66a4ff03faa546f12f0ae5a841bd9eff2714dcc

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (4)
docs/MULTIPLE_FLUTTER_VERSIONS.md (2)

25-26: Typographical Correction Recommended
The header “pen (or create) .zshrc file” appears to have a typo. Changing “pen” to “open” will improve clarity.


39-41: Minor Grammatical Improvement
Consider revising the heading to “Check if the newly installed Flutter version is accessible from the terminal” by inserting “the” before “newly installed” to improve grammatical correctness.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~39-~39: You might be missing the article “the” here.
Context: ..." ``` Save and close. ### 3. Check if newly installed Flutter version is accessible...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

docs/INSTALL_FLUTTER.md (1)

40-41: Formatting Fix Needed for Windows Instructions
The line introducing the Windows instructions contains a double colon at the end. Removing the extra colon will improve consistency and readability.

docs/BUILD_RUN_APP.md (1)

110-122: Clear and Consistent Windows Prerequisites Instructions

The added section for Windows desktop prerequisites is clear and comprehensive. It specifies:

  • The requirement of Visual Studio Community 17.13.0 with the Desktop development with C++ workload.
  • The necessity of the NuGet CLI installation via winget along with precise PowerShell commands for adding a primary package source.
  • How to enable long paths in the Windows registry.

These instructions are consistent with the updates in docs/PROJECT_SETUP.md and provide valuable guidance for users on Windows. As a minor nitpick, consider changing "pre-requisites" to "prerequisites" for improved consistency in terminology.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c4b67e8 and ac04408.

📒 Files selected for processing (6)
  • docs/BUILD_RUN_APP.md (1 hunks)
  • docs/FIREBASE_SETUP.md (1 hunks)
  • docs/FLUTTER_VERSION.md (1 hunks)
  • docs/INSTALL_FLUTTER.md (2 hunks)
  • docs/MULTIPLE_FLUTTER_VERSIONS.md (3 hunks)
  • docs/PROJECT_SETUP.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/MULTIPLE_FLUTTER_VERSIONS.md

[uncategorized] ~39-~39: You might be missing the article “the” here.
Context: ..." ``` Save and close. ### 3. Check if newly installed Flutter version is accessible...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: build_and_preview
  • GitHub Check: validate_code_guidelines
🔇 Additional comments (13)
docs/FIREBASE_SETUP.md (2)

1-3: Overall Clarity in Firebase Setup Introduction
The introductory lines clearly state the purpose and steps for Firebase configuration. The structure remains user-friendly and the instructions are easy to follow.


12-14: Enhanced Instructions for Disabling GitHub Tracking
The added instruction “Disable github tracking of config files:” along with the dedicated, properly labeled bash code block improves the clarity and formatting of the section. For added value, consider including a brief explanation on why disabling GitHub tracking for these configuration files is recommended (e.g., to avoid accidentally committing sensitive configuration data).

docs/FLUTTER_VERSION.md (2)

11-13: Detailed Guidance for Pinning Flutter Version
The expanded explanation with a concrete command sequence for pinning Flutter to version 3.29.0 provides clear guidance. It may be useful to mention that using Flutter Version Manager (FVM) is an alternative approach to overcome the limitations of pinning.


19-20: Clear Deprecation Notice for Direct Version Pinning
The cautionary note effectively communicates that pinning the Flutter version is no longer recommended due to isolation issues and known problems with flutter pub get. This helps users understand potential pitfalls and encourages exploring alternative methods like FVM.

docs/MULTIPLE_FLUTTER_VERSIONS.md (3)

1-4: Updated Header Improves Section Clarity
Changing the section header to “Flutter Version Manager (FVM)” makes the recommended approach immediately clear. This update helps users quickly recognize the preferred method for managing multiple Flutter versions.


58-64: Clear Windows FVM Setup Instructions
The detailed steps for installing Chocolatey and FVM on Windows are well presented. The use of a PowerShell code block enhances readability and ensures the instructions are actionable.


78-86: Concise and Clear Linux FVM Instructions
The Linux section efficiently explains how to install FVM using the provided installation script. The clear formatting aids user comprehension and supports consistency with the Windows instructions.

docs/INSTALL_FLUTTER.md (2)

9-10: Expanded Flutter SDK Installation Options Enhance Flexibility
The revised text now gives users multiple methods to install the Flutter SDK—including using the VS Code extension, downloading from the SDK Archive, or employing FVM. This expanded guidance improves the documentation’s usefulness for various user preferences.


51-60: Well-Structured Section on Using FVM
The clear segmentation and command block for FVM usage make it easy for users to follow the process of installing and configuring the Flutter SDK via FVM.

docs/PROJECT_SETUP.md (4)

18-24: Updated Platform Requirements are Clear and Concise
The updates—including the new version numbers for Android Studio (Ladybug | 2024.2.2), Android SDK Build-Tools (35.0.1), NDK (28.0), Android command line tools (19.0.0), and CMake (3.31.5)—enhance the documentation. These updates reflect the current platform requirements well. Ensure these changes are consistently applied in all related documentation.


25-29: Clear Updates for Additional Tools on Host Platforms
The revised specifications for Xcode and Visual Studio (Community 17.13.0), along with the new requirements for the NuGet CLI and enabling long paths in the Windows registry, add much-needed clarity for users setting up their development environment on various host platforms.


42-52: Comprehensive Dev Container Setup Instructions
The section detailing the Docker and VS Code Dev Container setup is thorough and clear. This guidance ensures that users can easily configure their development environment for web and Android builds.

🧰 Tools
🪛 LanguageTool

[grammar] ~46-~46: The correct preposition appears to be “on”.
Context: ...cker-desktop), and if you are using WSL in Windows, please ensure that the [WSL 2 ...

(IN_WINDOWS)


55-64: Informative Guidance for Handling GitHub API Rate Limits
The detailed explanation about encountering a 403 error due to GitHub’s API rate limit—as well as the step-by-step instructions for using a personal access token—is excellent. This section should help users troubleshoot common build issues effectively.

@takenagain takenagain requested review from CharlVS and smk762 February 18, 2025 13:40
@takenagain takenagain marked this pull request as ready for review February 18, 2025 13:40
Copy link
Copy Markdown
Collaborator

@smk762 smk762 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works as advertised on Linux.
@AndrewDelaney @ShantanuSharma9873 please test windows side and ping in chat if any issues

## Use VS Code to install

1. Clone Flutter with
The recommended approach is to install the [Flutter extension for VSCode](https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter) (or the [Flutter extension for Android Studio/IntelliJ](https://plugins.jetbrains.com/plugin/9212-flutter)) and installing the Flutter SDK via the extension to simplify the process.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think it is possible to install the sdk using the extensions. As far as I can make out, one already needs to have the sdk downloaded, then you can set the path to the sdk using the extension.

Edit: You can install flutter using the extension, but you need to be creating a new project as outlined in this guide. This makes it a little unclear if you already have the project open in VS Code, and now you want to d ownload the sdk for the project.

## Use Flutter Version Manager (FVM)

The recommended method of handling multiple Flutter versions is to use [FVM](https://fvm.app/documentation/getting-started/installation).
The recommended method of handling multiple Flutter versions is to use [FVM](https://fvm.app/documentation/getting-started/installation). To install FVM and use the stable version of the Flutter SDK in the current directory, run the following commands:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend changing the wording here to "Should multiple versions of Flutter SDK need to be installed and managed, it is recommended to use FVM".
Reason: Earlier in the guide we refer to the recommended method of installing the SDK, and it may be a little confusing for some if this section to also start off with "The recommended method". The distinction here is the focus on managing multiple versions of Flutter SDK.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is done in b525646

The recommended method of handling multiple Flutter versions is to use [FVM](https://fvm.app/documentation/getting-started/installation). To install FVM and use the stable version of the Flutter SDK in the current directory, run the following commands:

```bash
curl -fsSL https://fvm.app/install.sh | bash
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This command is not directly compatible with windows, as the shell script expects a unix environment. I don't think even having bash setup on Windows allows for this script to be run from the web. Without expecting the user to use WSL, perhaps the is a Windows-friendly method of installing FVM that can be outlined here too?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated this to reference MULTIPLE_FLUTTER_VERSIONS.md instead in b525646

## Windows TBD
## Windows

The following steps installs [fvm](https://fvm.app/docs/getting_started/installation) as a standalone application and uses it to manage both local and global Flutter SDKs. The recommended approach is to download and install a global version of Flutter SDK and use fvm to manage local Flutter SDKs, but this approach works for most scenarios.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid link. I believe it is supposed to be: https://fvm.app/documentation/getting-started/installation

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for spotting this. I updated the links in b525646

# Handle multiple Flutter versions

## FVM
## Flutter Version Manager (FVM)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this section needs to be repurposed. This contains the install insttructions for FVM for unix environments, yet underneath there are sections for each operating system. Perhaps just use this section to provide a description of what FVM is, and leave the installation instructions to the later sections to avoid repetition.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I modified it to focus on FVM in b525646, seeing as the git-based approach is no longer recommended and is causing issues with the 3.29 release.

@smk762 smk762 requested a review from AndrewDelaney February 22, 2025 03:36
@smk762 smk762 mentioned this pull request Feb 24, 2025
@CharlVS CharlVS merged commit 92cb33e into dev Feb 25, 2025
@CharlVS CharlVS deleted the chore/update-setup-docs branch June 20, 2025 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants