Skip to content

Conversation

@Pterjudin
Copy link

@Pterjudin Pterjudin commented Nov 26, 2025

  • Replace build.sh with build-new.sh in all workflows
  • New build system is faster, cleaner, and more maintainable
  • Uses unified build script from cortexide/scripts/build.sh
  • Reduces complexity from 2900+ lines to ~200 lines

Note

Updates CI to use ./build-new.sh, introduces a unified build/release pipeline with platform packaging scripts, and adds a CSS import transformer in the optimizer.

  • CI/CD:
    • Update stable-{linux|macos|windows}.yml to run ./build-new.sh instead of ./build.sh.
  • Build/Release Tooling:
    • Add build-new.sh (builder orchestrator) and release-new.sh (end-to-end release).
    • Add platform packaging scripts: build/osx/package.sh, build/linux/package.sh, build/windows/package.sh.
  • Docs:
    • Add BUILD_SYSTEM.md, CHANGELOG_BUILD_SYSTEM.md, HOW_TO_BUILD_AND_RELEASE.md, README_NEW_BUILD.md describing the new system.
  • Codegen/Optimizer:
    • Enhance vscode/build/lib/optimize.js to transform CSS import statements into runtime <link> injection to avoid MIME-type issues.

Written by Cursor Bugbot for commit ffbe772. This will update automatically on new commits. Configure here.

- Replace build.sh with build-new.sh in all workflows
- New build system is faster, cleaner, and more maintainable
- Uses unified build script from cortexide/scripts/build.sh
- Reduces complexity from 2900+ lines to ~200 lines
@Pterjudin Pterjudin merged commit 391b564 into main Nov 26, 2025
1 check passed
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

This PR is being reviewed by Cursor Bugbot

Details

You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.


# Check if dpkg-deb is available
if ! command -v dpkg-deb &> /dev/null; then
log_warning "dpkg-deb not found, skipping DEB creation"
Copy link

Choose a reason for hiding this comment

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

Bug: Missing log_warning function in packaging scripts

The packaging scripts call log_warning() but only define log_info, log_success, and log_error functions. When conditions like missing dpkg-deb, hdiutil, or zip commands are encountered, the scripts will fail with "command not found: log_warning" instead of gracefully handling the optional dependencies.

Additional Locations (2)

Fix in Cursor Fix in Web

log_info "Step 4: Releasing to GitHub..."

# Check for GitHub token
if [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${RELEASE_GITHUB_TOKEN}" ]]; then
Copy link

Choose a reason for hiding this comment

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

Bug: Unbound variable causes crash before token check

The script uses set -u (strict mode for unset variables) but checks ${GITHUB_TOKEN} and ${RELEASE_GITHUB_TOKEN} without default values. When these environment variables are unset, bash will crash with an "unbound variable" error before the friendly error message on line 243 can be displayed. The variables need to use the :- syntax like ${GITHUB_TOKEN:-} to handle unset variables gracefully.

Fix in Cursor Fix in Web


```bash
# Navigate to cortexide directory
cd /Users/tajudeentajudeen/CodeBase/cortexide/cortexide
Copy link

Choose a reason for hiding this comment

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

Bug: Developer's local file paths accidentally committed

The documentation contains hardcoded personal file paths (/Users/tajudeentajudeen/CodeBase/cortexide/...) throughout the file. These developer-specific paths appear in multiple code examples and are not useful for other contributors. The paths appear on lines 34, 49, 74, 94, 113, 134, 182, 268-269, 277, 320, 330, 334, and 391.

Fix in Cursor Fix in Web

const existing = document.querySelector('link[href*="' + cssFileName + '"]');
if (!existing) {
document.head.appendChild(link);
}
Copy link

Choose a reason for hiding this comment

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

Bug: CSS duplicate detection uses flawed filename-only matching

The CSS duplicate detection uses document.querySelector('link[href*="' + cssFileName + '"]') with substring matching on just the filename extracted via split('/').pop(). This incorrectly prevents loading CSS files that share the same filename but are in different directories. For example, if both ./components/button.css and ./utils/button.css are imported, only the first will be loaded because the selector [href*="button.css"] matches any link containing that substring.

Additional Locations (2)

Fix in Cursor Fix in Web

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.

2 participants