From 76dac96583c585ee7cf11e5f851420f25dab54cc Mon Sep 17 00:00:00 2001 From: Devid HW Date: Wed, 22 Apr 2026 04:48:56 +0700 Subject: [PATCH] docs: update release workflow to use single installation path - Use ~/.local/bin/mt5-quant as single installation location - Remove redundant project URL references - Simplify MCP registration for all clients (Claude, Windsurf, VS Code) --- .windsurf/workflows/release.md | 153 +++++++++++++++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 .windsurf/workflows/release.md diff --git a/.windsurf/workflows/release.md b/.windsurf/workflows/release.md new file mode 100644 index 0000000..5192a36 --- /dev/null +++ b/.windsurf/workflows/release.md @@ -0,0 +1,153 @@ +--- +description: Release workflow - bump version, build, and publish MCP server +tags: [release, publish, workflow] +--- + +# MT5-Quant Release Workflow + +Steps to release a new version of the MCP server. + +## 1. Pre-Release Checklist + +- [ ] All features implemented and tested +- [ ] Documentation updated (README.md, MCP_TOOLS.md) +- [ ] Tool count verified: `grep -r "pub fn tool_" src/tools/definitions/ | wc -l` +- [ ] Version bumped in Cargo.toml +- [ ] Build passes: `cargo build --release` + +## 2. Update Documentation + +// turbo +```bash +grep -r "pub fn tool_" src/tools/definitions/ | wc -l +``` + +Update these files with correct tool counts: +- `README.md` - header and "MCP Tools (N)" section +- `docs/MCP_TOOLS.md` - "documents X of Y total tools" line + +## 3. Bump Version + +Edit `Cargo.toml` and update the version: +```toml +version = "X.Y.Z" +``` + +## 4. Build Release + +// turbo +```bash +bash scripts/build-release.sh +``` + +This creates: `dist/mcp-mt5-quant-{platform}.tar.gz` + +Calculate SHA256 for server.json: +```bash +shasum -a 256 dist/mcp-mt5-quant-macos-arm64.tar.gz +``` + +## 5. Update MCP Server Configuration + +Update both `server.json` files with: +- New version +- New SHA256 hash from step 4 +- Updated download URL +- Tool count in description + +Files to update: +- `server.json` +- `mcp-package/server.json` + +Then copy the release package: +```bash +cp dist/mcp-mt5-quant-macos-arm64.tar.gz mcp-package/ +``` + +## 6. Create Git Tag & Commit + +```bash +git add . +git commit -m "Release vX.Y.Z - brief description" +git tag vX.Y.Z +git push origin vX.Y.Z +``` + +## 7. Create GitHub Release (Manual) + +1. Go to GitHub → Releases → Draft new release +2. Choose tag: `vX.Y.Z` +3. Release title: `vX.Y.Z` +4. Attach binary: `dist/mcp-mt5-quant-macos-arm64.tar.gz` +5. Publish release + +## 8. Install Binary to System Path + +Install the binary to a single location for all MCP clients: + +```bash +# Create local bin if needed +mkdir -p ~/.local/bin + +# Install binary +cp target/release/mt5-quant ~/.local/bin/ + +# Or system-wide (requires sudo) +# sudo cp target/release/mt5-quant /usr/local/bin/ +``` + +**Installation Path:** `~/.local/bin/mt5-quant` (single location for all clients) + +## 9. MCP Registration + +Use the installed binary path (not project directory): + +### Claude Code +```bash +claude mcp add mt5-quant -- ~/.local/bin/mt5-quant +``` + +### Windsurf +Edit `~/.codeium/windsurf/mcp_config.json`: +```json +{ + "mcpServers": { + "mt5-quant": { + "command": "~/.local/bin/mt5-quant" + } + } +} +``` + +### VS Code / Cursor +Edit `~/.cursor/mcp.json` or `.vscode/mcp.json`: +```json +{ + "mcpServers": { + "mt5-quant": { + "command": "~/.local/bin/mt5-quant" + } + } +} +``` + +## 10. Post-Release Verification + +// turbo +```bash +# Test the binary +./target/release/mt5-quant --help + +# Verify tool count +./target/release/mt5-quant 2>&1 | head -20 +``` + +## Quick Release Commands + +```bash +# Full release cycle +vim Cargo.toml # bump version +bash scripts/build-release.sh +git add . && git commit -m "Release vX.Y.Z" +git tag vX.Y.Z && git push origin vX.Y.Z +```