diff --git a/cline_docs/gitWorkflow.md b/cline_docs/gitWorkflow.md new file mode 100644 index 0000000..07fb7f0 --- /dev/null +++ b/cline_docs/gitWorkflow.md @@ -0,0 +1,545 @@ +# Git Workflow & Memory Bank + +## Git Configuration + +### Repository Information +- **Repository URL**: `https://gitea.sigd.net/chaulmark/finlion-website` +- **Gitea Server**: gitea.sigd.net (private Gitea instance) +- **Username**: `eliza` +- **Authentication**: Personal Access Token +- **Current Token**: `3dba996c9eca5b6267f7cd1b0996a94aac1ac0d5` (created 3/5/2026) +- **Local Path**: `/Users/Eliza/Writing_Project/FinLion` +- **Main Branch**: `main` +- **Latest Commit**: `3fb2204c6f5ca9f8769dc56c1a00079a795e19c2` + +### Token Permissions +The access token has been configured with: +- ✅ Read repository access +- ✅ Write repository access (for pushing changes) + +### Git Remote Configuration +```bash +# Remote is configured with authentication: +origin: https://eliza:3dba996c9eca5b6267f7cd1b0996a94aac1ac0d5@gitea.sigd.net/chaulmark/finlion-website.git +``` + +### Git User Configuration +```bash +user.name=eliza +user.email=eliza@gitea.sigd.net +``` + +## Common Git Workflows + +### 1. Checking Repository Status +```bash +# Check current status +git status + +# View current branch +git branch + +# View remote branches +git branch -r +``` + +### 2. Pulling Latest Changes +```bash +# Pull from main branch (recommended before starting work) +git pull origin main + +# Or simply +git pull +``` + +### 3. Viewing Changes History +```bash +# View recent commits (short format) +git log --oneline --graph --all -15 + +# View specific commit details +git show HEAD +git show + +# View changes between commits +git diff HEAD~1 HEAD +git diff + +# View files changed in a commit +git show --stat HEAD +``` + +### 4. Making Changes +```bash +# After editing files, check what changed +git status +git diff + +# Stage all changes +git add . + +# Or stage specific files +git add src/app/page.tsx + +# Commit changes with meaningful message +git commit -m "Update homepage: Add new hero section" + +# Push to remote repository +git push origin main +# Or simply +git push +``` + +### 5. Viewing File History +```bash +# View commit history for specific file +git log --oneline src/app/page.tsx + +# View changes to a file over time +git log -p src/app/page.tsx + +# Who changed what in a file +git blame src/app/page.tsx +``` + +### 6. Undoing Changes +```bash +# Discard changes to a file (before staging) +git checkout -- src/app/page.tsx + +# Unstage a file (keep changes) +git reset HEAD src/app/page.tsx + +# Undo last commit (keep changes) +git reset --soft HEAD~1 + +# Undo last commit (discard changes - DANGEROUS) +git reset --hard HEAD~1 +``` + +### 7. Working with Branches +```bash +# Create new branch +git checkout -b feature/new-feature + +# Switch branches +git checkout main + +# List all branches +git branch -a + +# Delete branch +git branch -d feature/old-feature + +# Push branch to remote +git push origin feature/new-feature +``` + +## Git Authentication Troubleshooting + +### If Access Token Expires or Needs Regeneration + +1. **Generate New Token in Gitea:** + - Log into https://gitea.sigd.net + - Settings → Applications → Access Tokens + - Delete old token + - Generate new token with repository permissions + - Copy the new token immediately + +2. **Update Git Remote:** + ```bash + # Remove old remote + git remote remove origin + + # Add new remote with new token + git remote add origin https://eliza:NEW_TOKEN_HERE@gitea.sigd.net/chaulmark/finlion-website.git + + # Verify remote + git remote -v + ``` + +3. **Test Connection:** + ```bash + git pull + ``` + +### Common Authentication Issues + +**Issue**: 403 Forbidden error +- **Cause**: Token doesn't have proper permissions or has expired +- **Solution**: Generate new token with `read:repository` and `write:repository` permissions + +**Issue**: Username incorrect +- **Cause**: Using wrong Gitea username +- **Solution**: Username is `eliza` (not an email address) + +**Issue**: Token doesn't work +- **Cause**: Token permissions not properly configured +- **Solution**: Ensure both read and write repository permissions are enabled + +## FinLion Website Codebase Overview + +### Project Architecture + +``` +FinLion/ +├── Next.js Application (React + TypeScript) +│ ├── src/ +│ │ ├── app/ # Next.js App Router pages +│ │ │ ├── page.tsx # Homepage +│ │ │ ├── layout.tsx # Root layout +│ │ │ ├── about/ # About page +│ │ │ ├── services/ # Services page +│ │ │ ├── contact/ # Contact page +│ │ │ └── api/ # API routes +│ │ ├── components/ # React components +│ │ │ ├── home/ # Home-specific components +│ │ │ ├── layout/ # Layout components +│ │ │ ├── shared/ # Shared components +│ │ │ └── ui/ # UI components +│ │ ├── data/ # Data files +│ │ ├── lib/ # Utility functions +│ │ ├── styles/ # Global styles +│ │ └── types/ # TypeScript types +│ └── public/ # Static assets +│ └── images/ # Image files +│ +├── Docker Configuration +│ ├── docker-compose.yml # Production orchestration +│ ├── docker-compose.dev.yml # Development environment +│ ├── Dockerfile # Production container +│ └── Dockerfile.dev # Development container +│ +├── Documentation +│ └── cline_docs/ # AI assistant documentation +│ ├── memoryBank.md # This memory bank +│ └── gitWorkflow.md # Git workflow guide +│ +└── Configuration Files + ├── next.config.ts # Next.js configuration + ├── tailwind.config.ts # Tailwind CSS config + ├── tsconfig.json # TypeScript config + ├── package.json # Dependencies + ├── pnpm-lock.yaml # Lock file + └── .env # Environment variables (SECRET) +``` + +### Key Files and Their Purposes + +#### Application Pages (`src/app/`) +- **page.tsx**: Homepage/landing page with hero and overview +- **layout.tsx**: Root layout component (affects all pages) +- **about/page.tsx**: About page +- **services/page.tsx**: Services showcase page +- **contact/page.tsx**: Contact form page +- **api/contact/route.ts**: Contact form submission API endpoint + +#### Components (`src/components/`) +- **layout/**: Header, Navigation, Footer +- **home/**: Hero, Services sections for homepage +- **shared/**: Toast notification component +- **ui/**: Reusable UI components like Button +- **Modal.tsx**: Modal dialog component +- **ServiceCard.tsx**: Service display cards + +#### Data & Utilities +- **src/data/services.ts**: Services data structure +- **src/lib/email.ts**: Email service integration +- **src/lib/rate-limit.ts**: Rate limiting logic for API +- **src/types/services.ts**: TypeScript type definitions + +### Important Patterns + +#### 1. Next.js App Router Structure +``` +src/app/ +├── page.tsx # Homepage (/) +├── layout.tsx # Root layout +├── about/ +│ └── page.tsx # About page (/about) +├── services/ +│ └── page.tsx # Services page (/services) +├── contact/ +│ └── page.tsx # Contact page (/contact) +└── api/ + └── contact/ + └── route.ts # API endpoint (/api/contact) +``` + +#### 2. Environment Variables +Critical `.env` variables: +```env +# Email Configuration +SMTP_HOST=smtp.gmail.com +SMTP_PORT=587 +SMTP_USER=your-email@gmail.com +SMTP_PASS=gmail_app_password +FROM_EMAIL=your-from-email +TO_EMAIL=your-to-email + +# Redis Configuration (for rate limiting) +UPSTASH_REDIS_REST_URL=your-redis-url +UPSTASH_REDIS_REST_TOKEN=your-redis-token +``` + +#### 3. Services Data Structure +```typescript +// src/data/services.ts +export const services = [ + { + id: 'service-id', + title: 'Service Title', + description: 'Service description', + icon: IconComponent, + features: ['Feature 1', 'Feature 2'] + } +] +``` + +### Development Workflow + +#### Making Changes to the Website + +1. **Pull latest changes** + ```bash + git pull + ``` + +2. **Make your changes** + - Edit files as needed + - Test locally with `pnpm dev` (runs on http://localhost:3000) + +3. **Check what changed** + ```bash + git status + git diff + ``` + +4. **Stage and commit** + ```bash + git add . + git commit -m "Descriptive message about changes" + ``` + +5. **Push to Gitea** + ```bash + git push + ``` + +#### Updating Page Content + +1. **Identify the correct file:** + - Homepage: `src/app/page.tsx` or `src/components/home/Hero.tsx` + - About: `src/app/about/page.tsx` + - Services: `src/app/services/page.tsx` or `src/data/services.ts` + - Contact: `src/app/contact/page.tsx` + +2. **Edit the content** + +3. **Test locally:** + ```bash + pnpm dev + # Visit http://localhost:3000 to verify changes + ``` + +4. **Commit and push:** + ```bash + git add src/app/ + git commit -m "Update [page]: [description]" + git push + ``` + +#### Adding New Service + +1. **Edit services data:** + - File: `src/data/services.ts` + - Add new service object to array + +2. **Update services page if needed:** + - File: `src/app/services/page.tsx` + +3. **Test and commit:** + ```bash + git add src/data/services.ts src/app/services/ + git commit -m "Add new service: [Service Name]" + git push + ``` + +#### Updating Styling + +1. **Identify component:** + - Components use Tailwind CSS classes + - Global styles in `src/styles/globals.css` + +2. **Update Tailwind classes or CSS** + +3. **Test and commit:** + ```bash + git add src/ + git commit -m "Update styling: [description]" + git push + ``` + +### Local Development Commands + +#### Development Server +```bash +# Install dependencies (first time only) +pnpm install + +# Start development server +pnpm dev +# Opens at http://localhost:3000 + +# Build for production +pnpm build + +# Start production server +pnpm start + +# Run linting +pnpm lint +``` + +#### Docker Development +```bash +# Start development with Docker +docker compose -f docker-compose.dev.yml up + +# Start production with Docker +docker compose up --build -d + +# View logs +docker logs [container-name] + +# Stop containers +docker compose down +``` + +### Common Tasks Reference + +#### View Recent Changes +```bash +git log --oneline --graph --all -15 +``` + +#### See What Files Changed in Last Commit +```bash +git show --stat HEAD +``` + +#### See Full Changes in Last Commit +```bash +git show HEAD +``` + +#### Compare Two Commits +```bash +git diff abc123 def456 +``` + +#### Search Commit History +```bash +# Find commits by message +git log --grep="homepage" + +# Find commits that changed a specific file +git log -- src/app/page.tsx + +# Find commits by author +git log --author="eliza" +``` + +#### Undo Last Commit (Keep Changes) +```bash +git reset --soft HEAD~1 +``` + +#### Discard All Local Changes +```bash +git reset --hard HEAD +git clean -fd +``` + +## Best Practices + +### Commit Messages +- Use descriptive, clear messages +- Start with a verb (Add, Update, Fix, Remove) +- Be specific about what changed +- Examples: + - ✅ "Update homepage hero section with new tagline" + - ✅ "Fix contact form validation and email sending" + - ✅ "Add new financial planning service to services page" + - ❌ "Updates" + - ❌ "Fixed stuff" + +### Before Making Changes +1. Always `git pull` first +2. Check current status with `git status` +3. Review what you're about to commit with `git diff` + +### After Making Changes +1. Test locally with `pnpm dev` if possible +2. Review changes with `git status` and `git diff` +3. Commit with clear message +4. Push to remote + +### Working with Next.js +- Test changes locally before pushing +- Verify responsive design on different screen sizes +- Check console for errors in browser +- Test contact form if email changes made +- Keep `.env` file secure (never commit) + +## Security Notes + +- **Never commit `.env` file** - contains sensitive credentials +- **Keep access token secure** - treat like a password +- **Regenerate token if exposed** - create new one immediately +- **Use app-specific passwords** - for Gmail integration +- **Review changes before pushing** - especially configuration files + +## Quick Reference Commands + +| Task | Command | +|------|---------| +| Pull latest changes | `git pull` | +| Check status | `git status` | +| View recent commits | `git log --oneline -15` | +| View last commit | `git show HEAD` | +| Stage all changes | `git add .` | +| Commit changes | `git commit -m "message"` | +| Push to remote | `git push` | +| Undo last commit (keep changes) | `git reset --soft HEAD~1` | +| Discard local changes | `git reset --hard HEAD` | +| View file history | `git log -- path/to/file` | +| Search commits | `git log --grep="keyword"` | +| Start dev server | `pnpm dev` | +| Build for production | `pnpm build` | + +## Useful Git Aliases + +Add these to your `.gitconfig` for shortcuts: +```bash +git config --global alias.st status +git config --global alias.co checkout +git config --global alias.br branch +git config --global alias.ci commit +git config --global alias.lg "log --oneline --graph --all" +git config --global alias.last "show HEAD" +``` + +Then use: +- `git st` instead of `git status` +- `git lg` instead of `git log --oneline --graph --all` +- `git last` instead of `git show HEAD` + +## Recent History (Reference Only) + +### Setup (March 13, 2026) +- Cloned repository from Gitea +- Configured Git authentication with Eliza's credentials +- Set up user configuration (eliza / eliza@gitea.sigd.net) +- Created memory bank and git workflow documentation +- Repository status: Working tree clean, up to date with origin/main diff --git a/cline_docs/memoryBank.md b/cline_docs/memoryBank.md new file mode 100644 index 0000000..9b1fbe3 --- /dev/null +++ b/cline_docs/memoryBank.md @@ -0,0 +1,430 @@ +# FinLion Website - AI Assistant Memory Bank + +## IMPORTANT: User Profile & Expectations + +**USER: Eliza** +- **Experience Level**: Novice web developer, NOT interested in learning web development +- **Role**: Project owner and content provider +- **Expectation**: AI assistant (Cline) handles ALL technical work +- **User Interaction**: Provides content, approves changes, makes high-level requests only +- **NO USER EDUCATION**: Do not teach or explain technical concepts unless specifically asked + +## AI Assistant Responsibilities + +### What I (AI) Do Autonomously: +1. ✅ **Edit/Create/Delete Files**: All code changes without user intervention +2. ✅ **Git Operations**: Pull, commit, push using Eliza's credentials +3. ✅ **Local Testing**: Test changes before deployment +4. ✅ **Troubleshooting**: Debug and fix issues independently +5. ✅ **Documentation**: Update memory bank after significant changes +6. ✅ **Dependencies**: Install and manage npm/pnpm packages + +### What User Does: +1. 📝 **Content Requests**: "Update homepage", "Add new service" +2. ✅ **Approve Actions**: Review and approve proposed changes +3. 📦 **Provide Assets**: Supply images, text, content when needed +4. 🎯 **Strategic Decisions**: Final say on design/content direction + +## Critical Credentials & Access + +### Git Access (Eliza's Account) +- **Repository**: https://gitea.sigd.net/chaulmark/finlion-website +- **Username**: `eliza` +- **Token**: `3dba996c9eca5b6267f7cd1b0996a94aac1ac0d5` (created 3/5/2026) +- **Local Path**: `/Users/Eliza/Writing_Project/FinLion` +- **Remote**: Configured with authentication on 3/13/2026 + +### Git Configuration +- **User Name**: eliza +- **User Email**: eliza@gitea.sigd.net +- **Branch**: main +- **Status**: Working tree clean, up to date with origin/main + +## AI Workflow for Changes + +### Standard Change Process (I Handle Everything) +1. **User Request**: User says "Update homepage" or "Add service" +2. **Pull Latest**: `git pull` to ensure working with latest code +3. **Make Changes**: Edit necessary files (no user involvement) +4. **Test Locally**: Run `pnpm dev` to verify changes work +5. **Commit & Push**: + ```bash + git add . + git commit -m "Descriptive message" + git push + ``` +6. **Report**: Tell user "Done! Changes pushed to repository" + +### Git Commands I Use (User Never Runs These) +```bash +# Start every task +git pull + +# After making changes +git add . +git commit -m "Clear description of what changed" +git push + +# Check what changed (for my reference) +git status +git diff +git log --oneline -15 +``` + +## Token Management (If Needed) + +### When Token Expires: +**What I Tell User**: "Your Git access token has expired. Please generate a new one:" + +**User Steps** (only these 3): +1. Go to https://gitea.sigd.net +2. Settings → Applications → Access Tokens → Generate New Token +3. Copy the new token and give it to me + +**What I Do**: Update the git remote configuration with new token +```bash +git remote set-url origin https://eliza:NEW_TOKEN@gitea.sigd.net/chaulmark/finlion-website.git +git pull +``` + +## Website Technical Stack + +### Frontend Technologies +- **React**: 19.0.0 - Core UI framework +- **Next.js**: 15.0.4 - React framework with App Router +- **TypeScript**: Latest - Type safety and enhanced development +- **Tailwind CSS**: Latest - Utility-first CSS framework +- **Framer Motion**: Latest - Animations and micro-interactions + +### Backend Technologies +- **Next.js API Routes**: Built-in API endpoints +- **Nodemailer**: Email service integration +- **Upstash Redis**: Rate limiting and caching + +### Development Tools +- **pnpm**: 9.14.2 - Package manager +- **Docker**: Containerization for development and production +- **ESLint**: Code quality enforcement + +### Architecture +- **Next.js App Router**: Modern routing system +- **Server-Side Rendering**: For better SEO and performance +- **API Routes**: Backend functionality within Next.js +- **Component-Based**: Reusable React components + +## Website Components (What I Manage) + +### Pages (src/app/) +1. **page.tsx** (root): Homepage/landing page +2. **about/page.tsx**: About page +3. **services/page.tsx**: Services showcase +4. **contact/page.tsx**: Contact form + +### Key Components (src/components/) + +#### Layout Components (components/layout/) +- **Header.tsx**: Site header with branding +- **Navigation.tsx**: Main navigation menu +- **Footer.tsx**: Site footer with links and info + +#### Home Components (components/home/) +- **Hero.tsx**: Homepage hero section +- **Services.tsx**: Services overview on homepage + +#### Shared Components (components/shared/) +- **Toast.tsx**: Notification system + +#### UI Components (components/ui/) +- **Button.tsx**: Reusable button component + +#### Other Components +- **Modal.tsx**: Modal dialog component +- **ServiceCard.tsx**: Service display card + +### API Routes (src/app/api/) +- **contact/route.ts**: Contact form submission endpoint with rate limiting + +### Key Features I Maintain + +#### Contact Form (contact/page.tsx + api/contact/route.ts) +- Professional contact form with validation +- Rate-limited API endpoint for security +- Email integration via Nodemailer +- Success/error notifications + +**When User Says**: "Fix contact form" or "Email not working" + +**What I Do**: +1. Check `.env` file for email configuration +2. Verify API route is working +3. Test form submission locally +4. Fix any issues in contact form or API +5. Test email delivery +6. Commit and push changes + +#### Services Page (services/page.tsx) +- Service cards displaying offerings +- Responsive layout +- Professional design + +**When User Says**: "Add new service" or "Update service" + +**What I Do**: +1. Open `src/data/services.ts` or `src/app/services/page.tsx` +2. Add/update service information +3. Ensure proper formatting and styling +4. Test locally to verify appearance +5. Commit: "Add/Update service: [Service Name]" +6. Push changes + +## Environment Variables (.env) + +**Critical**: Never commit this file! + +```env +# Email Configuration +SMTP_HOST=your-smtp-host +SMTP_PORT=your-smtp-port +SMTP_USER=your-smtp-user +SMTP_PASS=your-smtp-password +FROM_EMAIL=your-from-email +TO_EMAIL=your-to-email + +# Redis Configuration (for rate limiting) +UPSTASH_REDIS_REST_URL=your-redis-url +UPSTASH_REDIS_REST_TOKEN=your-redis-token +``` + +## Development Commands + +### Local Development +```bash +# Install dependencies +pnpm install + +# Start development server (port 3000) +pnpm dev + +# Build for production +pnpm build + +# Start production server +pnpm start + +# Lint code +pnpm lint +``` + +### Docker Commands +```bash +# Development with Docker +docker compose -f docker-compose.dev.yml up + +# Production with Docker +docker compose up --build -d + +# View logs +docker logs finlion-web +``` + +## Task Execution Patterns (AI Internal Process) + +### Task: "Update Homepage Content" +``` +1. User Request: "Change the hero text on homepage" +2. I pull latest: git pull +3. I identify correct file: src/components/home/Hero.tsx or src/app/page.tsx +4. I make the content changes +5. I test locally: pnpm dev (verify changes look good) +6. I commit: "Update homepage: change hero text" +7. I push: git push +8. I report: "Done! Homepage updated and pushed to repository" +``` + +### Task: "Add New Service" +``` +1. User Request: "Add [Service Name] to services page" +2. User provides: Service description, details +3. I pull latest: git pull +4. I open src/data/services.ts or relevant file +5. I add the new service entry +6. I test locally: pnpm dev (verify service displays correctly) +7. I commit: "Add new service: [Service Name]" +8. I push: git push +9. I report: "Done! New service added to services page" +``` + +### Task: "Fix Contact Form" +``` +1. User reports: "Contact form not working" +2. I pull latest: git pull +3. I diagnose issue: + - Check src/app/contact/page.tsx (frontend) + - Check src/app/api/contact/route.ts (backend) + - Verify .env email configuration +4. I fix the problem +5. I test locally: pnpm dev, submit test form +6. I commit: "Fix contact form: [description of fix]" +7. I push: git push +8. I report: "Fixed! Contact form is working now. [Brief explanation]" +``` + +### Task: "Update Styling/Design" +``` +1. User Request: "Change button color" or "Update layout" +2. I pull latest: git pull +3. I identify correct component or style file +4. I make styling changes (Tailwind CSS classes) +5. I test locally: pnpm dev (verify visual changes) +6. I commit: "Update styling: [description]" +7. I push: git push +8. I report: "Done! Design changes applied" +``` + +### Task: "Install New Package/Dependency" +``` +1. User Request: "Add animation library" or "Need new feature" +2. I pull latest: git pull +3. I install package: pnpm add [package-name] +4. I implement the feature using the package +5. I test locally: pnpm dev +6. I commit: "Add [package-name] and implement [feature]" +7. I push: git push +8. I report: "Done! [Feature] added and working" +``` + +## Critical Files I Work With + +### Main Code Files +- `src/app/page.tsx` - Homepage +- `src/app/about/page.tsx` - About page +- `src/app/services/page.tsx` - Services page +- `src/app/contact/page.tsx` - Contact page +- `src/app/layout.tsx` - Root layout (affects all pages) +- `src/app/api/contact/route.ts` - Contact form API endpoint +- `src/data/services.ts` - Services data +- `src/components/` - All React components +- `.env` - Environment variables (SECRETS - never commit!) +- `.env.example` - Environment variable template + +### Configuration Files +- `package.json` - Dependencies and scripts +- `next.config.ts` - Next.js configuration +- `tailwind.config.ts` - Tailwind CSS configuration +- `tsconfig.json` - TypeScript configuration +- `docker-compose.yml` - Production Docker setup +- `docker-compose.dev.yml` - Development Docker setup + +### Asset Directories +- `public/` - Static assets (images, icons, etc.) +- `public/images/` - Image files +- `src/styles/globals.css` - Global CSS styles + +## Project Structure +``` +/Users/Eliza/Writing_Project/FinLion/ +├── src/ +│ ├── app/ # Next.js App Router pages +│ │ ├── page.tsx # Homepage +│ │ ├── layout.tsx # Root layout +│ │ ├── about/ # About page +│ │ ├── services/ # Services page +│ │ ├── contact/ # Contact page +│ │ └── api/ # API routes +│ ├── components/ # React components +│ │ ├── home/ # Home-specific components +│ │ ├── layout/ # Layout components +│ │ ├── shared/ # Shared/reusable components +│ │ └── ui/ # UI components +│ ├── data/ # Data files +│ ├── lib/ # Utility functions +│ ├── styles/ # CSS/styling files +│ └── types/ # TypeScript type definitions +├── public/ # Static assets +│ └── images/ # Image files +├── cline_docs/ # Documentation (this file) +├── .env # Environment variables (SECRET) +├── .env.example # Env template +├── package.json # Dependencies +├── pnpm-lock.yaml # Lock file +├── next.config.ts # Next.js config +├── tailwind.config.ts # Tailwind config +├── tsconfig.json # TypeScript config +├── docker-compose.yml # Production Docker +└── docker-compose.dev.yml # Development Docker +``` + +## Common Issues & AI Solutions + +### Issue: "Contact form not working" +**What I Do**: Check API route, verify .env email settings, test form submission, fix and push changes + +### Issue: "Page not displaying correctly" +**What I Do**: Check component files, verify Tailwind classes, test responsive design, fix and push + +### Issue: "Dependencies issue" +**What I Do**: Run `pnpm install`, check for version conflicts, update dependencies if needed, test and push + +### Issue: "Build errors" +**What I Do**: Run `pnpm build` locally, identify errors, fix TypeScript/import issues, verify build succeeds, push + +### Issue: "Images not loading" +**What I Do**: Check public/ directory, verify file paths, ensure proper Next.js Image component usage, fix and push + +### Issue: "Git token expired" +**What I Tell User**: "Please generate new token at gitea.sigd.net → Settings → Applications → Access Tokens" +**What I Do**: Update git remote with new token when provided + +## Communication Style + +### Good Responses (User-Friendly): +✅ "Done! I've updated the homepage hero text. Changes are pushed to the repository." +✅ "Fixed the contact form - it was a configuration issue. Email now works properly!" +✅ "I've added the new service to your services page. It's ready for deployment." + +### Bad Responses (Too Technical): +❌ "I updated the Hero.tsx component in src/components/home/ directory..." +❌ "The SMTP_PORT environment variable was incorrectly set to 465..." +❌ "I modified the ServiceCard props interface to accept a new type..." + +**Rule**: Report WHAT was done and RESULTS, not HOW it was done technically + +## Quick Reference + +### User Says → AI Does +- "Update [page] content" → Edit page file, test locally, commit, push +- "Add new service" → Edit services data/page, test, commit, push +- "Fix contact form" → Diagnose, fix API/form/env, test, commit, push +- "Change styling" → Update Tailwind classes, test, commit, push +- "Add feature" → Install packages if needed, implement, test, commit, push +- "Images not working" → Check paths, fix issues, commit, push + +### AI Never Asks User To: +- ❌ Run git commands +- ❌ Edit code files +- ❌ Install dependencies +- ❌ Run development server +- ❌ Debug code +- ❌ Configure Docker + +### AI Always: +- ✅ Pull before starting work +- ✅ Test locally when possible +- ✅ Commit with clear messages +- ✅ Push to Git repository +- ✅ Report completion simply +- ✅ Update this memory bank after significant changes + +## Recent History (Reference Only) +- **March 13, 2026**: + - Cloned repository from Gitea + - Configured Git authentication with Eliza's credentials + - Set up git user configuration (eliza / eliza@gitea.sigd.net) + - Created comprehensive memory bank based on DeafGain template + - Repository status: Working tree clean, up to date with origin/main + - Ready for development work + +## Status +🟢 **System Ready** - Repository cloned, git configured, ready for development +🤖 **AI Assistant Ready** - Waiting for user requests to make changes, add content, or fix issues +📝 **Next Steps**: User to provide content requests or development tasks