Skip to content

Commit 91de5a7

Browse files
docs(site): v1 updates (#1492)
* docs(site): v1 updates * fix: warnings and improve docs
1 parent acc05ee commit 91de5a7

14 files changed

Lines changed: 237 additions & 9 deletions

File tree

site/docs/commands/check_licenses.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,31 @@ very_good packages check licenses --ignore-retrieval-failures
101101
# ✓ Retrieved 6 licenses from 6 packages of type: BSD-3-Clause (3), MIT (1), unknown (1) and Apache-2.0 (1).
102102
```
103103

104+
### `reporter`
105+
106+
Lists all packages with their licenses in a specific format. This is useful for generating reports or auditing dependencies.
107+
108+
Available formats:
109+
110+
- `text`: Lists licenses without a specific format (e.g., `package_name - MIT`).
111+
- `csv`: Lists licenses in a CSV format (e.g., `package_name,MIT`).
112+
113+
#### Example usage:
114+
115+
```sh
116+
very_good packages check licenses --reporter=text
117+
118+
# package_a - MIT
119+
# package_b - BSD-3-Clause
120+
# package_c - Apache-2.0
121+
122+
very_good packages check licenses --reporter=csv
123+
124+
# package_a,MIT
125+
# package_b,BSD-3-Clause
126+
# package_c,Apache-2.0
127+
```
128+
104129
## Supported licenses 💳
105130

106131
The license detection is processed by [Dart's package analyzer](https://pub.dev/packages/pana), which reports commonly found licenses (SPDX licenses). The list of accepted licenses can be seen in the [SPDX GitHub repository](https://github.com/spdx/license-list-data/tree/main/text) or in the [SPDX License enumeration](https://github.com/VeryGoodOpenSource/very_good_cli/blob/main/lib/src/pub_license/spdx_license.gen.dart). Therefore, when specifying a license within arguments it must strictly match with the SPDX license name.

site/docs/commands/mcp.md

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
---
2+
sidebar_position: 4
3+
---
4+
5+
# MCP Server 🤖
6+
7+
Start the MCP (Model Context Protocol) server for AI assistant integration with `very_good mcp`.
8+
9+
:::warning
10+
This command relies on the [Dart MCP Server](https://docs.flutter.dev/ai/mcp-server). This is an experimental package and may change or become unstable without notice. Use it with caution at your own risk.
11+
:::
12+
13+
## Usage
14+
15+
```sh
16+
very_good mcp [arguments]
17+
-h, --help Print this usage information.
18+
19+
Run "very_good help" to see global options.
20+
```
21+
22+
The MCP server exposes Very Good CLI functionality through the [Model Context Protocol](https://modelcontextprotocol.io/), allowing AI assistants to interact with the CLI programmatically. This enables automated project creation, testing, and package management through MCP-compatible tools.
23+
24+
## Configuration
25+
26+
import Tabs from '@theme/Tabs';
27+
import TabItem from '@theme/TabItem';
28+
29+
<Tabs>
30+
<TabItem value="claude-desktop" label="Claude Desktop" default>
31+
32+
Add to `claude_desktop_config.json`:
33+
34+
```json
35+
{
36+
"mcpServers": {
37+
"very_good_cli": {
38+
"command": "very_good",
39+
"args": ["mcp"]
40+
}
41+
}
42+
}
43+
```
44+
45+
</TabItem>
46+
<TabItem value="claude-code" label="Claude Code">
47+
48+
Add to `.claude/settings.json`:
49+
50+
```json
51+
{
52+
"mcpServers": {
53+
"very_good_cli": {
54+
"command": "very_good",
55+
"args": ["mcp"]
56+
}
57+
}
58+
}
59+
```
60+
61+
</TabItem>
62+
<TabItem value="cursor" label="Cursor">
63+
64+
Add to `.cursor/mcp.json`:
65+
66+
```json
67+
{
68+
"mcpServers": {
69+
"very_good_cli": {
70+
"command": "very_good",
71+
"args": ["mcp"]
72+
}
73+
}
74+
}
75+
```
76+
77+
</TabItem>
78+
<TabItem value="vscode" label="VS Code / GitHub Copilot">
79+
80+
Add to `.vscode/mcp.json`:
81+
82+
```json
83+
{
84+
"servers": {
85+
"very_good_cli": {
86+
"command": "very_good",
87+
"args": ["mcp"],
88+
"type": "stdio"
89+
}
90+
}
91+
}
92+
```
93+
94+
</TabItem>
95+
<TabItem value="windsurf" label="Windsurf">
96+
97+
Add to `~/.windsurf/mcp.json`:
98+
99+
```json
100+
{
101+
"mcpServers": {
102+
"very_good_cli": {
103+
"command": "very_good",
104+
"args": ["mcp"]
105+
}
106+
}
107+
}
108+
```
109+
110+
</TabItem>
111+
</Tabs>
112+
113+
## Available Tools
114+
115+
The MCP server exposes the following tools to AI assistants:
116+
117+
### `create`
118+
119+
Create new Dart or Flutter projects from any of the available [templates](/docs/category/templates).
120+
121+
### `test`
122+
123+
Run tests with optional coverage and optimization. Supports both `dart test` and `flutter test` via a `dart` parameter.
124+
125+
See the [test command](/docs/commands/test) for more details.
126+
127+
### `packages_get`
128+
129+
Install or update Dart/Flutter package dependencies.
130+
131+
See the [get packages command](/docs/commands/get_pkgs) for more details.
132+
133+
### `packages_check_licenses`
134+
135+
Check packages for license compliance.
136+
137+
See the [check licenses command](/docs/commands/check_licenses) for more details.

site/docs/commands/test.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ very_good test [arguments]
3030
--force-ansi Whether to force ansi output. If not specified, it will maintain the default behavior based on stdout and stderr.
3131
--platform The platform to run tests on. For Flutter tests, this can be "chrome", "vm", "android", "ios", etc. For Dart tests, this can be "chrome", "vm", etc.
3232
--dart-define=<foo=bar> Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, int.fromEnvironment, and double.fromEnvironment constructors. Multiple defines can be passed by repeating "--dart-define" multiple times.
33+
--dart-define-from-file=<use-define-config.json|.env>
34+
The path of a .json or .env file containing key-value pairs that will be
35+
available as environment variables. Multiple defines can be passed by
36+
repeating "--dart-define-from-file" multiple times. Entries from
37+
"--dart-define" with identical keys take precedence.
38+
--collect-coverage-from=<imports|all>
39+
Whether to collect coverage from imported files only or all files.
40+
(defaults to "imports")
41+
--fail-fast Stop running tests after the first failure.
3342

3443
Run "very_good help" to see global options.
3544
```

site/docs/overview.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Very Good CLI is a Command-Line Interface that enables you to generate VGV-opini
1515
In order to use Very Good CLI you must have [Dart][dart_sdk] and [Flutter][flutter_sdk] installed on your machine.
1616

1717
:::info
18-
Very Good CLI requires Dart `">=3.1.0 <4.0.0"`
18+
Very Good CLI requires Dart `">=3.11.0 <4.0.0"`
1919
:::
2020

2121
## Installing
@@ -111,6 +111,9 @@ very_good packages check licenses --forbidden="unknown"
111111

112112
# Check licenses for certain dependencies types
113113
very_good packages check licenses --dependency-type="direct-main,transitive"
114+
115+
# Check and list licenses in the current directory
116+
very_good packages check licenses --reporter="csv"
114117
```
115118

116119
### `very_good test`
@@ -135,6 +138,12 @@ very_good test --recursive
135138

136139
# Run tests recursively (shorthand)
137140
very_good test -r
141+
142+
# Run tests and stop after the first failure
143+
very_good test --fail-fast
144+
145+
# Run tests and collect coverage from all files
146+
very_good test --coverage --collect-coverage-from all
138147
```
139148

140149
:::tip
@@ -160,6 +169,8 @@ Global options:
160169
Available commands:
161170
create very_good create <subcommand> <project-name> [arguments]
162171
Creates a new very good project in the specified directory.
172+
dart very_good dart <subcommand> [arguments]
173+
Run Dart CLI commands.
163174
mcp Start the MCP (Model Context Protocol) server. WARNING: This is an experimental package and may change or become unstable without notice. Use it with caution at your own risk.
164175
packages Command for managing packages.
165176
test Run tests in a Dart or Flutter project.

site/docs/templates/core.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,20 @@ dart pub global activate very_good_cli
5050

5151
Then, you can use the `very_good create flutter_app` command just like you would `flutter create`. If desired, can specify a custom org name at time of generation with the `--org` flag.
5252

53+
:::tip
54+
Use `-o` or `--output-directory` to specify a custom output directory for the generated project.
55+
:::
56+
5357
```sh
5458
# Create a new Flutter app named my_app
5559
very_good create flutter_app my_app --desc "My new Flutter app"
5660

5761
# Create a new Flutter app named my_app with a custom org
5862
very_good create flutter_app my_app --desc "My new Flutter app" --org "com.custom.org"
5963

64+
# Create a new Flutter app named my_app with a custom application id
65+
very_good create flutter_app my_app --application-id "com.custom.app.id"
66+
6067
# Create a new Flutter app named with the name of the current directory
6168
very_good create flutter_app . --desc "My new Flutter app"
6269
```

site/docs/templates/dart_cli.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,20 @@ This template is for a Dart Command-Line Interface.
1010

1111
## Usage
1212

13+
:::tip
14+
Use `-o` or `--output-directory` to specify a custom output directory for the generated project.
15+
:::
16+
1317
```sh
1418
# Create a new Dart CLI application named my_dart_cli
1519
very_good create dart_cli my_dart_cli --desc "My new Dart CLI package"
1620

1721
# Create a new Dart CLI application named my_dart_cli with a custom executable name
1822
very_good create dart_cli my_dart_cli --desc "My new Dart CLI package" --executable-name my_executable_name
1923

24+
# Create a new Dart CLI application named my_dart_cli that is publishable
25+
very_good create dart_cli my_dart_cli --desc "My new Dart CLI package" --publishable
26+
2027
# Create a new Dart CLI named with the name of the current directory
2128
very_good create dart_cli . --desc "My new Dart CLI package"
2229
```

site/docs/templates/dart_pkg.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ This template is for a Dart package.
88

99
## Usage
1010

11+
:::tip
12+
Use `-o` or `--output-directory` to specify a custom output directory for the generated project.
13+
:::
14+
1115
```sh
1216
# Create a new Dart package named my_dart_package
1317
very_good create dart_package my_dart_package --desc "My new Dart package"

site/docs/templates/docs_site.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,17 @@ This template is powered by [Docusaurus][docusaurus_link] and comes with the fol
2828

2929
## Getting Started 🚀
3030

31+
:::tip
32+
Use `-o` or `--output-directory` to specify a custom output directory for the generated project.
33+
:::
34+
3135
```sh
3236
# Create a new docs site named my_docs_site
3337
very_good create docs_site my_docs_site
3438

39+
# Create a new docs site named my_docs_site with a custom org
40+
very_good create docs_site my_docs_site --org "my-custom-org"
41+
3542
# Create a new docs site named with the name of the current directory
3643
very_good create docs_site .
3744
```

site/docs/templates/federated_plugin.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ This template is for a plugin that follows the [federated plugin architecture][f
88

99
## Usage
1010

11+
:::tip
12+
Use `-o` or `--output-directory` to specify a custom output directory for the generated project.
13+
:::
14+
1115
```sh
1216
# Create a new Flutter plugin named my_flutter_plugin (all platforms enabled)
1317
very_good create flutter_plugin my_flutter_plugin --desc "My new Flutter plugin"
@@ -31,6 +35,9 @@ very_good create flutter_plugin my_flutter_plugin --desc "My new Flutter plugin"
3135

3236
# Create a new Flutter plugin named with the name of the current directory
3337
very_good create flutter_plugin . --desc "My new Flutter plugin" --platforms android,ios,web
38+
39+
# Create a new Flutter plugin named my_flutter_plugin that is publishable
40+
very_good create flutter_plugin my_flutter_plugin --desc "My new Flutter plugin" --publishable
3441
```
3542

3643
[federated_plugin_docs]: https://docs.flutter.dev/development/packages-and-plugins/developing-packages#federated-plugins

site/docs/templates/flame_game.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ The values for platforms are: `android`, `ios`, `web`, `macos`, and `windows`.
3434

3535
## Usage
3636

37+
:::tip
38+
Use `-o` or `--output-directory` to specify a custom output directory for the generated project.
39+
:::
40+
3741
```sh
3842
# Create a new Flame game named my_game
3943
very_good create flame_game my_game --desc "My new Flame game"

0 commit comments

Comments
 (0)