@programinglive/dev-workflow-mcp-server 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/workflows/dev-workflow-bugfix.md +250 -250
- package/.agent/workflows/dev-workflow-feature.md +201 -201
- package/.agent/workflows/dev-workflow-full-cycle.md +400 -400
- package/.agent/workflows/dev-workflow-refactor.md +238 -238
- package/.github/ISSUE_TEMPLATE/bug_report.md +34 -34
- package/.github/ISSUE_TEMPLATE/feature_request.md +25 -25
- package/.github/pull_request_template.md +22 -22
- package/.github/workflows/npm-publish.yml +50 -50
- package/.husky/commit-msg +0 -0
- package/CHANGELOG.md +749 -739
- package/CODE_OF_CONDUCT.md +79 -79
- package/CONTRIBUTING.md +60 -60
- package/LICENSE +21 -21
- package/README.md +632 -632
- package/SECURITY.md +20 -20
- package/db/index.js +204 -204
- package/docs/NETLIFY_DEPLOYMENT.md +125 -125
- package/docs/PLESK_DEPLOYMENT.md +170 -170
- package/docs/WORKFLOW-BEST-PRACTICES.md +58 -58
- package/docs/antigravity/EXAMPLES.md +535 -535
- package/docs/antigravity/GETTING-STARTED.md +292 -292
- package/docs/antigravity/TROUBLESHOOTING.md +742 -742
- package/docs/antigravity/WALKTHROUGH.md +25 -25
- package/docs/antigravity/WORKFLOW-TEMPLATES.md +670 -670
- package/docs/product/PRD.md +67 -67
- package/docs/release-notes/RELEASE_NOTES.md +226 -226
- package/docs/web-dashboard.md +175 -175
- package/exec.js +49 -49
- package/index.js +279 -279
- package/install.js +73 -73
- package/package.json +4 -4
- package/release-wrapper.js +192 -192
- package/scripts/build-docs.js +63 -63
- package/scripts/hello-world.js +1 -1
- package/scripts/release.cjs +252 -252
- package/scripts/update-release-notes.cjs +178 -178
- package/server.json +23 -23
- package/tailwind.config.js +8 -8
- package/tests/build.test.js +83 -91
- package/tests/exec.test.js +35 -35
- package/tests/handlers.test.js +1058 -1058
- package/tests/hello-world.test.js +13 -13
- package/tests/mcpRegistry.test.js +65 -65
- package/tests/release-wrapper.test.js +107 -107
- package/tests/workflowState.test.js +505 -505
- package/tools/definitions.js +332 -332
- package/tools/handlers.js +1019 -1019
- package/vite.config.js +43 -43
- package/vite.web.config.js +23 -23
- package/web/README.md +36 -36
- package/web/app/docs/page.tsx +202 -202
- package/web/app/globals.css +90 -90
- package/web/app/layout.tsx +36 -36
- package/web/app/page.tsx +15 -15
- package/web/components/ApiReference.tsx +20 -20
- package/web/components/Features.tsx +61 -61
- package/web/components/Footer.tsx +9 -9
- package/web/components/Hero.tsx +96 -97
- package/web/components/History.tsx +143 -143
- package/web/components/Navbar.tsx +64 -64
- package/web/components/Terminal.tsx +114 -114
- package/web/eslint.config.mjs +18 -18
- package/web/lib/db.js +131 -131
- package/web/lib/docs.js +73 -73
- package/web/netlify.toml +3 -6
- package/web/next.config.ts +12 -7
- package/web/package-lock.json +6560 -6560
- package/web/package.json +28 -28
- package/web/postcss.config.mjs +9 -9
- package/web/server.js +31 -31
- package/web/tailwind.config.ts +19 -19
- package/web/tsconfig.json +42 -42
- package/workflow-state.js +612 -612
- package/web/app/api/docs/route.ts +0 -32
- package/web/app/api/history/route.ts +0 -12
- package/web/app/api/npm-downloads/route.ts +0 -21
- package/web/app/api/summary/route.ts +0 -13
- package/web/app/api/version/route.ts +0 -8
|
@@ -1,125 +1,125 @@
|
|
|
1
|
-
# Netlify Deployment Guide
|
|
2
|
-
|
|
3
|
-
Deploy the Dev Workflow web dashboard to Netlify for a public-facing documentation and demo site.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The web dashboard can be deployed to Netlify as a static Next.js application. This deployment mode provides:
|
|
8
|
-
|
|
9
|
-
- **Static documentation pages** - Full access to the `/docs` section
|
|
10
|
-
- **Demo interface** - Showcase the workflow features
|
|
11
|
-
- **API endpoints** - Serverless functions for version and npm download stats
|
|
12
|
-
|
|
13
|
-
> **Note:** Database features (history, summary) return placeholder data in this deployment mode. For full functionality with persistent data, use the [local development server](./web-dashboard.md) or [Plesk deployment](./PLESK_DEPLOYMENT.md).
|
|
14
|
-
|
|
15
|
-
## Live Site
|
|
16
|
-
|
|
17
|
-
The official deployment is available at:
|
|
18
|
-
- **Primary:** https://devworkflow.programinglive.com
|
|
19
|
-
- **Netlify:** https://devworkflow.netlify.app
|
|
20
|
-
|
|
21
|
-
## Prerequisites
|
|
22
|
-
|
|
23
|
-
- Netlify account (free tier works)
|
|
24
|
-
- Node.js 18+ for local builds
|
|
25
|
-
- Git repository connected to Netlify (optional, for auto-deploy)
|
|
26
|
-
|
|
27
|
-
## Quick Deploy
|
|
28
|
-
|
|
29
|
-
### Option 1: Netlify CLI
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Install Netlify CLI
|
|
33
|
-
npm install -g netlify-cli
|
|
34
|
-
|
|
35
|
-
# Login to Netlify
|
|
36
|
-
netlify login
|
|
37
|
-
|
|
38
|
-
# Navigate to web directory
|
|
39
|
-
cd web
|
|
40
|
-
|
|
41
|
-
# Create new site and deploy
|
|
42
|
-
netlify sites:create --name your-site-name
|
|
43
|
-
netlify deploy --prod --build
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Option 2: Netlify Dashboard
|
|
47
|
-
|
|
48
|
-
1. Go to [app.netlify.com](https://app.netlify.com)
|
|
49
|
-
2. Click "Add new site" > "Import an existing project"
|
|
50
|
-
3. Connect your GitHub repository
|
|
51
|
-
4. Configure build settings:
|
|
52
|
-
- **Base directory:** `web`
|
|
53
|
-
- **Build command:** `npm run build`
|
|
54
|
-
- **Publish directory:** `.next`
|
|
55
|
-
5. Deploy
|
|
56
|
-
|
|
57
|
-
## Configuration
|
|
58
|
-
|
|
59
|
-
The `web/netlify.toml` file configures the build:
|
|
60
|
-
|
|
61
|
-
```toml
|
|
62
|
-
[build]
|
|
63
|
-
command = "npm run build"
|
|
64
|
-
publish = ".next"
|
|
65
|
-
|
|
66
|
-
[[plugins]]
|
|
67
|
-
package = "@netlify/plugin-nextjs"
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Custom Domain Setup
|
|
71
|
-
|
|
72
|
-
1. Go to your site's **Domain management** in Netlify
|
|
73
|
-
2. Click **Add a domain**
|
|
74
|
-
3. Enter your subdomain (e.g., `devworkflow.yourdomain.com`)
|
|
75
|
-
4. Add a CNAME record in your DNS provider:
|
|
76
|
-
- **Host:** `devworkflow` (or your subdomain)
|
|
77
|
-
- **Value:** `your-site-name.netlify.app`
|
|
78
|
-
5. Click **Provision certificate** for HTTPS
|
|
79
|
-
|
|
80
|
-
## API Endpoints
|
|
81
|
-
|
|
82
|
-
The following API routes are available as Netlify Functions:
|
|
83
|
-
|
|
84
|
-
| Endpoint | Description |
|
|
85
|
-
| --- | --- |
|
|
86
|
-
| `/api/version` | Returns current package version |
|
|
87
|
-
| `/api/npm-downloads` | Returns monthly npm download count |
|
|
88
|
-
| `/api/summary` | Returns placeholder summary data |
|
|
89
|
-
| `/api/history` | Returns placeholder history data |
|
|
90
|
-
| `/api/docs` | Returns documentation content |
|
|
91
|
-
|
|
92
|
-
## Limitations
|
|
93
|
-
|
|
94
|
-
When deployed to Netlify (static mode):
|
|
95
|
-
|
|
96
|
-
- **No persistent database** - History and summary return empty/placeholder data
|
|
97
|
-
- **No real-time updates** - Data is static between deployments
|
|
98
|
-
- **Version is build-time** - Update `web/app/api/version/route.ts` before each release
|
|
99
|
-
|
|
100
|
-
## Updating the Deployment
|
|
101
|
-
|
|
102
|
-
### Manual Redeploy
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
cd web
|
|
106
|
-
netlify deploy --prod --build
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Auto-Deploy (Recommended)
|
|
110
|
-
|
|
111
|
-
Connect your GitHub repository to Netlify for automatic deployments on push to main branch.
|
|
112
|
-
|
|
113
|
-
## Troubleshooting
|
|
114
|
-
|
|
115
|
-
| Issue | Solution |
|
|
116
|
-
| --- | --- |
|
|
117
|
-
| 404 on custom domain | Provision SSL certificate in Netlify dashboard |
|
|
118
|
-
| Build fails | Ensure `web/package.json` has no native dependencies |
|
|
119
|
-
| Functions timeout | Netlify has 10s limit; optimize API routes |
|
|
120
|
-
|
|
121
|
-
## Related
|
|
122
|
-
|
|
123
|
-
- [Web Dashboard Guide](./web-dashboard.md)
|
|
124
|
-
- [Plesk Deployment](./PLESK_DEPLOYMENT.md)
|
|
125
|
-
- [Main README](../README.md)
|
|
1
|
+
# Netlify Deployment Guide
|
|
2
|
+
|
|
3
|
+
Deploy the Dev Workflow web dashboard to Netlify for a public-facing documentation and demo site.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The web dashboard can be deployed to Netlify as a static Next.js application. This deployment mode provides:
|
|
8
|
+
|
|
9
|
+
- **Static documentation pages** - Full access to the `/docs` section
|
|
10
|
+
- **Demo interface** - Showcase the workflow features
|
|
11
|
+
- **API endpoints** - Serverless functions for version and npm download stats
|
|
12
|
+
|
|
13
|
+
> **Note:** Database features (history, summary) return placeholder data in this deployment mode. For full functionality with persistent data, use the [local development server](./web-dashboard.md) or [Plesk deployment](./PLESK_DEPLOYMENT.md).
|
|
14
|
+
|
|
15
|
+
## Live Site
|
|
16
|
+
|
|
17
|
+
The official deployment is available at:
|
|
18
|
+
- **Primary:** https://devworkflow.programinglive.com
|
|
19
|
+
- **Netlify:** https://devworkflow.netlify.app
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- Netlify account (free tier works)
|
|
24
|
+
- Node.js 18+ for local builds
|
|
25
|
+
- Git repository connected to Netlify (optional, for auto-deploy)
|
|
26
|
+
|
|
27
|
+
## Quick Deploy
|
|
28
|
+
|
|
29
|
+
### Option 1: Netlify CLI
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Install Netlify CLI
|
|
33
|
+
npm install -g netlify-cli
|
|
34
|
+
|
|
35
|
+
# Login to Netlify
|
|
36
|
+
netlify login
|
|
37
|
+
|
|
38
|
+
# Navigate to web directory
|
|
39
|
+
cd web
|
|
40
|
+
|
|
41
|
+
# Create new site and deploy
|
|
42
|
+
netlify sites:create --name your-site-name
|
|
43
|
+
netlify deploy --prod --build
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Option 2: Netlify Dashboard
|
|
47
|
+
|
|
48
|
+
1. Go to [app.netlify.com](https://app.netlify.com)
|
|
49
|
+
2. Click "Add new site" > "Import an existing project"
|
|
50
|
+
3. Connect your GitHub repository
|
|
51
|
+
4. Configure build settings:
|
|
52
|
+
- **Base directory:** `web`
|
|
53
|
+
- **Build command:** `npm run build`
|
|
54
|
+
- **Publish directory:** `.next`
|
|
55
|
+
5. Deploy
|
|
56
|
+
|
|
57
|
+
## Configuration
|
|
58
|
+
|
|
59
|
+
The `web/netlify.toml` file configures the build:
|
|
60
|
+
|
|
61
|
+
```toml
|
|
62
|
+
[build]
|
|
63
|
+
command = "npm run build"
|
|
64
|
+
publish = ".next"
|
|
65
|
+
|
|
66
|
+
[[plugins]]
|
|
67
|
+
package = "@netlify/plugin-nextjs"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Custom Domain Setup
|
|
71
|
+
|
|
72
|
+
1. Go to your site's **Domain management** in Netlify
|
|
73
|
+
2. Click **Add a domain**
|
|
74
|
+
3. Enter your subdomain (e.g., `devworkflow.yourdomain.com`)
|
|
75
|
+
4. Add a CNAME record in your DNS provider:
|
|
76
|
+
- **Host:** `devworkflow` (or your subdomain)
|
|
77
|
+
- **Value:** `your-site-name.netlify.app`
|
|
78
|
+
5. Click **Provision certificate** for HTTPS
|
|
79
|
+
|
|
80
|
+
## API Endpoints
|
|
81
|
+
|
|
82
|
+
The following API routes are available as Netlify Functions:
|
|
83
|
+
|
|
84
|
+
| Endpoint | Description |
|
|
85
|
+
| --- | --- |
|
|
86
|
+
| `/api/version` | Returns current package version |
|
|
87
|
+
| `/api/npm-downloads` | Returns monthly npm download count |
|
|
88
|
+
| `/api/summary` | Returns placeholder summary data |
|
|
89
|
+
| `/api/history` | Returns placeholder history data |
|
|
90
|
+
| `/api/docs` | Returns documentation content |
|
|
91
|
+
|
|
92
|
+
## Limitations
|
|
93
|
+
|
|
94
|
+
When deployed to Netlify (static mode):
|
|
95
|
+
|
|
96
|
+
- **No persistent database** - History and summary return empty/placeholder data
|
|
97
|
+
- **No real-time updates** - Data is static between deployments
|
|
98
|
+
- **Version is build-time** - Update `web/app/api/version/route.ts` before each release
|
|
99
|
+
|
|
100
|
+
## Updating the Deployment
|
|
101
|
+
|
|
102
|
+
### Manual Redeploy
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
cd web
|
|
106
|
+
netlify deploy --prod --build
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Auto-Deploy (Recommended)
|
|
110
|
+
|
|
111
|
+
Connect your GitHub repository to Netlify for automatic deployments on push to main branch.
|
|
112
|
+
|
|
113
|
+
## Troubleshooting
|
|
114
|
+
|
|
115
|
+
| Issue | Solution |
|
|
116
|
+
| --- | --- |
|
|
117
|
+
| 404 on custom domain | Provision SSL certificate in Netlify dashboard |
|
|
118
|
+
| Build fails | Ensure `web/package.json` has no native dependencies |
|
|
119
|
+
| Functions timeout | Netlify has 10s limit; optimize API routes |
|
|
120
|
+
|
|
121
|
+
## Related
|
|
122
|
+
|
|
123
|
+
- [Web Dashboard Guide](./web-dashboard.md)
|
|
124
|
+
- [Plesk Deployment](./PLESK_DEPLOYMENT.md)
|
|
125
|
+
- [Main README](../README.md)
|
package/docs/PLESK_DEPLOYMENT.md
CHANGED
|
@@ -1,170 +1,170 @@
|
|
|
1
|
-
# Deploying dev-workflow-mcp-server to Plesk
|
|
2
|
-
|
|
3
|
-
This guide covers deploying the dev-workflow MCP server (Node.js backend + Next.js frontend) to Plesk hosting.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
- Plesk control panel access
|
|
8
|
-
- Node.js 18+ installed on the server
|
|
9
|
-
- Git installed on the server
|
|
10
|
-
- Domain/subdomain configured in Plesk
|
|
11
|
-
|
|
12
|
-
## Deployment Steps
|
|
13
|
-
|
|
14
|
-
### 1. Set Up Node.js Application in Plesk
|
|
15
|
-
|
|
16
|
-
1. Log in to Plesk control panel
|
|
17
|
-
2. Go to **Domains** → Select your domain
|
|
18
|
-
3. Click **Node.js** (or **Applications** if using newer Plesk)
|
|
19
|
-
4. Click **Add Application**
|
|
20
|
-
5. Configure:
|
|
21
|
-
- **Application root**: `/var/www/vhosts/yourdomain.com/dev-workflow-mcp-server` (or your path)
|
|
22
|
-
- **Startup file**: `index.js`
|
|
23
|
-
- **Node.js version**: 18.x or higher
|
|
24
|
-
- **Port**: Leave as auto (Plesk assigns a port)
|
|
25
|
-
|
|
26
|
-
### 2. Clone Repository
|
|
27
|
-
|
|
28
|
-
SSH into your Plesk server:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
cd /var/www/vhosts/yourdomain.com
|
|
32
|
-
git clone https://github.com/programinglive/dev-workflow-mcp-server.git
|
|
33
|
-
cd dev-workflow-mcp-server
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### 3. Install Dependencies
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
npm install
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### 4. Build the Application
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
npm run build
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
This builds:
|
|
49
|
-
- **Backend**: Vite bundle → `dist/index.mjs`
|
|
50
|
-
- **Frontend**: Next.js static + server → `web/.next/`
|
|
51
|
-
- **Docs**: HTML files → `dist/docs/`
|
|
52
|
-
|
|
53
|
-
### 5. Configure Environment (if needed)
|
|
54
|
-
|
|
55
|
-
Create `.env` file in the project root if you need custom settings:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Example (adjust as needed)
|
|
59
|
-
NODE_ENV=production
|
|
60
|
-
PORT=3000
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### 6. Start the Application
|
|
64
|
-
|
|
65
|
-
In Plesk:
|
|
66
|
-
1. Go back to **Node.js Applications**
|
|
67
|
-
2. Find your application
|
|
68
|
-
3. Click **Start** (or it may auto-start)
|
|
69
|
-
|
|
70
|
-
Alternatively, via SSH:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
npm start
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### 7. Configure Reverse Proxy (Plesk)
|
|
77
|
-
|
|
78
|
-
Plesk automatically sets up a reverse proxy. Verify:
|
|
79
|
-
1. Go to **Domains** → Your domain → **Web Server Settings**
|
|
80
|
-
2. Ensure **Proxy** is enabled
|
|
81
|
-
3. Verify the proxy points to the Node.js app port
|
|
82
|
-
|
|
83
|
-
### 8. Verify Deployment
|
|
84
|
-
|
|
85
|
-
- Visit `https://yourdomain.com` → Should see the Next.js frontend
|
|
86
|
-
- Visit `https://yourdomain.com/docs` → Should see documentation
|
|
87
|
-
- Check browser console for any `_next/static` 500 errors
|
|
88
|
-
|
|
89
|
-
If you see 500 errors on `_next/static` requests:
|
|
90
|
-
- SSH to server and check logs: `tail -f /var/log/plesk/nodejs/yourdomain.com.log`
|
|
91
|
-
- Ensure `.next` directory exists: `ls -la web/.next/`
|
|
92
|
-
- Verify Node.js is running: `ps aux | grep node`
|
|
93
|
-
|
|
94
|
-
### 9. Set Up Auto-Restart (Optional)
|
|
95
|
-
|
|
96
|
-
In Plesk, the Node.js app should auto-restart on failure. To verify:
|
|
97
|
-
1. Go to **Node.js Applications**
|
|
98
|
-
2. Check **Restart policy** is set to auto-restart
|
|
99
|
-
|
|
100
|
-
### 10. Enable HTTPS (Recommended)
|
|
101
|
-
|
|
102
|
-
1. Go to **Domains** → Your domain → **SSL/TLS Certificates**
|
|
103
|
-
2. Click **Install** (use Let's Encrypt free certificate)
|
|
104
|
-
3. Plesk auto-redirects HTTP → HTTPS
|
|
105
|
-
|
|
106
|
-
## Troubleshooting
|
|
107
|
-
|
|
108
|
-
### `_next/static` returns 500
|
|
109
|
-
|
|
110
|
-
**Cause**: Next.js build output not deployed or server crashed.
|
|
111
|
-
|
|
112
|
-
**Fix**:
|
|
113
|
-
```bash
|
|
114
|
-
# SSH to server
|
|
115
|
-
npm run build --prefix web
|
|
116
|
-
npm start
|
|
117
|
-
# Check logs
|
|
118
|
-
tail -f /var/log/plesk/nodejs/yourdomain.com.log
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Application won't start
|
|
122
|
-
|
|
123
|
-
**Check**:
|
|
124
|
-
1. Node.js version: `node --version` (must be 18+)
|
|
125
|
-
2. Dependencies: `npm install`
|
|
126
|
-
3. Build output: `ls -la dist/` and `ls -la web/.next/`
|
|
127
|
-
4. Logs: Check Plesk control panel logs
|
|
128
|
-
|
|
129
|
-
### Port conflicts
|
|
130
|
-
|
|
131
|
-
Plesk assigns ports automatically. If you get a port conflict:
|
|
132
|
-
1. Go to **Node.js Applications** → Edit
|
|
133
|
-
2. Let Plesk auto-assign a new port
|
|
134
|
-
3. Restart the app
|
|
135
|
-
|
|
136
|
-
## Updating the Application
|
|
137
|
-
|
|
138
|
-
To deploy a new version:
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
cd /var/www/vhosts/yourdomain.com/dev-workflow-mcp-server
|
|
142
|
-
git pull origin main
|
|
143
|
-
npm install
|
|
144
|
-
npm run build
|
|
145
|
-
# Plesk will auto-restart the app
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
Or manually restart in Plesk control panel:
|
|
149
|
-
1. **Node.js Applications** → Select app → **Restart**
|
|
150
|
-
|
|
151
|
-
## Production Checklist
|
|
152
|
-
|
|
153
|
-
- [ ] Node.js 18+ installed
|
|
154
|
-
- [ ] `npm install` completed
|
|
155
|
-
- [ ] `npm run build` succeeded (no errors)
|
|
156
|
-
- [ ] `.next` directory exists with static files
|
|
157
|
-
- [ ] HTTPS/SSL certificate installed
|
|
158
|
-
- [ ] Reverse proxy configured
|
|
159
|
-
- [ ] Application started and running
|
|
160
|
-
- [ ] `https://yourdomain.com` loads without 500 errors
|
|
161
|
-
- [ ] `_next/static` assets load correctly
|
|
162
|
-
- [ ] Logs show no errors
|
|
163
|
-
|
|
164
|
-
## Support
|
|
165
|
-
|
|
166
|
-
For issues:
|
|
167
|
-
1. Check Plesk logs: `/var/log/plesk/nodejs/`
|
|
168
|
-
2. SSH and run `npm start` manually to see real-time errors
|
|
169
|
-
3. Verify Node.js and npm versions
|
|
170
|
-
4. Ensure all dependencies installed: `npm install`
|
|
1
|
+
# Deploying dev-workflow-mcp-server to Plesk
|
|
2
|
+
|
|
3
|
+
This guide covers deploying the dev-workflow MCP server (Node.js backend + Next.js frontend) to Plesk hosting.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- Plesk control panel access
|
|
8
|
+
- Node.js 18+ installed on the server
|
|
9
|
+
- Git installed on the server
|
|
10
|
+
- Domain/subdomain configured in Plesk
|
|
11
|
+
|
|
12
|
+
## Deployment Steps
|
|
13
|
+
|
|
14
|
+
### 1. Set Up Node.js Application in Plesk
|
|
15
|
+
|
|
16
|
+
1. Log in to Plesk control panel
|
|
17
|
+
2. Go to **Domains** → Select your domain
|
|
18
|
+
3. Click **Node.js** (or **Applications** if using newer Plesk)
|
|
19
|
+
4. Click **Add Application**
|
|
20
|
+
5. Configure:
|
|
21
|
+
- **Application root**: `/var/www/vhosts/yourdomain.com/dev-workflow-mcp-server` (or your path)
|
|
22
|
+
- **Startup file**: `index.js`
|
|
23
|
+
- **Node.js version**: 18.x or higher
|
|
24
|
+
- **Port**: Leave as auto (Plesk assigns a port)
|
|
25
|
+
|
|
26
|
+
### 2. Clone Repository
|
|
27
|
+
|
|
28
|
+
SSH into your Plesk server:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
cd /var/www/vhosts/yourdomain.com
|
|
32
|
+
git clone https://github.com/programinglive/dev-workflow-mcp-server.git
|
|
33
|
+
cd dev-workflow-mcp-server
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 3. Install Dependencies
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 4. Build the Application
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm run build
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
This builds:
|
|
49
|
+
- **Backend**: Vite bundle → `dist/index.mjs`
|
|
50
|
+
- **Frontend**: Next.js static + server → `web/.next/`
|
|
51
|
+
- **Docs**: HTML files → `dist/docs/`
|
|
52
|
+
|
|
53
|
+
### 5. Configure Environment (if needed)
|
|
54
|
+
|
|
55
|
+
Create `.env` file in the project root if you need custom settings:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Example (adjust as needed)
|
|
59
|
+
NODE_ENV=production
|
|
60
|
+
PORT=3000
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 6. Start the Application
|
|
64
|
+
|
|
65
|
+
In Plesk:
|
|
66
|
+
1. Go back to **Node.js Applications**
|
|
67
|
+
2. Find your application
|
|
68
|
+
3. Click **Start** (or it may auto-start)
|
|
69
|
+
|
|
70
|
+
Alternatively, via SSH:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npm start
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 7. Configure Reverse Proxy (Plesk)
|
|
77
|
+
|
|
78
|
+
Plesk automatically sets up a reverse proxy. Verify:
|
|
79
|
+
1. Go to **Domains** → Your domain → **Web Server Settings**
|
|
80
|
+
2. Ensure **Proxy** is enabled
|
|
81
|
+
3. Verify the proxy points to the Node.js app port
|
|
82
|
+
|
|
83
|
+
### 8. Verify Deployment
|
|
84
|
+
|
|
85
|
+
- Visit `https://yourdomain.com` → Should see the Next.js frontend
|
|
86
|
+
- Visit `https://yourdomain.com/docs` → Should see documentation
|
|
87
|
+
- Check browser console for any `_next/static` 500 errors
|
|
88
|
+
|
|
89
|
+
If you see 500 errors on `_next/static` requests:
|
|
90
|
+
- SSH to server and check logs: `tail -f /var/log/plesk/nodejs/yourdomain.com.log`
|
|
91
|
+
- Ensure `.next` directory exists: `ls -la web/.next/`
|
|
92
|
+
- Verify Node.js is running: `ps aux | grep node`
|
|
93
|
+
|
|
94
|
+
### 9. Set Up Auto-Restart (Optional)
|
|
95
|
+
|
|
96
|
+
In Plesk, the Node.js app should auto-restart on failure. To verify:
|
|
97
|
+
1. Go to **Node.js Applications**
|
|
98
|
+
2. Check **Restart policy** is set to auto-restart
|
|
99
|
+
|
|
100
|
+
### 10. Enable HTTPS (Recommended)
|
|
101
|
+
|
|
102
|
+
1. Go to **Domains** → Your domain → **SSL/TLS Certificates**
|
|
103
|
+
2. Click **Install** (use Let's Encrypt free certificate)
|
|
104
|
+
3. Plesk auto-redirects HTTP → HTTPS
|
|
105
|
+
|
|
106
|
+
## Troubleshooting
|
|
107
|
+
|
|
108
|
+
### `_next/static` returns 500
|
|
109
|
+
|
|
110
|
+
**Cause**: Next.js build output not deployed or server crashed.
|
|
111
|
+
|
|
112
|
+
**Fix**:
|
|
113
|
+
```bash
|
|
114
|
+
# SSH to server
|
|
115
|
+
npm run build --prefix web
|
|
116
|
+
npm start
|
|
117
|
+
# Check logs
|
|
118
|
+
tail -f /var/log/plesk/nodejs/yourdomain.com.log
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Application won't start
|
|
122
|
+
|
|
123
|
+
**Check**:
|
|
124
|
+
1. Node.js version: `node --version` (must be 18+)
|
|
125
|
+
2. Dependencies: `npm install`
|
|
126
|
+
3. Build output: `ls -la dist/` and `ls -la web/.next/`
|
|
127
|
+
4. Logs: Check Plesk control panel logs
|
|
128
|
+
|
|
129
|
+
### Port conflicts
|
|
130
|
+
|
|
131
|
+
Plesk assigns ports automatically. If you get a port conflict:
|
|
132
|
+
1. Go to **Node.js Applications** → Edit
|
|
133
|
+
2. Let Plesk auto-assign a new port
|
|
134
|
+
3. Restart the app
|
|
135
|
+
|
|
136
|
+
## Updating the Application
|
|
137
|
+
|
|
138
|
+
To deploy a new version:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
cd /var/www/vhosts/yourdomain.com/dev-workflow-mcp-server
|
|
142
|
+
git pull origin main
|
|
143
|
+
npm install
|
|
144
|
+
npm run build
|
|
145
|
+
# Plesk will auto-restart the app
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Or manually restart in Plesk control panel:
|
|
149
|
+
1. **Node.js Applications** → Select app → **Restart**
|
|
150
|
+
|
|
151
|
+
## Production Checklist
|
|
152
|
+
|
|
153
|
+
- [ ] Node.js 18+ installed
|
|
154
|
+
- [ ] `npm install` completed
|
|
155
|
+
- [ ] `npm run build` succeeded (no errors)
|
|
156
|
+
- [ ] `.next` directory exists with static files
|
|
157
|
+
- [ ] HTTPS/SSL certificate installed
|
|
158
|
+
- [ ] Reverse proxy configured
|
|
159
|
+
- [ ] Application started and running
|
|
160
|
+
- [ ] `https://yourdomain.com` loads without 500 errors
|
|
161
|
+
- [ ] `_next/static` assets load correctly
|
|
162
|
+
- [ ] Logs show no errors
|
|
163
|
+
|
|
164
|
+
## Support
|
|
165
|
+
|
|
166
|
+
For issues:
|
|
167
|
+
1. Check Plesk logs: `/var/log/plesk/nodejs/`
|
|
168
|
+
2. SSH and run `npm start` manually to see real-time errors
|
|
169
|
+
3. Verify Node.js and npm versions
|
|
170
|
+
4. Ensure all dependencies installed: `npm install`
|