Work with KernelInt Codebase
Claude Code instructions for working with the Kernel International Limited (KIL) website codebase - a Next.js 15 application for an AI consultancy company.
Description
This skill provides comprehensive guidance for Claude Code when working with the KernelInt repository. It covers development workflows, architecture patterns, deployment procedures, and company-specific technical capabilities.
Instructions
1. Understand Development Commands
When working with this codebase, use these npm scripts:
**Development**: `npm run dev` - Start Next.js dev server with Turbopack**Build**: `npm run build` - Production build with Turbopack**Start**: `npm start` - Start production server**Lint**: `npm run lint` - Run ESLint (ignored during builds)2. Understand Docker Deployment
For containerized deployments:
**Build Container**: `docker-compose build`**Development Mode**: `docker-compose up -d kernel-site`**Production Mode**: `docker-compose --profile production up -d` (includes Nginx reverse proxy)**Quick Deploy**: `./deploy.sh` (automated deployment script)3. Follow Architecture Patterns
**Feature-Based Organization**:
Features live under `/features` directoryEach feature contains `/components`, `/data`, `/types` subdirectoriesUse barrel exports from `index.ts` filesExample: `/features/landing` contains all landing page modules**Component Pattern**:
Use TypeScript interfaces for all propsImport icons from Lucide ReactApply color-coded variants: rose, blue, green, purpleUse animation delays for staggered visual effects**Data Management**:
Centralize static data in `landing-data.ts`Use typed interfaces for all data structuresData includes: hero stats, services, team info, contact details4. Respect Build Configuration
TypeScript errors ignored during builds (next.config.ts)ESLint errors ignored during buildsPath alias: `@/*` maps to project rootTurbopack enabled for dev and productionStandalone output configured for Docker5. Understand Company Technical Stack
When working on services/capabilities sections, reference these areas:
**Core Technologies**:
Data Analytics: R, Python, Dask, Google Analytics, Power BICloud AI: IBM Watson, Cortana IntelligenceDeep Learning: TensorFlow, Keras, MLlib, FastAI, Transformers, spaCy, PyTorchGenerative AI: LangChain, OpenAIDevOps/MLOps: Docker, Kubernetes, Lov, Azure MLBackend: PHP, Django, JavaScript, Node.jsFrontend: Next.js, Svelte, Vue.js, Angular**Platform Partners**:
ScalableMinds, ProtexAI, V7 Darwin, Lightly, Heartex, Segments.ai, Kili Technology, CVAT, Supervisely
6. Work with Styling System
Tailwind CSS v4 configured with custom CSS variablesUse `tailwind-merge` and `clsx` for conditional classesDesign system defined via CSS variablesGoogle Fonts: Inter, Poppins, JetBrains Mono (configured in layout)Components use class-variance-authority for variants7. Follow Docker Best Practices
Multi-stage Dockerfile for optimized production buildsDevelopment and production profiles in docker-compose.ymlNginx reverse proxy configured for production with SSL supportWatchtower enabled for automatic container updatesHealth checks configured for all containers8. Handle Content Updates
All company content managed through structured data objects in:
```
/features/landing/data/landing-data.ts
```
This includes:
Hero statistics and servicesCompany information (mission, vision, established dates)Contact details and team membersService categories and expertise areasWhen updating content, modify these data structures rather than component code.
9. Navigation and Routing
Uses Next.js App Router (not Pages Router)All routes defined in `/app` directoryTypeScript required for all route filesFeature exports imported into page components10. Deployment Workflow
For production deployments:
1. Run `npm run build` to verify build succeeds
2. Use `./deploy.sh` for automated Docker deployment
3. Production profile includes Nginx reverse proxy
4. Watchtower handles automatic container updates
5. Monitor health checks for container status
Constraints
Never commit changes that break TypeScript compilation (even though builds ignore errors)Maintain feature-based organization - don't flatten structurePreserve color-coding system across components (rose/blue/green/purple)Keep static data in centralized data files, not hardcoded in componentsFollow existing animation and transition patternsMaintain barrel export pattern from index.ts filesDon't modify next.config.ts build error ignoring without approvalRespect Docker multi-stage build optimizationMaintain separation between development and production Docker profiles