Skip to content

Conversation

@KUASWoodyLIN
Copy link
Contributor

…cture and clarity

Copilot AI review requested due to automatic review settings November 27, 2025 10:20
@KUASWoodyLIN KUASWoodyLIN requested a review from iasthc as a code owner November 27, 2025 10:20
@KUASWoodyLIN KUASWoodyLIN linked an issue Nov 27, 2025 that may be closed by this pull request
@KUASWoodyLIN KUASWoodyLIN merged commit 8c3ef41 into main Nov 27, 2025
2 checks passed
@gemini-code-assist
Copy link

Summary of Changes

Hello @KUASWoodyLIN, 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 focuses on a comprehensive refactor of the project's documentation to enhance its structure, clarity, and overall user experience. The changes involve reorganizing existing content into more intuitive paths, introducing new detailed guides for critical setup and management processes, and updating the navigation system to seamlessly integrate these improvements. The primary goal is to make the documentation more accessible and easier to navigate for both new and returning users.

Highlights

  • Documentation Restructuring: The documentation has undergone a significant reorganization, particularly for the 'Get Started' and 'Scope' sections, which are now consolidated under a new 'getting-started' directory for improved logical flow.
  • Numbered File Prefixes: Numerous documentation files across 'basic' and 'service' directories have been renamed with numerical prefixes (e.g., 'machines.md' to '01-machines.md') to ensure explicit ordering and better navigation within the sidebar.
  • Updated Navigation Configuration: The astro.config.mjs file has been updated to reflect the new documentation structure, including new sidebar labels, slug definitions, and the introduction of Chinese translations for key sections.
  • New Content and Guides: Detailed new documentation pages have been added for 'Prerequisites', 'Installation', and a comprehensive 'Scope' guide within the new getting-started section, alongside a new overarching introduction.md page.
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.

Copy link

@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 significantly refactors and improves the documentation structure by reorganizing files, adding an introduction and getting started guide, and clarifying sidebar navigation. The changes are well-executed and enhance clarity. My review includes suggestions to improve consistency in labels, clarify potentially ambiguous instructions, and adopt more maintainable and accessible formatting in the markdown files.

Comment on lines +50 to 61
label: 'basic',
translations: {
'zh-Hant': '基本'
},
autogenerate: { directory: 'basic' }
},
{
label: '服務',
label: 'service',
translations: {
'zh-Hant': '服務'
},
autogenerate: { directory: 'service' }

Choose a reason for hiding this comment

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

medium

For consistency with other capitalized sidebar labels like 'Introduction' and 'Getting Started', it would be better to capitalize the labels for 'basic' and 'service' as well.

Suggested change
label: 'basic',
translations: {
'zh-Hant': '基本'
},
autogenerate: { directory: 'basic' }
},
{
label: '服務',
label: 'service',
translations: {
'zh-Hant': '服務'
},
autogenerate: { directory: 'service' }
label: 'Basic',
translations: {
'zh-Hant': '基本'
},
autogenerate: { directory: 'basic' }
},
{
label: 'Service',
translations: {
'zh-Hant': '服務'
},
autogenerate: { directory: 'service' }


| Service Group | Port(s) | Domains |
| :---------------------- | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Canonical Services** | TCP 443 (HTTPS)<br>TCP 80 (HTTP)\* | `api.charmhub.io`, `api.jujucharms.com`, `changelogs.ubuntu.com`, `charmhub.io`, `cloud-images.ubuntu.com`, `maas.ubuntu.com`, `images.maas.io`\*, `juju.is`, `jaas.ai`, `streams.canonical.com`, `objects.githubusercontent.com`, `contracts.canonical.com` |

Choose a reason for hiding this comment

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

medium

The asterisks next to (HTTP)* and images.maas.io* seem to indicate a footnote or special condition, but there is no corresponding explanation in the document. Please add a note to clarify what the asterisks mean to avoid confusion.

Comment on lines +35 to +38
Execute the installation script through the User Interface:

1. Access the OtterScale UI.
2. Execute the `install.sh` script.

Choose a reason for hiding this comment

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

medium

The instruction 'Execute the install.sh script' through the UI could be more specific. To improve clarity for the user, consider explaining how to execute the script from the UI. For example, is there a button to click, or a command provided in the UI to be run elsewhere?

Comment on lines +33 to +43
- **Label**: Scope Name <span style="color: #eab308">●</span>
- **Description**: Enter a unique name for your scope.
- **Input**: Text field (Required).

#### Machine Selection

- **Label**: Machine <span style="color: #eab308">●</span>
- **Description**: Select the physical machine to assign to this scope.
- **Input**: Dropdown menu.
- The dropdown lists available machines that are in the `Ready` status.
- Hovering over the info icon <span class="iconify" data-icon="ph:info"></span> next to a machine name displays detailed hardware specifications (CPU, Memory, Storage, System info, etc.).

Choose a reason for hiding this comment

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

medium

Using raw HTML like <span style="color: #eab308">●</span> (line 33) and <span class="iconify" ...></span> (line 43) to render UI elements in Markdown can be brittle and hard to maintain. It may also present accessibility issues.

Consider using a more semantic and standard Markdown approach. For example:

  • For required fields, you could add (Required) text next to the label.
  • For icons, you could use an emoji or a shortcode if your framework supports it.

This would make the documentation cleaner and more resilient to future style changes.

@@ -0,0 +1,38 @@
---
title: Get Started

Choose a reason for hiding this comment

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

medium

The title of this page is 'Get Started', but the file is named introduction.md and its sidebar label is 'Introduction'. For consistency, it would be better to change the title to 'Introduction'.

Suggested change
title: Get Started
title: Introduction

Copy link

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 refactors the documentation structure by reorganizing files into logical sections (getting-started, basic, service) with numeric prefixes for ordering, creating comprehensive new documentation pages, and updating the navigation configuration accordingly.

Key Changes:

  • Reorganized documentation into three main sections: Getting Started, Basic, and Service
  • Created detailed documentation for prerequisites, installation, scope management, machines, networking, configuration, applications, compute, models, storage, and settings
  • Updated Astro configuration to reflect new structure with proper translations and autogeneration
  • Replaced outdated /guides/example/ link with /introduction/ in the main hero section

Reviewed changes

Copilot reviewed 8 out of 17 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/content/docs/introduction.md New comprehensive introduction page explaining OtterScale's architecture, features, and next steps
src/content/docs/getting-started/01-prerequisites.md Detailed prerequisites including system requirements, hardware specs, network configuration, and firewall rules
src/content/docs/getting-started/02-installation.md Step-by-step installation guide with Docker Compose setup and configuration
src/content/docs/getting-started/03-scope.md Comprehensive scope management guide including creation process, plan selection, and configuration details
src/content/docs/basic/01-machines.md Documentation for managing physical and virtual machines
src/content/docs/basic/02-networking.md Networking configuration documentation
src/content/docs/basic/03-configuration.md Global configuration settings documentation
src/content/docs/service/01-applications.md Application management documentation covering workloads, services, secrets, and store
src/content/docs/service/02-compute.md Virtual machine management documentation
src/content/docs/service/03-models.md LLM model management documentation
src/content/docs/service/04-storage.md Storage resources management documentation
src/content/docs/service/05-settings.md Application-specific settings documentation
src/content/docs/create-scope.md Simplified scope documentation (appears to be a duplicate)
src/content/docs/index.mdx Updated hero link to point to new introduction page
src/content/docs/get-started.md Removed old getting started page in favor of new structure
astro.config.mjs Updated sidebar configuration with new sections, translations, and locales export
src/content.config.ts Removed trailing comma from collection definition

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

Comment on lines +8 to +10
## Installation Process

### 1. Start Services
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

[nitpick] Consider adding a blank line after the heading on line 8 and before the subheading on line 10 for better readability and consistency with markdown formatting best practices.

Copilot uses AI. Check for mistakes.
},
{
label: '服務',
label: 'service',
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

The label for the 'service' section should be capitalized as "Service" to maintain consistency with other section labels like "Introduction" and "Getting Started".

Suggested change
label: 'service',
label: 'Service',

Copilot uses AI. Check for mistakes.
label: '基礎',
label: 'basic',
translations: {
'zh-Hant': '基本'
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

[nitpick] Consider making the translation key more descriptive. The Chinese translation '基本' means 'basic' or 'fundamental', while '基礎' (which was used before) means 'foundation' or 'basics'. If you intended to change the meaning, this is correct, but if not, consider reverting to '基礎' for consistency.

Suggested change
'zh-Hant': '基本'
'zh-Hant': '基礎'

Copilot uses AI. Check for mistakes.

export const collections = {
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() })
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

[nitpick] Removing the trailing comma is inconsistent with modern JavaScript/TypeScript best practices, which recommend trailing commas in multi-line object/array literals for cleaner diffs. Consider keeping the trailing comma.

Suggested change
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() })
docs: defineCollection({ loader: docsLoader(), schema: docsSchema(), })

Copilot uses AI. Check for mistakes.
Comment on lines +42 to +43
- The dropdown lists available machines that are in the `Ready` status.
- Hovering over the info icon <span class="iconify" data-icon="ph:info"></span> next to a machine name displays detailed hardware specifications (CPU, Memory, Storage, System info, etc.).
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

Inconsistent list formatting. Line 42 uses a hyphen (-) for the list item, while line 43 uses two spaces and a hyphen. All sub-items under "Input" should consistently use the same indentation level (either 2 or 4 spaces).

Copilot uses AI. Check for mistakes.

{
label: '基礎',
label: 'basic',
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

The label for the 'basic' section should be capitalized as "Basic" to maintain consistency with other section labels like "Introduction" and "Getting Started".

Suggested change
label: 'basic',
label: 'Basic',

Copilot uses AI. Check for mistakes.

## Next Steps

- [Check Prerequisites](/getting-started/01-prerequisites)
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

The "Next Steps" section links to Prerequisites (01) and Create a Scope (03), but skips the Installation guide (02). Consider adding a link to /getting-started/02-installation between the prerequisites and scope creation steps for a complete getting started flow.

Suggested change
- [Check Prerequisites](/getting-started/01-prerequisites)
- [Check Prerequisites](/getting-started/01-prerequisites)
- [Install OtterScale](/getting-started/02-installation)

Copilot uses AI. Check for mistakes.
Comment on lines +50 to +52
- This section appears after you select a machine.
- It lists available non-boot block devices.
- Hovering over a device shows its model and capacity.
Copy link

Copilot AI Nov 27, 2025

Choose a reason for hiding this comment

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

Inconsistent list formatting. Lines 50-52 have inconsistent indentation. Line 50 uses a hyphen at the start, while lines 51-52 use two spaces before the hyphen. All sub-items should use consistent indentation.

Copilot uses AI. Check for mistakes.
@KUASWoodyLIN KUASWoodyLIN deleted the 16-refactor-documentation-project-structure branch November 28, 2025 07:47
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.

Refactor Documentation Project Structure

3 participants