67 lines
2.6 KiB
Markdown
67 lines
2.6 KiB
Markdown
# Shared Development Guidelines
|
|
|
|
> These guidelines apply to all Next.js full-stack applications using this architecture.
|
|
|
|
---
|
|
|
|
## Documentation Files
|
|
|
|
| File | Description | When to Read |
|
|
| -------------------------------------- | ------------------------------------ | ----------------------- |
|
|
| [code-quality.md](./code-quality.md) | Code quality mandatory rules | Always |
|
|
| [typescript.md](./typescript.md) | TypeScript best practices | Type-related decisions |
|
|
| [dependencies.md](./dependencies.md) | Dependency versions and constraints | Adding/updating deps |
|
|
|
|
---
|
|
|
|
## Quick Navigation
|
|
|
|
| Task | File |
|
|
| --------------------------- | -------------------------------------- |
|
|
| Code quality rules | [code-quality.md](./code-quality.md) |
|
|
| Type annotations | [typescript.md](./typescript.md) |
|
|
| Dependency management | [dependencies.md](./dependencies.md) |
|
|
|
|
---
|
|
|
|
## Core Rules (MANDATORY)
|
|
|
|
| Rule | File |
|
|
| ----------------------------------------- | -------------------------------------- |
|
|
| No non-null assertions (`!`) | [code-quality.md](./code-quality.md) |
|
|
| No `any` type | [code-quality.md](./code-quality.md) |
|
|
| No `@ts-expect-error` / `@ts-ignore` | [code-quality.md](./code-quality.md) |
|
|
| No `console.log` (use structured logging) | [code-quality.md](./code-quality.md) |
|
|
| Zod-first type definitions | [typescript.md](./typescript.md) |
|
|
| Import types from backend, never redefine | [typescript.md](./typescript.md) |
|
|
| Standard response format (`success` + `reason`) | [typescript.md](./typescript.md) |
|
|
|
|
---
|
|
|
|
## Before Every Commit
|
|
|
|
- [ ] `pnpm lint` - 0 errors
|
|
- [ ] `pnpm type-check` - 0 errors
|
|
- [ ] `pnpm build` - production build succeeds
|
|
- [ ] No `any` types in new code
|
|
- [ ] No non-null assertions (`!`)
|
|
- [ ] No `@ts-expect-error` or `@ts-ignore` comments
|
|
- [ ] No `console.log` statements (use `logger`)
|
|
- [ ] Tests pass (if applicable)
|
|
|
|
---
|
|
|
|
## Code Review Checklist
|
|
|
|
- [ ] Types are explicit, not `any`
|
|
- [ ] API inputs/outputs have Zod schemas
|
|
- [ ] Error handling returns structured responses
|
|
- [ ] No duplicate type definitions (import from source of truth)
|
|
- [ ] Naming follows conventions (files: kebab-case, components: PascalCase)
|
|
- [ ] Unused imports and dead code removed
|
|
- [ ] No swallowed errors (silent `catch` blocks)
|
|
|
|
---
|
|
|
|
**Language**: All documentation must be written in **English**.
|