hsh19900502
v1.0.25
Published
A TypeScript-based CLI tool that provides Git workflow automation, IDE project management, and MCP server configuration synchronization.
Readme
hsh - CLI Workflow Automation Tool
A TypeScript-based CLI tool that provides Git workflow automation, IDE project management, and MCP server configuration synchronization.
Installation
yarn install
yarn build:installFeatures
Git Workflow Automation
hsh gcm <message> [--push]- Add all, commit with message, optionally pushhsh push- Interactive branch selection for pushing to remotehsh merge <branch>- Safe merge with branch switching and pullinghsh mr create- Create merge requests with JIRA integrationhsh branchout <branch>- Create new branch from master
Monorepo Management
hsh mono init- Initialize workspace with.hshmarker filehsh mono cd <level> [--repo <name>]- Navigate to repo directories (root/client/server)
IDE Integration
hsh cursor- Open project in Cursor editor with config-based project selectionhsh claude- Open project in Claude Code editor with config-based project selection
MCP Server Management
NEW! Solve the problem of having to configure MCP servers individually for each project.
The Problem
Claude Code doesn't support global MCP server installation. You have to configure MCP servers in each project's .claude.json file individually, which is tedious and error-prone.
The Solution
hsh mcp sync - Synchronize MCP server configurations from a central location to all your projects
How It Works
- Create a central MCP configuration file at
~/.mcp/servers.json:
{
"chrome-devtools": {
"type": "stdio",
"command": "npx",
"args": ["chrome-devtools-mcp@latest"],
"env": {}
},
"GitLab communication server": {
"command": "npx",
"args": ["-y", "@zereight/mcp-gitlab"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-token",
"GITLAB_API_URL": "https://gitlab.example.com/api/v4"
}
},
"jira": {
"command": "npx",
"args": ["-y", "@aashari/mcp-server-atlassian-jira"],
"env": {
"ATLASSIAN_SITE_NAME": "your-site",
"ATLASSIAN_USER_EMAIL": "your-email",
"ATLASSIAN_API_TOKEN": "your-token"
}
}
}- Run the sync command:
hsh mcp sync- The command will:
- Read all MCP server configurations from
~/.mcp/servers.json - Update the
mcpServersfield for all projects in~/.claude.json - Show you which servers were synced and how many projects were updated
- Read all MCP server configurations from
Features
- ✅ Idempotent - Safe to run multiple times
- ✅ Atomic updates - Updates all projects at once
- ✅ Clear feedback - Shows which servers and projects were updated
- ✅ Validation - Checks for file existence and valid JSON
Example Output
$ hsh mcp sync
✔ Successfully synced MCP servers to 21 projects
MCP Servers synced:
• chrome-devtools
• Playwright
• figma-mcp
• GitLab communication server
• jira
• confluence
Projects updated:
• /Users/you/project1
• /Users/you/project2
• /Users/you/project3
... and 18 moreConfiguration
IDE Configuration
Create ~/hsh.config.json for IDE project management:
{
"work": {
"project1": "/path/to/work/project1",
"project2": "/path/to/work/project2"
},
"personal": {
"project3": "/path/to/personal/project3"
}
}Monorepo Setup
For monorepo commands, projects should have:
.hshmarker file in the root (created byhsh mono init)- Directory structure:
<repo-name>/client/and<repo-name>/server/
Development
# Install dependencies
yarn install
# Build the project
yarn build
# Build and install globally
yarn build:install
# Development mode
yarn devRequirements
- Node.js with ES module support
- Git
- GitLab CLI (
glab) for merge request features - Cursor editor (for
cursorcommand) - Claude Code editor (for
claudecommand)
License
MIT
