Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 0 additions & 91 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ jobs:
maintainer=Hive Academy <[email protected]>
version=${{ steps.version_sync.outputs.target_version }}
anubis.version=${{ steps.version_sync.outputs.target_version }}
anubis.build.date=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
anubis.npm.sync=${{ inputs.sync_with_npm }}
anubis.version.strategy=${{ steps.version_sync.outputs.version_strategy }}

Expand Down Expand Up @@ -271,93 +270,3 @@ jobs:
if [ "${{ steps.version_sync.outputs.version_strategy }}" = "npm-sync" ]; then
echo "- **NPM Sync:** ✅ Synced with NPM package version" >> $GITHUB_STEP_SUMMARY
fi

- name: Comment PR with Docker details
if: github.event_name == 'pull_request'
uses: actions/github-script@v7
with:
script: |
const output = `## 🐳 Docker Image Build Results

The Docker image has been built and validated successfully for this PR!

**Image Details:**
- **Image:** \`${{ env.IMAGE_NAME }}\`
- **Target Version:** \`${{ steps.version_sync.outputs.target_version }}\`
- **Version Strategy:** ${{ steps.version_sync.outputs.version_strategy }}
- **Package.json Version:** \`${{ steps.version_sync.outputs.package_version }}\`
- **Platforms:** linux/amd64, linux/arm64
- **Database:** Pre-seeded workflow.db included

**Validation Results:**
- ✅ Database template verified (~589kB)
- ✅ Docker build successful
- ✅ Multi-platform build ready
- ✅ Version labels updated

**Test Installation (after merge):**
\\\`\\\`\\\`bash
# Pull and run
docker pull ${{ env.IMAGE_NAME }}:${{ steps.version_sync.outputs.target_version }}
docker run --rm -i -v mcp-data:/app/data ${{ env.IMAGE_NAME }}:${{ steps.version_sync.outputs.target_version }}

# Or use latest
docker pull ${{ env.IMAGE_NAME }}:latest
docker run --rm -i -v mcp-data:/app/data ${{ env.IMAGE_NAME }}:latest
\\\`\\\`\\\`

**Claude Desktop MCP Configuration:**
\\\`\\\`\\\`json
{
"mcpServers": {
"anubis": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-v", "mcp-data:/app/data",
"${{ env.IMAGE_NAME }}:${{ steps.version_sync.outputs.target_version }}"
]
}
}
}
\\\`\\\`\\\``;

github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: output
});

- name: Create GitHub release (if tag)
if: startsWith(github.ref, 'refs/tags/v')
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
## 🚀 Release Notes

### 🐳 Docker Image
- **Image:** `${{ env.IMAGE_NAME }}:${{ steps.version_sync.outputs.target_version }}`
- **Version Strategy:** ${{ steps.version_sync.outputs.version_strategy }}
- **Platforms:** linux/amd64, linux/arm64
- **Database:** Pre-seeded workflow.db
- **Registry:** Docker Hub

### 🔧 Installation
```bash
docker pull ${{ env.IMAGE_NAME }}:${{ steps.version_sync.outputs.target_version }}
docker run --rm -i -v mcp-data:/app/data ${{ env.IMAGE_NAME }}:${{ steps.version_sync.outputs.target_version }}
```

### 📦 NPM Package
```bash
npx ${{ env.PACKAGE_NAME }}@${{ steps.version_sync.outputs.target_version }}
```

See CHANGELOG.md for detailed changes.
draft: false
prerelease: false
10 changes: 7 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM node:22-alpine AS builder
# Add metadata labels for Docker Hub
LABEL org.opencontainers.image.title="Anubis"
LABEL org.opencontainers.image.description="🏺 𓂀𓁢𓋹𝔸ℕ𝕌𝔹𝕀𝕊𓋹𓁢𓂀 - Intelligent Guidance for AI Workflows | MCP-compliant workflow intelligence system with embedded, context-aware guidance for reliable AI-assisted development"
LABEL org.opencontainers.image.version="1.2.1"
LABEL org.opencontainers.image.version="1.2.3"
LABEL org.opencontainers.image.authors="Hive Academy <[email protected]>"
LABEL org.opencontainers.image.source="https://github.com/Hive-Academy/Anubis-MCP"
LABEL org.opencontainers.image.documentation="https://github.com/Hive-Academy/Anubis-MCP/blob/main/README.md"
Expand Down Expand Up @@ -43,7 +43,7 @@ FROM node:22-alpine AS production
# Add same metadata to final image
LABEL org.opencontainers.image.title="Anubis"
LABEL org.opencontainers.image.description="🏺 Anubis - Intelligent Guidance for AI Workflows | MCP-compliant workflow intelligence system with embedded, context-aware guidance for reliable AI-assisted development"
LABEL org.opencontainers.image.version="1.2.1"
LABEL org.opencontainers.image.version="1.2.3"
LABEL org.opencontainers.image.authors="Hive Academy <[email protected]>"
LABEL org.opencontainers.image.source="https://github.com/Hive-Academy/Anubis-MCP"
LABEL org.opencontainers.image.documentation="https://github.com/Hive-Academy/Anubis-MCP/blob/main/README.md"
Expand Down Expand Up @@ -95,6 +95,10 @@ RUN mkdir -p /app/data/anubis-reports/temp \
RUN mkdir -p /app/reports/rendered \
&& chown -R nestjs:nodejs /app/reports

# Create workspace directory for init rules output (mounted from host)
RUN mkdir -p /app/workspace \
&& chown -R nestjs:nodejs /app/workspace

# Ensure temp and templates directories exist with proper permissions
RUN chown -R nestjs:nodejs /app/temp /app/templates

Expand All @@ -120,7 +124,7 @@ RUN echo '#!/bin/bash' > /app/init-db.sh && \
# Set default environment variables
ENV RUNNING_IN_DOCKER="true"
ENV MCP_SERVER_NAME="Anubis"
ENV MCP_SERVER_VERSION="1.2.1"
ENV MCP_SERVER_VERSION="1.2.3"
ENV MCP_TRANSPORT_TYPE="STDIO"
ENV NODE_ENV="production"
ENV PORT="3000"
Expand Down
45 changes: 40 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,18 @@
"mcpServers": {
"anubis": {
"command": "npx",
"args": ["-y", "@hive-academy/anubis"]
"args": ["-y", "@hive-academy/anubis"],
"env": {
"PROJECT_ROOT": "C:\\path\\to\\projects"
}
}
}
}
```

### **Option 2: Docker**
### **Option 2: Docker (MCP Configuration)**

**For Unix/Linux/macOS (mcp.json):**

```json
{
Expand All @@ -49,10 +54,34 @@
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${PWD}:/app/workspace",
"-v",
"anubis-data:/app/data",
"hiveacademy/anubis"
]
}
}
}
```

**For Windows (mcp.json):**

```json
{
"mcpServers": {
"anubis": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"C:\\path\\to\\your\\project:/app/workspace",
"-v",
"C:\\path\\to\\your\\project\\data:/app/data",
"hiveacademy/anubis"
]
}
Expand All @@ -62,7 +91,7 @@

---

## ** INITIALIZE CUSTOM-MODES ( AGENT RULES) **
## **INITIALIZE CUSTOM-MODES ( AGENT RULES)**

> Once you get the mcp server running you need to initialize the rules (custom-modes) for the agent you are using

Expand Down Expand Up @@ -91,7 +120,10 @@ Begin a new workflow for [your-project] with Anubis guidance
"mcpServers": {
"anubis": {
"command": "npx",
"args": ["-y", "@hive-academy/anubis"]
"args": ["-y", "@hive-academy/anubis"],
"env": {
"PROJECT_ROOT": "C:\\path\\to\\projects"
}
}
}
}
Expand All @@ -116,7 +148,10 @@ Begin a new workflow for [your-project] with Anubis guidance
```
"anubis": {
"command": "npx",
"args": ["-y", "@hive-academy/anubis"]
"args": ["-y", "@hive-academy/anubis"],
"env": {
"PROJECT_ROOT": "C:\\path\\to\\projects"
}
}
```
2. **Initialize Cursor Rules**
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@hive-academy/anubis",
"version": "1.2.1",
"version": "1.2.3",
"description": "🏺 Anubis - Intelligent Guidance for AI Workflows | MCP-compliant workflow intelligence system with embedded, context-aware guidance for reliable AI-assisted development",
"author": "Hive Academy <[email protected]>",
"license": "MIT",
Expand Down
Loading