dev#308
Conversation
Forge changes: - Fix BRANCH variable not being used (was detecting branch instead) - "Already active" check now respects BRANCH parameter - Add safety check: abort with warning if uncommitted changes exist - Branch sync no longer creates from main (preserves current branch) - Remove aggressive git pull that could overwrite local commits Forge-core changes (via hooks): - Rename all crates to forge-core-* prefix for crates.io - Add publish-crates.yml workflow for stable-only publishing - Update all internal imports to new crate names
- Updated all dependency names from db/services/etc to forge-core-* - Fixed imports in forge-app and forge-extensions - Updated .cargo/config.toml patch section for new names - Updated Makefile dev-core commands for new names - Added workspace.package fields (authors, license, etc) for inheritance
Replace git dependency with crates.io version: - ts-rs → ts-rs-forge v11.0.1 (namastexlabs fork) - Update imports in forge-app, forge-extensions - forge-core bumped to v0.8.7-rc.26
Summary of ChangesHello @namastex888, 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 undertakes a significant refactoring effort by renaming all internal Highlights
Ignored Files
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
This pull request introduces a significant refactoring, primarily renaming the internal forge-core crates to have a forge-core- prefix for clarity. This change is propagated throughout the codebase, including Cargo.toml files, Cargo.lock, and use statements in the Rust source. Additionally, the dev-core development workflow in the Makefile has been substantially improved with better branch handling and safety checks. The release script has also been made more robust.
I've found a couple of critical issues in the example files where the new crate paths seem to have been applied incorrectly, which will likely lead to compilation failures. Other than that, the refactoring appears to be consistent and well-implemented.
|
|
||
| // Initialize forge services | ||
| match forge_app_lib::services::ForgeServices::new().await { | ||
| match forge_app_lib::forge_core_services::ForgeServices::new().await { |
There was a problem hiding this comment.
The path forge_app_lib::forge_core_services::ForgeServices appears to be incorrect. forge_core_services is a dependency of the forge_app_lib crate, not a module within it that can be accessed this way from an external example. The ForgeServices struct you likely want to instantiate is the wrapper defined in forge-app/src/services/mod.rs. The original path forge_app_lib::services::ForgeServices was correct. This change will likely cause a compilation error.
| match forge_app_lib::forge_core_services::ForgeServices::new().await { | |
| match forge_app_lib::services::ForgeServices::new().await { |
|
|
||
| // Load profiles | ||
| let loader = forge_app_lib::services::genie_profiles::GenieProfileLoader::new(&workspace_root); | ||
| let loader = forge_app_lib::forge_core_services::genie_profiles::GenieProfileLoader::new(&workspace_root); |
There was a problem hiding this comment.
The path forge_app_lib::forge_core_services::genie_profiles::GenieProfileLoader seems incorrect. genie_profiles is a module within forge_app_lib::services, and forge_core_services is a dependency, not a module. The correct path to GenieProfileLoader should be through the services module. This change will likely cause a compilation error.
| let loader = forge_app_lib::forge_core_services::genie_profiles::GenieProfileLoader::new(&workspace_root); | |
| let loader = forge_app_lib::services::genie_profiles::GenieProfileLoader::new(&workspace_root); |
No description provided.