# Atlas Green Morocco — Complete File Manifest ## Every File in the Production-Ready Package --- ## 🎯 Quick File Reference ### Essential Files (Must Keep) | File | Purpose | Size | Can Delete? | |------|---------|------|------------| | `src/App.tsx` | Main React app component | ~500 B | ❌ No | | `src/main.tsx` | React entry point | ~200 B | ❌ No | | `index.html` | HTML template | ~400 B | ❌ No | | `Dockerfile` | Docker build configuration | ~300 B | ❌ No | | `docker-compose.yml` | Docker Compose config | ~200 B | ❌ No | | `nginx.conf` | Nginx server config | ~1 KB | ❌ No | | `package.json` | Dependencies and scripts | ~1 KB | ❌ No | | `tailwind.config.ts` | Tailwind CSS config | ~500 B | ❌ No | ### Important Files (Should Keep) | File | Purpose | Size | Can Delete? | |------|---------|------|------------| | `.dockerignore` | Docker build exclusions | ~200 B | ❌ No (for Docker) | | `tsconfig.json` | TypeScript configuration | ~500 B | ❌ No (for build) | | `vite.config.ts` | Vite build configuration | ~300 B | ❌ No (for build) | | `public/images/hero.jpg` | Hero section background | ~200 KB | ✅ Yes (but recommended) | ### Documentation (For Reference) | File | Purpose | Size | Can Delete? | |------|---------|------|------------| | `README.md` | Project overview | ~20 KB | ✅ Yes (but recommended) | | `DEPLOYMENT_GUIDE.md` | 12–36 month playbook | ~40 KB | ✅ Yes (but recommended) | | `FOUNDER_CHECKLIST.md` | Daily/weekly tasks | ~30 KB | ✅ Yes (but recommended) | | `DOCKER_DEPLOYMENT.md` | Docker deployment guide | ~35 KB | ✅ Yes (but recommended) | | `PACKAGE_SUMMARY.md` | Package contents | ~30 KB | ✅ Yes (but recommended) | | `FILE_MANIFEST.md` | This file | ~20 KB | ✅ Yes | --- ## 📁 Complete Directory Tree ``` atlas-green-morocco/ │ ├── 📄 Root Files │ ├── index.html # HTML template (entry point) │ ├── package.json # Dependencies and npm scripts │ ├── package-lock.json # Dependency lock file (auto-generated) │ ├── tsconfig.json # TypeScript configuration │ ├── vite.config.ts # Vite build tool config │ ├── tailwind.config.ts # Tailwind CSS configuration │ ├── .gitignore # Git exclusions │ │ │ ├── 🐳 Docker & Deployment │ │ ├── Dockerfile # Multi-stage Docker build │ │ ├── docker-compose.yml # Docker Compose setup │ │ ├── nginx.conf # Nginx server configuration │ │ └── .dockerignore # Docker build exclusions │ │ │ └── 📚 Documentation │ ├── README.md # Complete project documentation │ ├── DEPLOYMENT_GUIDE.md # 12–36 month execution playbook │ ├── FOUNDER_CHECKLIST.md # Daily/weekly action checklist │ ├── DOCKER_DEPLOYMENT.md # Production deployment guide │ ├── PACKAGE_SUMMARY.md # Package contents & usage │ ├── FILE_MANIFEST.md # This file │ └── LICENSE # MIT License │ ├── src/ # Source code directory │ │ │ ├── components/ # React components │ │ ├── Nav.tsx # Navigation header (sticky) │ │ ├── Hero.tsx # Hero section with background │ │ ├── PositionSection.tsx # Business model selector (interactive) │ │ ├── OpportunitiesSection.tsx # 4 opportunity categories (A–D) │ │ ├── ZonesSection.tsx # Moroccan free zones │ │ ├── PlaybookSection.tsx # Company structure, funding, MVP │ │ ├── DeploymentPlaybook.tsx # 7-phase deployment guide │ │ ├── MacroSection.tsx # Morocco's advantages │ │ ├── IdeasSection.tsx # Top 5 startup ideas │ │ ├── PathSection.tsx # Recommended practical path │ │ ├── Footer.tsx # Footer with branding │ │ └── Section.tsx # Reusable section wrapper │ │ │ ├── data/ # TypeScript data files │ │ ├── index.ts # Business models, opportunities, zones, ideas │ │ └── deployment.ts # 7 deployment phases (100+ actions) │ │ │ ├── utils/ # Utility functions │ │ └── cn.ts # Tailwind class merging │ │ │ ├── App.tsx # Main app component │ ├── main.tsx # React entry point │ └── index.css # Global Tailwind CSS styles │ ├── public/ # Static assets │ └── images/ │ └── hero.jpg # Hero background image (AI-generated) │ ├── dist/ # Built application (auto-generated) │ └── index.html # Single-file compiled app │ └── node_modules/ # Dependencies (auto-generated, excluded from git) └── [installed packages] ``` --- ## 🔧 File Descriptions ### Source Code Files #### `src/App.tsx` (Main Component) ```typescript // Root React component // Renders all sections in order: // - Nav // - Hero // - PositionSection // - OpportunitiesSection // - ZonesSection // - PlaybookSection // - DeploymentPlaybook // - MacroSection // - IdeasSection // - PathSection // - Footer ``` **Lines**: ~40 **Edit**: When adding new sections or reordering #### `src/main.tsx` (Entry Point) ```typescript // React DOM render entry point // Mounts to #root div ``` **Lines**: ~10 **Edit**: Only if changing React version or setup #### `src/components/Nav.tsx` (Navigation) ```typescript // Sticky header navigation // Features: // - Fixed positioning on scroll // - Mobile hamburger menu // - Quick links to all sections // - Responsive design ``` **Lines**: ~100 **Edit**: To add/remove navigation links or change styling #### `src/components/Hero.tsx` (Hero Section) ```typescript // Full-screen hero with background image // Features: // - Background image (public/images/hero.jpg) // - Gradient overlay // - Core thesis statement // - CTA buttons // - Key statistics ``` **Lines**: ~80 **Edit**: To change hero image, copy, or CTA #### `src/components/PositionSection.tsx` (Interactive Model Selector) ```typescript // Business model comparison section // Features: // - 5 business models with metrics // - Interactive click to select // - Sticky detail panel // - Capital/complexity/scalability meters // - Entry point benefits highlight ``` **Lines**: ~150 **Edit**: To modify business models or metrics #### `src/components/OpportunitiesSection.tsx` (Opportunity Categories) ```typescript // 4 opportunity categories (A–D) // Features: // - Expandable accordion cards // - 13 products/services detailed // - Context descriptions // - "Why attractive" benefits ``` **Lines**: ~120 **Edit**: To add/modify opportunities or products #### `src/components/ZonesSection.tsx` (Moroccan Free Zones) ```typescript // 5 Moroccan free zones guide // Features: // - Zone cards with specialization // - Future zone highlight (Dakhla) // - Icons and descriptions ``` **Lines**: ~60 **Edit**: To add/remove zones or descriptions #### `src/components/PlaybookSection.tsx` (Execution Playbook) ```typescript // Company structure, funding, MVP strategy // Features: // - MVP Build → Embed → Expand timeline // - Phase 2 (company structure) // - Phase 4 (funding) // - Phase 5 (MVP strategy) ``` **Lines**: ~90 **Edit**: To modify phases or add new ones #### `src/components/DeploymentPlaybook.tsx` (Interactive Playbook) ```typescript // 7 deployment phases with full details // Features: // - 7 expandable accordion cards // - 36+ actions with owners/timelines // - 21+ checkpoints // - 90+ success metrics // - 40+ pitfalls documented // - Color-coded criticality badges ``` **Lines**: ~200 **Edit**: To modify phases, actions, metrics, or pitfalls #### `src/components/MacroSection.tsx` (Macro Analysis) ```typescript // Morocco's advantages & macro trends // Features: // - 5 advantage cards // - Core insight callout ``` **Lines**: ~50 **Edit**: To modify advantages or add new insights #### `src/components/IdeasSection.tsx` (Top 5 Ideas) ```typescript // 5 highest-upside startup ideas // Features: // - Ranked list with icons // - Brief description for each ``` **Lines**: ~50 **Edit**: To add/remove ideas #### `src/components/PathSection.tsx` (Practical Path) ```typescript // 5-step recommended journey // Features: // - Numbered timeline // - Dark section with gradient // - CTA callout box ``` **Lines**: ~70 **Edit**: To modify path steps or messaging #### `src/components/Section.tsx` (Reusable Component) ```typescript // Generic section wrapper // Features: // - Eyebrow label // - Title // - Intro text // - Optional dark mode ``` **Lines**: ~40 **Edit**: To change section styling defaults #### `src/components/Footer.tsx` (Footer) ```typescript // Footer with branding // Features: // - Logo // - Copyright // - Disclaimer ``` **Lines**: ~30 **Edit**: To add contact info, links, etc. ### Data Files #### `src/data/index.ts` (Main Data) ```typescript // Business models (5) // Entry point benefits (5) // Opportunities (4 categories, 13 products) // Zones (5 Moroccan free zones) // Startup ideas (5) // Morocco advantages (5) // Practical path (5 steps) ``` **Lines**: ~350 **Edit**: To update any strategy content #### `src/data/deployment.ts` (Deployment Phases) ```typescript // 7 deployment stages (0–7) // Each includes: // - Phase title, duration, objective // - 5–6 actions (title, description, owner, timeline, resources) // - 3–4 checkpoints (name, description, success criteria) // - 8–12 success metrics // - 4–6 pitfalls ``` **Lines**: ~900 **Edit**: To modify deployment timeline or add phases ### Configuration Files #### `package.json` ```json { "name": "react-vite-tailwind", "version": "0.0.0", "dependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", "clsx": "^2.0.0", "tailwind-merge": "^2.2.0" }, "devDependencies": { "typescript": "^5.3.0", "vite": "^7.3.2", "tailwindcss": "^3.4.0", "@types/react": "^18.2.0", "@types/node": "^20.0.0" }, "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview" } } ``` **Edit**: To add new npm packages or modify scripts #### `tsconfig.json` ```json { "compilerOptions": { "target": "ES2020", "module": "ESNext", "jsx": "react-jsx", "strict": true, "moduleResolution": "bundler" } } ``` **Edit**: To change TypeScript compilation settings #### `vite.config.ts` ```typescript import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import singleFile from 'vite-plugin-singlefile' export default defineConfig({ plugins: [react(), singleFile()] }) ``` **Edit**: To change Vite build behavior or add plugins #### `tailwind.config.ts` ```typescript export default { theme: { extend: { colors: { emerald: { ... }, teal: { ... } } } } } ``` **Edit**: To customize colors, fonts, spacing, etc. ### Docker Files #### `Dockerfile` (Multi-Stage Build) ```dockerfile # Stage 1: Builder (Node.js 20 Alpine) FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build # Stage 2: Runtime (Nginx Alpine) FROM nginx:alpine AS runner RUN rm -rf /usr/share/nginx/html/* COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=builder /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` **Edit**: To change Node version, Nginx config, or build steps #### `docker-compose.yml` ```yaml version: '3.8' services: atlas-green-app: build: context: . dockerfile: Dockerfile image: atlas-green-morocco:latest container_name: atlas-green-production ports: - "80:80" restart: unless-stopped environment: - NODE_ENV=production ``` **Edit**: To change port, container name, or environment variables #### `nginx.conf` (Web Server) ```nginx server { listen 80; server_name localhost; root /usr/share/nginx/html; # Gzip compression gzip on; gzip_types text/plain text/css application/javascript; # Security headers add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; # SPA routing location / { try_files $uri $uri/ /index.html; } # Static asset caching location ~* \\.(?:ico|css|js)$ { expires 6M; } } ``` **Edit**: To add HTTPS, change domain, modify headers, etc. #### `.dockerignore` ``` node_modules dist .git .gitignore .dockerignore Dockerfile docker-compose.yml README.md ``` **Edit**: To exclude additional files from Docker build ### HTML & CSS #### `index.html` ```html Atlas Green — Building the Hydrogen Economy in Morocco (2026–2035)
``` **Edit**: To change page title or meta tags #### `src/index.css` ```css @import "tailwindcss"; html { scroll-behavior: smooth; } body { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto; } ``` **Edit**: To add global CSS or change font ### Utilities #### `src/utils/cn.ts` ```typescript import { clsx, type ClassValue } from "clsx"; import { twMerge } from "tailwind-merge"; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } ``` **Edit**: Rarely (used for merging Tailwind classes) ### Documentation Files #### `README.md` (~500 lines) - Project overview - What is Atlas Green Morocco - Features - Getting started - Project structure - Documentation guide - Technology stack - Customization - Performance metrics - Browser support - Contributing - License - Contact #### `DEPLOYMENT_GUIDE.md` (~600 lines) - Phase-by-phase breakdown (0–7) - Actions with timelines - Success checkpoints - Success metrics - Common pitfalls - Quick reference table - Financial milestones - Funding by phase - Pre-launch checklist #### `FOUNDER_CHECKLIST.md` (~500 lines) - Week-by-week tasks - Daily action items - Metrics to track - Founder habits (weekly, monthly, quarterly) - Key metrics guide - Pro tips and don'ts - Self-care reminders #### `DOCKER_DEPLOYMENT.md` (~400 lines) - Quick start (local) - Production deployment options - Docker architecture explained - Nginx configuration details - Environment variables - Health checks - Scaling tips - Troubleshooting - Security best practices - Cost analysis #### `PACKAGE_SUMMARY.md` (~350 lines) - Package contents overview - File structure - Quick start (3 ways) - Documentation guide - Feature breakdown - Customization guide - Data statistics - Design system - Security & performance - Pre-launch checklist #### `FILE_MANIFEST.md` (~250 lines, this file) - Quick file reference - Complete directory tree - File descriptions - Lines of code per file - Edit guidelines --- ## 📊 Code Statistics ### Total Lines of Code | Category | Files | Lines | Purpose | |----------|-------|-------|---------| | **React Components** | 11 | ~1,100 | UI components | | **Data Files** | 2 | ~1,250 | Strategy + deployment data | | **Configuration** | 5 | ~500 | Build, TypeScript, Tailwind | | **Docker** | 3 | ~150 | Containerization | | **HTML/CSS** | 2 | ~50 | Global styles | | **Total Code** | 23 | ~3,050 | - | | **Documentation** | 6 | ~2,500 | .md files | | **Grand Total** | 29 | ~5,550 | Everything | ### Bundle Sizes | Metric | Size | Compressed | Notes | |--------|------|-----------|-------| | HTML output | 307 KB | 98 KB | Single-file build | | Docker image | <25 MB | - | Nginx Alpine based | | hero.jpg | ~200 KB | - | AI-generated background | --- ## 🔄 File Dependencies ``` index.html ↓ src/main.tsx ↓ src/App.tsx ├─→ src/components/Nav.tsx ├─→ src/components/Hero.tsx ├─→ src/components/PositionSection.tsx │ ↓ │ src/data/index.ts (businessModels, entryPointBenefits) ├─→ src/components/OpportunitiesSection.tsx │ ↓ │ src/data/index.ts (opportunities) ├─→ src/components/ZonesSection.tsx │ ↓ │ src/data/index.ts (zones) ├─→ src/components/PlaybookSection.tsx │ ↓ │ src/data/index.ts (phases, mvpSteps) ├─→ src/components/DeploymentPlaybook.tsx │ ↓ │ src/data/deployment.ts (deploymentStages) ├─→ src/components/MacroSection.tsx │ ↓ │ src/data/index.ts (moroccoAdvantages) ├─→ src/components/IdeasSection.tsx │ ↓ │ src/data/index.ts (startupIdeas) ├─→ src/components/PathSection.tsx │ ↓ │ src/data/index.ts (practicalPath) └─→ src/components/Footer.tsx All components use: ├─→ src/components/Section.tsx ├─→ src/utils/cn.ts └─→ Tailwind CSS (via src/index.css) ``` --- ## 🛠️ Building & Deployment Flow ``` package.json (npm scripts) ├─→ npm run dev │ └─→ Vite dev server (port 5173) ├─→ npm run build │ ├─→ TypeScript compilation │ ├─→ React + Vite bundling │ ├─→ Tailwind CSS processing │ └─→ Output to dist/ (single index.html) └─→ npm run preview └─→ Preview production build locally Dockerfile ├─→ Stage 1: Build (Node.js Alpine) │ ├─→ npm ci (install dependencies) │ ├─→ npm run build (compile) │ └─→ Output: dist/index.html └─→ Stage 2: Runtime (Nginx Alpine) ├─→ Copy dist/index.html → /usr/share/nginx/html/ ├─→ Copy nginx.conf → /etc/nginx/conf.d/ └─→ Expose port 80, run Nginx docker-compose.yml ├─→ docker compose up (build + run) ├─→ docker compose logs (view logs) └─→ docker compose down (stop container) ``` --- ## 🔐 Security: What's Where | Security Feature | Location | Details | |-----------------|----------|---------| | Gzip compression | nginx.conf (line 7) | Reduces bandwidth 60% | | Security headers | nginx.conf (line 11) | X-Frame-Options, CSP, etc. | | HTTPS ready | DOCKER_DEPLOYMENT.md | Use Traefik or Cloudflare | | Data encryption | Tailwind only | No backend, no data storage | | Input validation | React components | Form validation (not applicable) | | CORS | nginx.conf | Not explicitly set (static site) | --- ## 📝 Editing Checklists ### To Add a New Deployment Phase 1. Edit `src/data/deployment.ts` 2. Add new `DeploymentStage` object to `deploymentStages` array 3. Include: phase, title, objective, actions, checkpoints, metrics, pitfalls 4. Rebuild: `npm run build` 5. Test in browser ### To Modify Business Models 1. Edit `src/data/index.ts` → `businessModels` array 2. Change properties (name, capital, complexity, etc.) 3. Rebuild: `npm run build` 4. PositionSection will automatically update ### To Add a New Opportunity Category 1. Edit `src/data/index.ts` → `opportunities` array 2. Add new `Opportunity` object with products and functions 3. Update the icon emoji if needed 4. Rebuild: `npm run build` 5. OpportunitiesSection will automatically display ### To Deploy to Production 1. Ensure `Dockerfile`, `docker-compose.yml`, `nginx.conf` are correct 2. Run: `docker compose up -d --build` 3. Access at `http://your_server_ip` 4. See `DOCKER_DEPLOYMENT.md` for specific platform instructions --- ## 🚀 File Optimization Tips ### For Development - Keep `src/` organized (components/ and data/ folders) - Use TypeScript for type safety - Use `npm run dev` for hot reload ### For Production - Run `npm run build` before deploying - Use Docker for containerization - Verify `dist/index.html` contains compiled app - Test with `docker compose up` before push ### For Maintenance - Keep `src/data/` files in sync - Update documentation when changing strategy - Use git for version control - Tag releases with version numbers --- ## 📦 What NOT to Delete **Critical** (app won't work): - ❌ `src/App.tsx` - ❌ `index.html` - ❌ `src/main.tsx` - ❌ `package.json` - ❌ `vite.config.ts` - ❌ `tailwind.config.ts` **Important** (Docker won't work): - ❌ `Dockerfile` - ❌ `docker-compose.yml` - ❌ `nginx.conf` **Helpful** (won't break, but lose value): - ⚠️ `public/images/hero.jpg` (hero won't have background) - ⚠️ Documentation files (lose reference material) --- ## ✅ Pre-Deployment Checklist Before deploying to production: - [ ] All files present (check FILE_MANIFEST.md) - [ ] `npm run build` completes without errors - [ ] `dist/index.html` exists and is <400 KB - [ ] `docker compose up -d --build` succeeds - [ ] Application loads at `http://localhost` - [ ] All sections visible and clickable - [ ] Navigation links work - [ ] Expandable cards expand/collapse - [ ] Hero image loads - [ ] Responsive on mobile (open devtools, zoom to 375px width) --- **Last Updated**: January 2026 **Version**: 1.0 **Status**: Production Ready ✅