mirror of
https://github.com/mmahdium/portfolio.git
synced 2026-08-14 20:22:49 +03:30
- 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
2.9 KiB
2.9 KiB
Deployment Guide
Overview
This project is configured for Static Site Generation (SSG) and can be deployed to any static hosting platform.
Build Process
# 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.xmlautomatically - 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:
npm i -g vercel
vercel
Or connect GitHub repository for automatic deployments.
Netlify
- Connect your GitHub repository
- Build command:
pnpm generate - Publish directory:
.output/public
Cloudflare Pages
- Connect GitHub repo or upload
.output/public - Build command:
pnpm generate - Build output directory:
.output/public
GitHub Pages
- Run
pnpm generate - Deploy contents of
.output/public
AWS S3 + CloudFront
- Run
pnpm generate - Upload
.output/publicto S3 bucket - 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)
{
"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
{
"source": "/_nuxt/(.*)",
"headers": [
{
"key": "cache-control",
"value": "public, max-age=31536000, immutable"
}
]
}
Nitro Configuration
Pre-render settings in nuxt.config.ts:
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