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)
This commit is contained in:
@@ -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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user