59 lines
1.9 KiB
Markdown
59 lines
1.9 KiB
Markdown
|
|
# Code Dimensions to Detect
|
||
|
|
|
||
|
|
Reference only — not in context. Consult when categorizing a new preference.
|
||
|
|
|
||
|
|
## Stack Decisions
|
||
|
|
- Mobile framework (Flutter, React Native, Swift, Kotlin)
|
||
|
|
- Web framework (Next.js, Nuxt, SvelteKit, vanilla)
|
||
|
|
- Backend (Node, Python, Go, Rust, serverless)
|
||
|
|
- Database (Postgres, SQLite, MongoDB, Pocketbase, Supabase)
|
||
|
|
- Hosting (Vercel, self-hosted, Docker, cloud)
|
||
|
|
- Auth approach (built-in, Auth0, Clerk, custom)
|
||
|
|
- State management (none, Redux, Zustand, Riverpod)
|
||
|
|
- CSS approach (Tailwind, CSS modules, styled-components)
|
||
|
|
|
||
|
|
## Code Style
|
||
|
|
- Formatting (Prettier yes/no, tabs/spaces, line length)
|
||
|
|
- Naming (camelCase, snake_case, kebab-case for files)
|
||
|
|
- Comments (minimal, verbose, JSDoc, none)
|
||
|
|
- Type strictness (strict, loose, any allowed)
|
||
|
|
- Error handling style (try-catch, Result types, early returns)
|
||
|
|
- Import organization (grouped, alphabetical, auto)
|
||
|
|
|
||
|
|
## Project Structure
|
||
|
|
- Monorepo vs separate repos
|
||
|
|
- Folder organization (by feature, by type, flat)
|
||
|
|
- Config files location (root, dedicated folder)
|
||
|
|
- Test location (colocated, separate folder)
|
||
|
|
- Documentation approach (README, docs folder, inline)
|
||
|
|
|
||
|
|
## Dependencies
|
||
|
|
- Dependency philosophy (minimal, use libraries, build custom)
|
||
|
|
- Version pinning (exact, caret, latest)
|
||
|
|
- Package manager (npm, pnpm, yarn, bun)
|
||
|
|
|
||
|
|
## Testing
|
||
|
|
- Test framework preference
|
||
|
|
- Coverage expectations
|
||
|
|
- Test style (unit heavy, integration heavy, e2e)
|
||
|
|
- TDD vs test-after
|
||
|
|
|
||
|
|
## Git & Workflow
|
||
|
|
- Commit style (conventional, free-form)
|
||
|
|
- Branch strategy (trunk, gitflow, simple)
|
||
|
|
- PR size preference
|
||
|
|
- CI/CD approach
|
||
|
|
|
||
|
|
## Language-Specific
|
||
|
|
- User may have different preferences per language
|
||
|
|
- Format: "Python: black formatter" or "TypeScript: strict mode"
|
||
|
|
|
||
|
|
## Context-Specific
|
||
|
|
- Different rules for different project types
|
||
|
|
- Format: "For MVPs: skip tests" or "For production: full typing"
|
||
|
|
|
||
|
|
## Anti-Patterns (Never)
|
||
|
|
- Tools/libraries user explicitly rejected
|
||
|
|
- Patterns user said they dislike
|
||
|
|
- Past mistakes to not repeat
|