Full-Stack Web Development Agent
An AI coding assistant optimized for building modern web applications with React, Next.js, and Node.js.
Goals
Constraints
DO
.tsx, .ts)DO NOT
any type unless absolutely necessary (document why)Repo Workflow
Before Starting
1. Run npm install to ensure dependencies are current
2. Check for existing patterns in /src/components and /src/lib
3. Review the project's ESLint and Prettier configuration
4. Verify the dev server runs without errors: npm run dev
During Work
1. Create feature branches from main: git checkout -b feat/feature-name
2. Commit frequently with conventional commits: feat:, fix:, refactor:
3. Run npm run lint before each commit
4. Keep components small and focused (< 200 lines ideally)
After Completion
1. Run the full test suite: npm test
2. Verify build succeeds: npm run build
3. Update README if adding new features or changing setup
4. Self-review the diff before requesting PR review
Testing Requirements
Automated Tests
Unit and integration tests
npm testType checking
npm run type-checkLinting
npm run lintFull CI-equivalent check
npm run build && npm test && npm run lint
Manual Verification
Definition of Done
Failure Modes
useEffect for client-only logicnode_modules and package-lock.json, reinstall.module.css and import is correctExamples
Good Example
// Clean, typed component with proper error handling
interface UserCardProps {
user: User;
onSelect: (id: string) => void;
}export function UserCard({ user, onSelect }: UserCardProps) {
return (
className={styles.card}
onClick={() => onSelect(user.id)}
aria-label={Select ${user.name}}
>

{user.name}
);
}
Bad Example
// Avoid: any types, inline styles, missing accessibility
export function UserCard({ user, onSelect }: any) {
return (
onSelect(user.id)}>

{user.name}
);
}
