Skip to content

Build from blueprint#1

Merged
GhostTypes merged 2 commits intomainfrom
claude/build-from-blueprint-01F15B5y773bkm1f1Qinxyrk
Nov 19, 2025
Merged

Build from blueprint#1
GhostTypes merged 2 commits intomainfrom
claude/build-from-blueprint-01F15B5y773bkm1f1Qinxyrk

Conversation

@GhostTypes
Copy link
Copy Markdown
Contributor

No description provided.

This commit implements the entire code-search-mcp-universal-ctags package
from scratch according to the blueprint specifications.

Key Features:
- Cross-platform binary download and installation (Windows, macOS, Linux)
- Support for x64 and ARM64 architectures
- Automatic postinstall script that downloads appropriate binaries
- Comprehensive test suite with platform-specific tests
- GitHub Actions workflows for testing and publishing
- ESLint 9 configuration with flat config format
- Professional README following FlashForgeUI structure

Package Structure:
- lib/index.js: Main entry point exporting ctagsPath
- lib/postinstall.js: Download and extraction logic
- lib/util.js: Helper functions for platform detection and file operations
- test/basic.test.js: Comprehensive test suite
- .github/workflows/: CI/CD workflows for testing and publishing

Binary Sources:
- Windows: universal-ctags/ctags-win32 releases
- Unix: universal-ctags/ctags-nightly-build releases

The package is ready to be published to GitHub Package Registry.
This commit fixes the failing platform tests by addressing two issues:

1. GitHub API Rate Limiting (macOS 403 errors):
   - Added GITHUB_TOKEN environment variable to all test jobs
   - This prevents rate limiting when fetching release information

2. Incorrect Download URLs (Linux/macOS 404 errors):
   - Fixed URL format for ctags-nightly-build releases
   - Strip git hash from version for filename (use date part only)
   - Changed platform name from "darwin" to "macos" with OS version
   - Added ".release" suffix before file extension
   - Fixed architecture mapping (x86_64 vs arm64 for macOS)

URL format changes:
- Old: uctags-{version+hash}-darwin-{arch}.tar.gz
- New: uctags-{version}-macos-12.0-{arch}.release.tar.gz
- Linux: uctags-{version}-linux-{arch}.release.tar.gz

This should resolve all platform test failures.
@GhostTypes GhostTypes self-assigned this Nov 19, 2025
@GhostTypes GhostTypes merged commit d6e7bb1 into main Nov 19, 2025
9 checks passed
@GhostTypes GhostTypes deleted the claude/build-from-blueprint-01F15B5y773bkm1f1Qinxyrk branch November 19, 2025 02:36
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