Skip to content

fix(schema): Add detailed reference for the root cli object#15

Merged
ioncakephper merged 1 commit intomainfrom
chore/top-cli-readme
Dec 8, 2025
Merged

fix(schema): Add detailed reference for the root cli object#15
ioncakephper merged 1 commit intomainfrom
chore/top-cli-readme

Conversation

@ioncakephper
Copy link
Copy Markdown
Owner

A new subsection, 'The cli Object', has been added to the 'Schema Reference' in the README.md. This section now provides a comprehensive table detailing all properties of the top-level cli object, including their type and description. Properties covered include name, version, description, sortCommands, sortOptions, showGlobalOptions, defaultConfigFile, fallbackConfig, arguments, options, and commands.

Additionally, the introductory text has been updated to clarify that the cli object is mandatory and that any other top-level properties existing alongside it will not be validated by the schema.

A new subsection, 'The `cli` Object', has been added to the 'Schema Reference' in the `README.md`. This section now provides a comprehensive table detailing all properties of the top-level `cli` object, including their type and description. Properties covered include `name`, `version`, `description`, `sortCommands`, `sortOptions`, `showGlobalOptions`, `defaultConfigFile`, `fallbackConfig`, `arguments`, `options`, and `commands`.

Additionally, the introductory text has been updated to clarify that the `cli` object is mandatory and that any other top-level properties existing alongside it will not be validated by the schema.
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello @ioncakephper, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the documentation for the CLI schema by providing a dedicated and detailed reference for the root cli object. This improvement aims to offer clearer guidance to users on how to configure their command-line interfaces, ensuring they understand the purpose and validation rules for each top-level property.

Highlights

  • Schema Reference Update: A new subsection, 'The cli Object', has been added to the 'Schema Reference' in the README.md to provide detailed documentation for the root cli object.
  • Detailed cli Object Properties: A comprehensive table has been included, detailing all properties of the top-level cli object, including their type and description, such as name, version, description, sortCommands, sortOptions, showGlobalOptions, defaultConfigFile, fallbackConfig, arguments, options, and commands.
  • Clarification on cli Object Mandate: The introductory text has been updated to explicitly state that the cli object is mandatory and that any other top-level properties existing alongside it will not be validated by the schema.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@ioncakephper ioncakephper merged commit ef34155 into main Dec 8, 2025
1 check passed
@ioncakephper ioncakephper deleted the chore/top-cli-readme branch December 8, 2025 12:27
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request enhances the README.md by adding a detailed reference table for the properties of the root cli object. The changes improve the documentation significantly by providing a clear overview of the available configuration options. However, I've identified an inconsistency where the documentation includes a version property that is not actually defined in the schema/cli.schema.json. My review includes a suggestion to correct this to ensure the documentation accurately reflects the schema.

| Property | Type | Description |
| ------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `name` | `string` | The name of your CLI application. **(Required)** |
| `version` | `string` | The version of your CLI. It is recommended to follow semantic versioning (e.g., `1.0.0`). |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The documentation adds a version property to the cli object's reference table. However, this property is not defined in schema/cli.schema.json. This inconsistency can be misleading for users trying to create a valid CLI definition based on the schema. To ensure the documentation accurately reflects the schema, this property should be removed from the table. If supporting a version property is desired, the JSON schema should be updated first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant