Migration from Docker to Standalone Python Server (#73)

* Migration from docker to standalone server
Migration handling
Fixed tests
Use simpler in-memory storage
Support for concurrent logging to disk
Simplified direct connections to localhost

* Migration from docker / redis to standalone script
Updated tests
Updated run script
Fixed requirements
Use dotenv
Ask if user would like to install MCP in Claude Desktop once
Updated docs

* More cleanup and references to docker removed

* Cleanup

* Comments

* Fixed tests

* Fix GitHub Actions workflow for standalone Python architecture

- Install requirements-dev.txt for pytest and testing dependencies
- Remove Docker setup from simulation tests (now standalone)
- Simplify linting job to use requirements-dev.txt
- Update simulation tests to run directly without Docker

Fixes unit test failures in CI due to missing pytest dependency.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove simulation tests from GitHub Actions

- Removed simulation-tests job that makes real API calls
- Keep only unit tests (mocked, no API costs) and linting
- Simulation tests should be run manually with real API keys
- Reduces CI costs and complexity

GitHub Actions now only runs:
- Unit tests (569 tests, all mocked)
- Code quality checks (ruff, black)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fixed tests

* Fixed tests

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Beehive Innovations
2025-06-18 23:41:22 +04:00
committed by GitHub
parent 9d72545ecd
commit 4151c3c3a5
121 changed files with 2842 additions and 3168 deletions

View File

@@ -11,8 +11,8 @@ body:
id: version
attributes:
label: Project Version
description: "Which version are you using? (e.g., Docker image tag like `latest` or `v1.2.3`, or a git commit SHA)"
placeholder: "e.g., ghcr.io/beehiveinnovations/zen-mcp-server:latest"
description: "Which version are you using? (To see version: ./run-server.sh -v)"
placeholder: "e.g., 5.1.0"
validations:
required: true
@@ -29,7 +29,7 @@ body:
id: logs
attributes:
label: Relevant Log Output
description: "Please copy and paste any relevant log output. You can obtain these from the MCP folder by running `docker compose logs`."
description: "Please copy and paste any relevant log output. Logs are stored under the `logs` folder in the zen folder. You an also use `./run-server.sh -f` to see logs"
render: shell
- type: dropdown

View File

@@ -33,7 +33,7 @@ body:
attributes:
label: What is wrong with the documentation?
description: "Please describe the problem. Be specific about what is unclear, incorrect, or missing."
placeholder: "The Docker setup command in the README is missing the `--pull=always` flag, which means users might use an outdated image version."
placeholder: "README is missing some details"
validations:
required: true
@@ -42,16 +42,8 @@ body:
attributes:
label: Suggested Improvement
description: "How can we make it better? If you can, please provide the exact text or changes you'd like to see."
placeholder: |
Change:
```
docker run ghcr.io/beehiveinnovations/zen-mcp-server:latest
```
To:
```
docker run --pull=always ghcr.io/beehiveinnovations/zen-mcp-server:latest
```
placeholder: "Please improve...."
- type: dropdown
id: audience

View File

@@ -33,7 +33,7 @@ body:
label: Feature Category
description: What type of enhancement is this?
options:
- New Gemini tool (chat, codereview, debug, etc.)
- New tool (chat, codereview, debug, etc.)
- Workflow improvement
- Integration enhancement
- Performance optimization

View File

@@ -1,12 +1,12 @@
name: 🛠️ New Gemini Tool Proposal
description: Propose a new Gemini MCP tool (e.g., `summarize`, `testgen`, `refactor`)
description: Propose a new Zen MCP tool (e.g., `summarize`, `fixer`, `refactor`)
labels: ["enhancement", "new-tool"]
body:
- type: input
id: tool-name
attributes:
label: Proposed Tool Name
description: "What would the tool be called? (e.g., `summarize`, `testgen`, `refactor`)"
description: "What would the tool be called? (e.g., `summarize`, `docgen`, `refactor`)"
placeholder: "e.g., `docgen`"
validations:
required: true
@@ -15,7 +15,7 @@ body:
id: purpose
attributes:
label: What is the primary purpose of this tool?
description: "Explain the tool's core function and the value it provides to developers using Claude + Gemini."
description: "Explain the tool's core function and the value it provides to developers using Claude + Zen."
placeholder: "This tool will automatically generate comprehensive documentation from code, extracting class and function signatures, docstrings, and creating usage examples."
validations:
required: true
@@ -27,9 +27,9 @@ body:
description: "Show how a user would invoke this tool through Claude and what the expected output would look like."
placeholder: |
**User prompt to Claude:**
"Use gemini to generate documentation for my entire src/ directory"
"Use zen to generate documentation for my entire src/ directory"
**Expected Gemini tool behavior:**
**Expected behavior:**
- Analyze all Python files in src/
- Extract classes, functions, and their docstrings
- Generate structured markdown documentation
@@ -61,7 +61,7 @@ body:
id: system-prompt
attributes:
label: Proposed System Prompt (Optional)
description: "If you have ideas for how Gemini should be prompted for this tool, share them here."
description: "If you have ideas for how zen should be prompted for this tool, share them here."
placeholder: |
You are an expert technical documentation generator. Your task is to create comprehensive, user-friendly documentation from source code...