Skip to content

chore(Tools): move cli tool to root#667

Merged
ArgoZhang merged 4 commits intomasterfrom
chore-net10
Nov 10, 2025
Merged

chore(Tools): move cli tool to root#667
ArgoZhang merged 4 commits intomasterfrom
chore-net10

Conversation

@ArgoZhang
Copy link
Copy Markdown
Member

@ArgoZhang ArgoZhang commented Nov 10, 2025

Link issues

fixes #666

Summary By Copilot

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

☑️ Self Check before Merge

⚠️ Please check all items below before review. ⚠️

  • Doc is updated/provided or not needed
  • Demo is updated/provided or not needed
  • Merge the latest code from the main branch

Summary by Sourcery

Move the CSS bundler CLI tool to a root-level tools directory, update solution and project references, refine help messaging and deserialization behavior, and add documentation files

Enhancements:

  • Update console help text and example config path
  • Change JSON deserialization fallback to return an empty array

Documentation:

  • Add README.md and XML documentation stub for the CSS bundler tool

Chores:

  • Relocate BootstrapBlazor.CssBundler CLI tool to the top-level tools directory and adjust solution and project file paths

Copilot AI review requested due to automatic review settings November 10, 2025 04:15
@bb-auto bb-auto Bot added the chore label Nov 10, 2025
@bb-auto bb-auto Bot added this to the v9.2.0 milestone Nov 10, 2025
@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Nov 10, 2025

Reviewer's Guide

This PR reorganizes the CssBundler CLI tool by moving it to a top-level tools directory, updates internal usage messages to match the new location, refines JSON deserialization defaults, and adds accompanying documentation files.

Class diagram for BundlerOptions changes

classDiagram
    class BundlerOptions {
        +static List~BundlerOptions~ LoadFromConfigFile(string configFile)
    }
Loading

File-Level Changes

Change Details Files
Relocate CLI tooling to root-level tools directory
  • Move project folder from src/tools to tools/BootstrapBlazor.CssBundler
  • Update solution file to reference the new project path
  • Rename and relocate .csproj file accordingly
BootstrapBlazor.Extensions.slnx
tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj
Update CLI usage output in ArgumentsHelper
  • Change displayed tool name to BootstrapBlazor.CssBundler
  • Adjust example bundler.json path to reflect new folder structure
tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs
Refine JSON deserialization fallback
  • Replace ?? new() default with an empty array literal ([])
tools/BootstrapBlazor.CssBundler/BundlerOptions.cs
Add documentation for the CssBundler tool
  • Introduce readme.md with project overview, installation, and usage
  • Add XML doc file for the assembly
tools/BootstrapBlazor.CssBundler/readme.md
tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.xml

Assessment against linked issues

Issue Objective Addressed Explanation
#666 Move the BootstrapBlazor.CssBundler CLI tool from src/tools/BootstrapBlazor.CssBundler to tools/BootstrapBlazor.CssBundler at the repository root.
#666 Update any relevant paths, references, and documentation to reflect the new location of the CLI tool.

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@ArgoZhang ArgoZhang merged commit 34194f1 into master Nov 10, 2025
5 of 6 checks passed
@ArgoZhang ArgoZhang deleted the chore-net10 branch November 10, 2025 04:15
Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey there - I've reviewed your changes - here's some feedback:

  • The change from new() to [] in LoadFromConfigFile is not valid C# for instantiating a List; please revert to something like new List<BundlerOptions>().
  • The new README under tools/CssBundler duplicates the main project documentation; consider trimming it down or moving it to the root README to avoid divergence.
  • The CLI usage examples use hard-coded Windows paths—consider switching to relative paths or more generic examples for cross-platform users.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The change from `new()` to `[]` in LoadFromConfigFile is not valid C# for instantiating a List; please revert to something like `new List<BundlerOptions>()`.
- The new README under tools/CssBundler duplicates the main project documentation; consider trimming it down or moving it to the root README to avoid divergence.
- The CLI usage examples use hard-coded Windows paths—consider switching to relative paths or more generic examples for cross-platform users.

## Individual Comments

### Comment 1
<location> `tools/BootstrapBlazor.CssBundler/readme.md:29` </location>
<code_context>
+## Installation Guide
+
+- Install .net core sdk [Official website](https://dotnet.microsoft.com/download)
+- Install Visual Studio 2019 lastest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)
+
+```shell
</code_context>

<issue_to_address>
**issue (typo):** Typo: 'lastest' should be 'latest'.

Update the installation instructions to use 'latest' instead of 'lastest'.

```suggestion
- Install Visual Studio 2019 latest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)
```
</issue_to_address>

### Comment 2
<location> `tools/BootstrapBlazor.CssBundler/readme.md:61` </location>
<code_context>
+
+`dotnet add package BootstrapBlazor`
+
+2.  **Add** the `stylesheet` `javascripts` file to your main index file - `Pages/_Host.cshtml (Server)` or `wwwroot/index.html (WebAssembly)`
+
+ **HTML**
</code_context>

<issue_to_address>
**issue (typo):** Typo: 'javascripts' should be 'JavaScript files'.

Please update the wording to 'JavaScript files' for improved clarity.

```suggestion
2.  **Add** the `stylesheet` and `JavaScript files` to your main index file - `Pages/_Host.cshtml (Server)` or `wwwroot/index.html (WebAssembly)`
```
</issue_to_address>

### Comment 3
<location> `tools/BootstrapBlazor.CssBundler/readme.md:80` </location>
<code_context>
+</html>
+```
+
+3. Open the `~/Startup.cs` file in the and register the `Bootstrap Blazor` service:
+
+ **C#**
</code_context>

<issue_to_address>
**issue (typo):** Awkward phrasing: 'in the and register' should be corrected.

Change the sentence to: 'Open the `~/Startup.cs` file and register the `Bootstrap Blazor` service:'.

```suggestion
3. Open the `~/Startup.cs` file and register the `Bootstrap Blazor` service:
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

## Installation Guide

- Install .net core sdk [Official website](https://dotnet.microsoft.com/download)
- Install Visual Studio 2019 lastest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

issue (typo): Typo: 'lastest' should be 'latest'.

Update the installation instructions to use 'latest' instead of 'lastest'.

Suggested change
- Install Visual Studio 2019 lastest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)
- Install Visual Studio 2019 latest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)


`dotnet add package BootstrapBlazor`

2. **Add** the `stylesheet` `javascripts` file to your main index file - `Pages/_Host.cshtml (Server)` or `wwwroot/index.html (WebAssembly)`
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

issue (typo): Typo: 'javascripts' should be 'JavaScript files'.

Please update the wording to 'JavaScript files' for improved clarity.

Suggested change
2. **Add** the `stylesheet` `javascripts` file to your main index file - `Pages/_Host.cshtml (Server)` or `wwwroot/index.html (WebAssembly)`
2. **Add** the `stylesheet` and `JavaScript files` to your main index file - `Pages/_Host.cshtml (Server)` or `wwwroot/index.html (WebAssembly)`

</html>
```

3. Open the `~/Startup.cs` file in the and register the `Bootstrap Blazor` service:
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

issue (typo): Awkward phrasing: 'in the and register' should be corrected.

Change the sentence to: 'Open the ~/Startup.cs file and register the Bootstrap Blazor service:'.

Suggested change
3. Open the `~/Startup.cs` file in the and register the `Bootstrap Blazor` service:
3. Open the `~/Startup.cs` file and register the `Bootstrap Blazor` service:

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR reorganizes and refactors the BootstrapBlazor.CssBundler tool by moving it from src/tools/ to tools/ directory and updating its implementation. The main changes include updating the version to 9.0.0, modernizing C# syntax with collection expressions, cleaning up the project structure, and adding documentation files.

  • Relocated the CssBundler project from src/tools/ to tools/ directory
  • Updated version from 1.0.1 to 9.0.0 and modernized code syntax (collection expressions)
  • Added readme.md and logo.png files for documentation

Reviewed Changes

Copilot reviewed 6 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tools/BootstrapBlazor.CssBundler/readme.md Added comprehensive documentation for the BootstrapBlazor component library
tools/BootstrapBlazor.CssBundler/logo.png Added binary logo image file
tools/BootstrapBlazor.CssBundler/Program.cs New entry point file for the bundler tool
tools/BootstrapBlazor.CssBundler/BundlerOptions.cs Updated to use collection expression syntax ([] instead of new())
tools/BootstrapBlazor.CssBundler/Bundler.cs New file containing the core bundler logic
tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.xml Added XML documentation file
tools/BootstrapBlazor.CssBundler/BootstrapBlazor.CssBundler.csproj Updated version to 9.0.0 and reorganized properties
tools/BootstrapBlazor.CssBundler/ArgumentsHelper.cs Updated usage text and example paths
BootstrapBlazor.Extensions.slnx Updated solution structure to reflect new tools directory location

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

## Installation Guide

- Install .net core sdk [Official website](https://dotnet.microsoft.com/download)
- Install Visual Studio 2019 lastest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

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

Corrected spelling of 'lastest' to 'latest'.

Suggested change
- Install Visual Studio 2019 lastest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)
- Install Visual Studio 2019 latest [Official website](https://visualstudio.microsoft.com/vs/getting-started/)

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(Tools): move cli tool to root

2 participants