Files
portfolio/docs/development-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

122 lines
2.7 KiB
Markdown

# Development Guide
## Prerequisites
- **Node.js:** 18.20.0 or newer (up to 22.x)
- **Package Manager:** pnpm 9.12.1 (recommended)
## Quick Start
```bash
# Clone the repository
git clone <repository-url>
cd nuxt-portfolio
# Install dependencies
pnpm install
# Start development server
pnpm dev
```
Visit: http://localhost:5000
## Available Scripts
| Command | Description |
|---------|-------------|
| `pnpm dev` | Start development server (port 5000) |
| `pnpm build` | Build for production |
| `pnpm generate` | Generate static site (SSG) |
| `pnpm preview` | Preview production build |
| `pnpm typecheck` | Run TypeScript type checking |
| `pnpm format` | Check code formatting (Prettier) |
| `pnpm format:write` | Fix code formatting |
## Environment Variables
Create a `.env` file based on `.env.example`:
| Variable | Description | Default |
|----------|-------------|---------|
| `NUXT_PUBLIC_LOAD_PLAUSIBLE` | Enable Plausible analytics | `"no"` |
| `NUXT_PUBLIC_SITE_URL` | Site URL for sitemap/RSS | `https://aliarghyani.vercel.app` |
## Project Configuration
### Nuxt Configuration (`nuxt.config.ts`)
Key settings:
- **srcDir:** `app/` - Source directory
- **Dev Server:** `0.0.0.0:5000`
- **Color Mode:** Dark mode default
- **i18n Strategy:** `prefix_except_default` (EN default, FA uses `/fa` prefix)
### TypeScript Configuration
Extends `.nuxt/tsconfig.json` with bundler module resolution.
### Tailwind CSS 4
Custom PostCSS plugins:
- `@csstools/postcss-oklab-function`
- `@csstools/postcss-relative-color-syntax`
- `@csstools/postcss-color-mix-function`
- `postcss-preset-env` (stage 0, nesting rules)
## Auto-imports
Nuxt automatically imports:
- Components from `app/components/`
- Composables from `app/composables/`
- Utils from `app/utils/`
No explicit imports needed!
## Testing URLs
```bash
# Homepage
http://localhost:5000
# Persian version
http://localhost:5000/fa
# Blog
http://localhost:5000/blog
# Persian Blog
http://localhost:5000/fa/blog
# RSS Feeds
http://localhost:5000/blog/rss.xml
http://localhost:5000/fa/blog/rss.xml
```
## Code Style
- **Formatter:** Prettier with Tailwind CSS plugin
- **Type Checking:** TypeScript strict mode via Nuxt
- Run `pnpm format` before committing
- Run `pnpm typecheck` to verify types
## Adding Content
### Blog Posts
1. Create MDC file in `content/en/blog/` or `content/fa/blog/`
2. Use frontmatter for metadata (title, description, date, tags)
3. Posts are automatically pre-rendered during `pnpm generate`
### Portfolio Data
Edit locale-specific files:
- English: `app/data/portfolio.en.ts`
- Persian: `app/data/portfolio.fa.ts`
### Translations
Edit JSON files in `i18n/locales/`:
- English: `en.json`
- Persian: `fa.json`