Files
portfolio/docs/deployment-guide.md
T
mahdiarghyani 1586bb7f80 chore: add BMAD agent workflows and configuration system
- Add comprehensive agent workflow definitions for 8 specialized roles (analyst, architect, developer, product manager, scrum master, technical writer, UX designer, QA engineer)
- Add 35+ workflow definitions covering analysis, planning, solutioning, and implementation phases
- Add BMAD configuration system with agent, task, tool, workflow, and file manifests
- Add BMM (Business Model Methodology) documentation including quick-start guides, architecture references, and workflow analysis
- Add test architecture knowledge base with 20+ testing patterns and best practices
- Add team configuration templates and party mode setup for collaborative development
- Establish foundation for enterprise agentic development framework with adaptive scaling capabilities
2025-11-30 14:36:05 +03:30

141 lines
2.9 KiB
Markdown

# Deployment Guide
## Overview
This project is configured for **Static Site Generation (SSG)** and can be deployed to any static hosting platform.
## Build Process
```bash
# Generate static files with pre-rendered blog posts
pnpm generate
```
**Output Directory:** `.output/public`
The build process will:
- Pre-render all blog posts (English & Persian)
- Generate `sitemap.xml` automatically
- Create RSS feeds for both languages
- Output static files to `.output/public`
## Deployment Platforms
### Vercel (Recommended)
The project includes `vercel.json` with:
- Plausible analytics proxy rewrites
- Cache headers for `/_nuxt/` assets (1 year, immutable)
**Deploy via CLI:**
```bash
npm i -g vercel
vercel
```
**Or connect GitHub repository** for automatic deployments.
### Netlify
1. Connect your GitHub repository
2. Build command: `pnpm generate`
3. Publish directory: `.output/public`
### Cloudflare Pages
1. Connect GitHub repo or upload `.output/public`
2. Build command: `pnpm generate`
3. Build output directory: `.output/public`
### GitHub Pages
1. Run `pnpm generate`
2. Deploy contents of `.output/public`
### AWS S3 + CloudFront
1. Run `pnpm generate`
2. Upload `.output/public` to S3 bucket
3. Configure CloudFront distribution
## Environment Variables
Set these in your hosting platform:
| Variable | Required | Description |
|----------|----------|-------------|
| `NUXT_PUBLIC_LOAD_PLAUSIBLE` | No | Enable Plausible analytics (`"yes"` or `"no"`) |
| `NUXT_PUBLIC_SITE_URL` | No | Site URL for sitemap/RSS (default: `https://aliarghyani.vercel.app`) |
## Vercel Configuration
`vercel.json` includes:
### Rewrites (Plausible Proxy)
```json
{
"source": "/stats/js/script.js",
"destination": "https://plausible.io/js/script.tagged-events.js"
},
{
"source": "/stats/api/event",
"destination": "https://plausible.io/api/event"
}
```
### Cache Headers
```json
{
"source": "/_nuxt/(.*)",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=31536000, immutable"
}
]
}
```
## Nitro Configuration
Pre-render settings in `nuxt.config.ts`:
```typescript
nitro: {
prerender: {
crawlLinks: true,
routes: ['/', '/blog', '/fa/blog'],
failOnError: false,
ignore: ['/_vercel/image']
}
}
```
## Route Rules
Caching configuration:
| Route | Rule |
|-------|------|
| `/blog` | SWR 3600s (1 hour) |
| `/fa/blog` | SWR 3600s (1 hour) |
| `/blog/**` | SWR 3600s (1 hour) |
| `/fa/blog/**` | SWR 3600s (1 hour) |
## CI/CD
No CI/CD pipeline is currently configured. Consider adding:
- GitHub Actions for automated builds
- Preview deployments for PRs
- Automated type checking and formatting
## Post-Deployment Checklist
- [ ] Verify homepage loads correctly
- [ ] Test Persian version (`/fa`)
- [ ] Check blog posts render properly
- [ ] Verify RSS feeds work
- [ ] Test sitemap.xml
- [ ] Confirm dark/light mode toggle
- [ ] Test language switcher