.claude/settings.local.json holds machine-specific IDE permissions and
should not be tracked.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Enable output: standalone in next.config.ts so Next.js produces a
self-contained server bundle in .next/standalone. Multi-stage Dockerfile
(deps -> builder -> runner) on node:20-alpine keeps the final image
minimal; app runs as a non-root user for security. .dockerignore
excludes node_modules, .next, .env files, and editor tooling.
To build and run:
docker build -t portfolio .
docker run -p 3000:3000 portfolio
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Single-page scrolling portfolio using Next.js 16, Tailwind CSS v4, and
Framer Motion. Sections: Hero, About, Skills, Projects, Contact. Dark
theme with orange/amber accents, scroll-reveal animations, and a sticky
blurring navbar. All content populated from Khaalid's CV — real bio,
skills, work context, and personal projects (server hosting, game dev,
AI). Contact form wired to khaalidmnbaccar@gmail.com via mailto.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>