Skip to content

Conversation

@KubrickCode
Copy link
Owner

Restructured nested src/extension/src/ hierarchy to src-level flat organization with extension and view at equal depth

  • src/extension/: entry point only (main.ts)
  • src/internal/: private implementation (managers, providers, adapters)
  • src/pkg/: public API (types, constants)
  • src/tests/: integration tests (*.test.ts → *.spec.ts)
  • src/view/: React configuration UI (renamed from web-view)
  • src/shared/: shared types/constants between Extension and View

fix #76

@github-actions github-actions bot added the refactor Refactoring code label Nov 18, 2025
@KubrickCode
Copy link
Owner Author

/gemini review

@gemini-code-assist
Copy link

Summary of Changes

Hello @KubrickCode, 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 introduces a significant refactoring of the project's directory structure. The primary goal is to establish a clearer separation between different components of the application, such as the extension's entry point, internal logic, public API, and the user interface. This reorganization aims to enhance maintainability, readability, and scalability by providing a more intuitive and flat hierarchy at the src level.

Highlights

  • Project Structure Refactoring: The core project structure has been flattened and reorganized to improve clarity and separation of concerns. The previous src/extension/src/ hierarchy has been replaced with a src-level organization.
  • New Directory Layout: New top-level directories under src/ have been introduced: extension/ for the main entry point, internal/ for private implementations, pkg/ for public API elements (types, constants), tests/ for integration tests, view/ for the React UI, and shared/ for common types/constants.
  • Webview Renaming: The src/web-view/ directory has been renamed to src/view/ to better reflect its purpose as the React configuration UI.
  • Test File Renaming and Relocation: All test files have been renamed from *.test.ts to *.spec.ts and moved into the new src/tests/ directory, centralizing test files and aligning with common testing conventions.
  • Build and Configuration Updates: The justfile and jest.config.js have been updated to reflect the new file paths and directory structure, ensuring that build, linting, and testing processes continue to function correctly.
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 is a significant refactoring that flattens the project structure, which is a great improvement for clarity and organization. The file moves and path updates are mostly correct. I've identified a couple of issues in the configuration files and one style violation that should be addressed to complete this refactoring cleanly.

@KubrickCode KubrickCode force-pushed the develop/shlee/76 branch 5 times, most recently from b7ac1d6 to 8cf92d9 Compare November 18, 2025 14:49
@KubrickCode
Copy link
Owner Author

/gemini review

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 is a significant refactoring that flattens the project structure, which is a great improvement for clarity and organization. The changes are well-executed and consistent with the new architecture described. I appreciate the effort to align object properties alphabetically in src/shared/constants.ts and src/shared/types.ts, which adheres to the style guide. I've made a few suggestions to further improve maintainability by reducing repetition and magic strings, in line with the repository's coding conventions. Specifically, I've pointed out opportunities to consolidate repetitive commands in the justfile and to replace hardcoded values with constants in the TypeScript source code.

@KubrickCode
Copy link
Owner Author

/gemini review

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 is a significant refactoring that flattens the project structure into a more organized, src-level layout. The changes are extensive, involving moving many files, updating configurations, and adjusting import paths. The new structure with internal, pkg, shared, tests, and view directories is well-defined and improves modularity. The configuration files (justfile, tsconfig.json, eslint.config.js, etc.) have been updated accordingly to support the new structure. I've found a couple of minor issues related to configuration and documentation that should be addressed.

Restructured nested src/extension/src/ hierarchy to src-level flat organization with extension and view at equal depth

- src/extension/: entry point only (main.ts)
- src/internal/: private implementation (managers, providers, adapters)
- src/pkg/: public API (types, constants)
- src/tests/: integration tests (*.test.ts → *.spec.ts)
- src/view/: React configuration UI (renamed from web-view)
- src/shared/: shared types/constants between Extension and View

fix #76
@KubrickCode
Copy link
Owner Author

/gemini review

@gemini-code-assist
Copy link

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@KubrickCode KubrickCode merged commit 2ff5a4a into main Nov 18, 2025
5 checks passed
@KubrickCode KubrickCode deleted the develop/shlee/76 branch November 18, 2025 15:15
@KubrickCode
Copy link
Owner Author

🎉 This PR is included in version 0.3.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Labels

refactor Refactoring code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reorganize Extension project structure

2 participants