From 0751471ecb0834f946251160117ed4447b377b8e Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2026 05:23:07 +0000 Subject: [PATCH] refactor(backend): optimize backend snippets for deterministic Agent parsing Co-authored-by: beginwebdev2002 <102213457+beginwebdev2002@users.noreply.github.com> --- backend/expressjs/architecture.md | 4 +- backend/expressjs/readme.md | 94 +++++++++++++++++++ backend/expressjs/security-best-practices.md | 4 +- backend/microservices/api-design.md | 6 +- backend/microservices/architecture.md | 6 +- backend/microservices/readme.md | 6 +- .../microservices/security-best-practices.md | 6 +- backend/mongodb/architecture.md | 4 +- backend/mongodb/database-optimization.md | 10 +- backend/mongodb/readme.md | 7 +- backend/mongodb/security-best-practices.md | 10 +- backend/nestjs/architecture.md | 4 +- backend/nestjs/readme.md | 94 +++++++++++++++++++ backend/nestjs/security-best-practices.md | 4 +- backend/nodejs/readme.md | 34 +++++++ backend/postgresql/architecture.md | 4 +- backend/postgresql/database-optimization.md | 4 +- backend/postgresql/readme.md | 4 +- backend/postgresql/security-best-practices.md | 4 +- backend/readme.md | 4 + backend/redis/api-design.md | 4 +- backend/redis/architecture.md | 4 +- backend/redis/readme.md | 4 +- backend/redis/security-best-practices.md | 4 +- 24 files changed, 285 insertions(+), 44 deletions(-) diff --git a/backend/expressjs/architecture.md b/backend/expressjs/architecture.md index 001abe9..d771f1e 100644 --- a/backend/expressjs/architecture.md +++ b/backend/expressjs/architecture.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: Express.js Architecture -vibe_coding_ready: true version: "4.x / 5.x" tags: [best-practices, clean-code, expressjs, vibe-coding, cursor-rules, javascript, typescript, software-architecture, system-design, mvc, production-ready, programming-standards, node-js, design-patterns, scalable-code, windsurf-rules, ai-coding, enterprise-patterns, backend] ai_role: Senior Express.js Architecture Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🏗️ Express.js Architecture Best Practices diff --git a/backend/expressjs/readme.md b/backend/expressjs/readme.md index 0af884d..7337f11 100644 --- a/backend/expressjs/readme.md +++ b/backend/expressjs/readme.md @@ -7,6 +7,10 @@ version: "4.x / 5.x" tags: [best-practices, clean-code, expressjs, vibe-coding, cursor-rules, javascript, typescript, software-architecture, system-design, mvc, production-ready, programming-standards, node-js, design-patterns, scalable-code, windsurf-rules, ai-coding, enterprise-patterns, backend] ai_role: Senior Express.js Backend Expert last_updated: 2026-03-23 +topic: Backend Architecture +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true ---
@@ -71,6 +75,9 @@ app.post('/api/users', async (req, res) => { /* бизнес-логика здесь */ }); ``` +### ⚠️ Problem +Synchronous operations block the main event loop, causing severe performance degradation and potential denial-of-service (DoS) under load. + ### ✅ Best Practice ```javascript router.post('/api/users', UserController.create); @@ -87,6 +94,9 @@ class UserController { ```javascript router.get('/', async (req, res) => { throw new Error('Crash'); }); // Express 4 не ловит rejection ``` +### ⚠️ Problem +Synchronous operations block the main event loop, causing severe performance degradation and potential denial-of-service (DoS) under load. + ### ✅ Best Practice ```javascript const asyncHandler = fn => (req, res, next) => Promise.resolve(fn(req, res, next)).catch(next); @@ -100,6 +110,9 @@ router.get('/', asyncHandler(UserController.get)); ```javascript app.use((req, res) => res.status(404).send('Not Found')); // Нет ловца ошибок 500 ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript app.use((err, req, res, next) => { @@ -115,6 +128,9 @@ app.use((err, req, res, next) => { ```javascript if (!req.body.email || req.body.age < 18) return res.status(400); // Ручная проверка ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const validate = schema => (req, res, next) => { @@ -132,6 +148,9 @@ router.post('/', validate(userSchema), UserController.create); ```javascript mongoose.connect('mongodb://admin:pass@host/db'); // Хардкод секретов ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript require('dotenv').config(); @@ -143,6 +162,9 @@ mongoose.connect(process.env.DB_URI); ## 6. HTTP Security Headers (Helmet) ### ❌ Bad Practice // Приложение светит 'X-Powered-By: Express' +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const helmet = require('helmet'); @@ -156,6 +178,9 @@ app.use(helmet()); ```javascript app.use((req, res, next) => { res.header("Access-Control-Allow-Origin", "*"); next(); }); ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const cors = require('cors'); @@ -167,6 +192,9 @@ app.use(cors({ origin: 'https://myapp.com', credentials: true })); ## 8. Rate Limiting (Защита от DDoS) ### ❌ Bad Practice // API открыт для миллиона запросов в секунду +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const rateLimit = require('express-rate-limit'); @@ -180,6 +208,9 @@ app.use('/api/', rateLimit({ windowMs: 15 * 60 * 1000, max: 100 })); ```javascript app.use(express.json()); // Злоумышленник может отправить 500Мб JSON ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript app.use(express.json({ limit: '10kb' })); @@ -193,6 +224,9 @@ app.use(express.urlencoded({ extended: true, limit: '10kb' })); ```javascript console.log('User signed in'); ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript app.use(morgan('combined', { stream: winstonLogger.stream })); @@ -206,6 +240,9 @@ winstonLogger.info('User signed in'); ```javascript // Коннект к базе делается перед каждым запросом ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript mongoose.connect(process.env.DB_URI).then(() => { @@ -220,6 +257,9 @@ mongoose.connect(process.env.DB_URI).then(() => { ```javascript // Проверка токена встроена в контроллер профиля ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const authGuard = (req, res, next) => { @@ -237,6 +277,9 @@ const authGuard = (req, res, next) => { ```javascript if (req.user.role !== 'admin') return res.status(403); ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const requireRole = (...roles) => (req, res, next) => { @@ -253,6 +296,9 @@ router.delete('/:id', requireRole('admin', 'manager'), Controller.del); ```javascript res.json({ foo: 'bar' }); // Каждый метод возвращает случайную структуру ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript class ApiResponse { @@ -268,6 +314,9 @@ class ApiResponse { ```javascript res.json(users); // Выбросить миллион записей ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const page = parseInt(req.query.page) || 1; @@ -280,6 +329,9 @@ res.json({ data: users, meta: { total, page, limit, pages: Math.ceil(total/limit ## 16. Graceful Shutdown ### ❌ Bad Practice // При получении SIGTERM сервер моментально обрывает процессы +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript process.on('SIGTERM', () => { @@ -294,6 +346,9 @@ process.on('SIGTERM', () => { ## 17. 404 Route Handler ### ❌ Bad Practice // Если роут не найден, возвращается пустая белая страница +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript app.use('*', (req, res) => { @@ -309,6 +364,9 @@ app.use('*', (req, res) => { /routes.js /app.js // Монолит на 5000 строк ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ``` src/ @@ -324,6 +382,9 @@ src/ ## 19. Health Check Endpoint ### ❌ Bad Practice // Нет проверки жизнеспособности подов Kubernetes +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript app.get('/health', (req, res) => { @@ -338,6 +399,9 @@ app.get('/health', (req, res) => { ```javascript User.find({ username: req.body.username }); // body.username = { "$gt": "" } ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const mongoSanitize = require('express-mongo-sanitize'); @@ -351,6 +415,9 @@ app.use(xss()); ## 21. Swagger / OpenAPI documentation ### ❌ Bad Practice // Документация в стороннем Word-файле +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const swaggerUi = require('swagger-ui-express'); @@ -365,6 +432,9 @@ app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument)); ```javascript const UserService = require('./UserService'); // Прямой импорт, невозможно тестировать ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript class UserController { @@ -378,6 +448,9 @@ const controller = new UserController(new UserService(db)); ## 23. File Uploads (Multer) ### ❌ Bad Practice // Парсинг бинарников руками +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const multer = require('multer'); @@ -393,6 +466,9 @@ router.post('/avatar', upload.single('file'), Controller.upload); await emailService.send(); // Блокировка респонса res.send('Welcome'); ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const EventEmitter = require('events'); @@ -408,6 +484,9 @@ res.send('Welcome'); ## 25. Caching (Redis Middleware) ### ❌ Bad Practice // БД обрабатывает сложные расчеты на каждый хит +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const cacheMiddleware = (req, res, next) => { @@ -425,6 +504,9 @@ const cacheMiddleware = (req, res, next) => { ```javascript throw new Error('Not found'); ``` +### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + ### ✅ Best Practice ```javascript class AppError extends Error { @@ -444,6 +526,9 @@ throw new AppError('User not found', 404); ```javascript req.ip // Дает '127.0.0.1' через Nginx ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript app.set('trust proxy', 1); // Доверяем первому прокси @@ -457,6 +542,9 @@ app.set('trust proxy', 1); // Доверяем первому прокси // app.js app.listen(3000); // Мешает интеграционным тестам ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript // app.js @@ -472,6 +560,9 @@ app.listen(3000); ## 29. UUID Request Correlation ### ❌ Bad Practice // Ошибки в логах невозможно связать с конкретным пользователем +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const { v4: uuidv4 } = require('uuid'); @@ -487,6 +578,9 @@ app.use((req, res, next) => { ## 30. Secure Session Management ### ❌ Bad Practice // Сессия хранится в памяти (MemoryStore) с открытыми куками +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript app.use(session({ diff --git a/backend/expressjs/security-best-practices.md b/backend/expressjs/security-best-practices.md index e8fe31e..cd5f510 100644 --- a/backend/expressjs/security-best-practices.md +++ b/backend/expressjs/security-best-practices.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: Express.js Security -vibe_coding_ready: true version: "4.x / 5.x" tags: [best-practices, clean-code, security-patterns, vibe-coding, cursor-rules, expressjs, software-architecture, system-design, solid-principles, production-ready, programming-standards, node-js, security, scalable-code, windsurf-rules, ai-coding, enterprise-patterns] ai_role: Senior Express.js Security Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🔒 Express.js Security Best Practices diff --git a/backend/microservices/api-design.md b/backend/microservices/api-design.md index a9edafd..d868f2c 100644 --- a/backend/microservices/api-design.md +++ b/backend/microservices/api-design.md @@ -3,14 +3,14 @@ description: Vibe coding guidelines and architectural constraints for Microservi technology: Microservices domain: backend level: Architect -complexity: Architect topic: Microservices API Design -vibe_coding_ready: true version: Agnostic tags: [best-practices, clean-code, architecture-patterns, vibe-coding, microservices, distributed-systems, system-design, solid-principles, production-ready, scalable-code] ai_role: Senior Microservices Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🧩 Microservices API Design diff --git a/backend/microservices/architecture.md b/backend/microservices/architecture.md index fa8c3b3..0a6dd49 100644 --- a/backend/microservices/architecture.md +++ b/backend/microservices/architecture.md @@ -3,14 +3,14 @@ description: Vibe coding guidelines and architectural constraints for Microservi technology: Microservices domain: backend level: Architect -complexity: Architect topic: Microservices Architecture -vibe_coding_ready: true version: Agnostic tags: [best-practices, clean-code, architecture-patterns, vibe-coding, microservices, distributed-systems, system-design, solid-principles, production-ready, scalable-code] ai_role: Senior Microservices Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🧩 Microservices Architecture diff --git a/backend/microservices/readme.md b/backend/microservices/readme.md index 673be9c..6f8d673 100644 --- a/backend/microservices/readme.md +++ b/backend/microservices/readme.md @@ -3,14 +3,14 @@ description: Vibe coding guidelines and architectural constraints for Microservi technology: Microservices domain: backend level: Architect -complexity: Architect topic: Microservices -vibe_coding_ready: true version: Agnostic tags: [best-practices, clean-code, architecture-patterns, vibe-coding, microservices, distributed-systems, system-design, solid-principles, production-ready, scalable-code] ai_role: Senior Microservices Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true ---
diff --git a/backend/microservices/security-best-practices.md b/backend/microservices/security-best-practices.md index 26791c8..3e5d650 100644 --- a/backend/microservices/security-best-practices.md +++ b/backend/microservices/security-best-practices.md @@ -3,14 +3,14 @@ description: Vibe coding guidelines and architectural constraints for Microservi technology: Microservices domain: backend level: Architect -complexity: Architect topic: Microservices Security -vibe_coding_ready: true version: Agnostic tags: [best-practices, clean-code, architecture-patterns, vibe-coding, microservices, distributed-systems, system-design, solid-principles, production-ready, scalable-code] ai_role: Senior Microservices Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🧩 Microservices Security Best Practices diff --git a/backend/mongodb/architecture.md b/backend/mongodb/architecture.md index 162f549..36172d4 100644 --- a/backend/mongodb/architecture.md +++ b/backend/mongodb/architecture.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: MongoDB Architecture -vibe_coding_ready: true version: "7.0+" tags: [architecture-patterns, mongodb, nosql, database, system-design, production-ready, scalable-code] ai_role: Senior MongoDB Database Architect last_updated: 2026-03-28 -last_evolution: 2026-03-28 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🏛️ MongoDB Architecture Constraints diff --git a/backend/mongodb/database-optimization.md b/backend/mongodb/database-optimization.md index f3c5228..20e3d7d 100644 --- a/backend/mongodb/database-optimization.md +++ b/backend/mongodb/database-optimization.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: MongoDB Database Optimization -vibe_coding_ready: true version: "7.0+" tags: [database-optimization, mongodb, nosql, indexing, aggregation-pipeline, system-design, production-ready, scalable-code] ai_role: Senior MongoDB Database Architect last_updated: 2026-03-28 -last_evolution: 2026-03-28 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # ⚡ MongoDB Database Optimization Best Practices @@ -33,6 +33,9 @@ Creating indexes randomly without understanding the query patterns. db.orders.createIndex({ status: 1, amount: 1, date: 1 }) ``` +### ⚠️ Problem +Directly interpolating user input into queries leads to SQL/NoSQL injection vulnerabilities, compromising data integrity and security. + ### ✅ Best Practice Create indexes following the ESR rule: @@ -65,6 +68,9 @@ db.users.aggregate([ ]) ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice Always use `$match` and `$sort` as early as possible in the pipeline to reduce the working set and take advantage of indexes. Use `$project` later. diff --git a/backend/mongodb/readme.md b/backend/mongodb/readme.md index eab4d65..9f18cd9 100644 --- a/backend/mongodb/readme.md +++ b/backend/mongodb/readme.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: MongoDB -vibe_coding_ready: true version: "7.0+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, mongodb, nosql, database, system-design, production-ready, scalable-code, document-database] ai_role: Senior MongoDB Database Architect last_updated: 2026-03-28 -last_evolution: 2026-03-28 +last_evolution: 2026-03-29 +vibe_coding_ready: true ---
@@ -51,6 +51,9 @@ For deep dives into specific topics, consult the specialized guides: // Inserting data without validation db.users.insertOne({ name: "John", age: -5, admin: true }); ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice Implement strict schema validation using JSON Schema in MongoDB. #### 🚀 Solution diff --git a/backend/mongodb/security-best-practices.md b/backend/mongodb/security-best-practices.md index 000b1ff..7107c02 100644 --- a/backend/mongodb/security-best-practices.md +++ b/backend/mongodb/security-best-practices.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: MongoDB Security Best Practices -vibe_coding_ready: true version: "7.0+" tags: [security-best-practices, mongodb, nosql, database, authentication, authorization, rbac, encryption, injection-prevention, production-ready, scalable-code] ai_role: Senior MongoDB Database Architect last_updated: 2026-03-28 -last_evolution: 2026-03-28 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🔒 MongoDB Security Best Practices @@ -30,6 +30,9 @@ Running MongoDB with authorization disabled or using powerful built-in roles (e. db.createUser({ user: "appUser", pwd: "secretPassword", roles: ["root"] }) ``` +### ⚠️ Problem +Using loosely typed variables defeats the purpose of TypeScript, leading to runtime errors and degrading the quality of AI-generated code. + ### ✅ Best Practice Enable authorization in `mongod.conf` (`security.authorization: enabled`) and create custom roles or use the principle of least privilege. @@ -73,6 +76,9 @@ const user = await db.collection('users').findOne({ }); ``` +### ⚠️ Problem +Directly interpolating user input into queries leads to SQL/NoSQL injection vulnerabilities, compromising data integrity and security. + ### ✅ Best Practice Validate and sanitize all inputs to ensure they are primitives (strings, numbers, booleans) and not MongoDB query objects (objects containing `$` operators). diff --git a/backend/nestjs/architecture.md b/backend/nestjs/architecture.md index 3c78f05..27955fd 100644 --- a/backend/nestjs/architecture.md +++ b/backend/nestjs/architecture.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: NestJS Architecture -vibe_coding_ready: true version: "11+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, cursor-rules, typescript, software-architecture, system-design, solid-principles, production-ready, programming-standards, react-best-practices, node-js, design-patterns, scalable-code, windsurf-rules, ai-coding, fsd, ddd, enterprise-patterns] ai_role: Senior NestJS Architecture Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🏗️ NestJS 11+ Architecture Best Practices diff --git a/backend/nestjs/readme.md b/backend/nestjs/readme.md index e6862e4..b7dd17c 100644 --- a/backend/nestjs/readme.md +++ b/backend/nestjs/readme.md @@ -7,6 +7,10 @@ version: "11+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, cursor-rules, typescript, software-architecture, system-design, solid-principles, production-ready, programming-standards, react-best-practices, node-js, design-patterns, scalable-code, windsurf-rules, ai-coding, fsd, ddd, enterprise-patterns] ai_role: Senior NestJS Architecture Expert last_updated: 2026-03-23 +topic: Backend Architecture +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true ---
@@ -70,6 +74,9 @@ export class UsersService { constructor(@InjectRepository(User) private repo: Repository) {} // Жесткая привязка к TypeORM } ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Injectable() @@ -88,6 +95,9 @@ create(@Body() dto: CreateUserDto) { if (!dto.email) throw new BadRequestException('Email required'); } ``` +#### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + #### ✅ Best Practice ```typescript // main.ts @@ -102,6 +112,9 @@ app.useGlobalPipes(new ValidationPipe({ whitelist: true, forbidNonWhitelisted: t @Post() create(@Body() body: any) {} // Потеря типизации ``` +#### ⚠️ Problem +Using loosely typed variables defeats the purpose of TypeScript, leading to runtime errors and degrading the quality of AI-generated code. + #### ✅ Best Practice ```typescript export class CreateUserDto { @@ -123,6 +136,9 @@ async createUser(@Body() dto: CreateDto) { return this.db.users.create({ ...dto, hash }); } ``` +#### ⚠️ Problem +Synchronous operations block the main event loop, causing severe performance degradation and potential denial-of-service (DoS) under load. + #### ✅ Best Practice ```typescript @Post() @@ -138,6 +154,9 @@ async createUser(@Body() dto: CreateDto) { ```typescript try { ... } catch (e) { throw new HttpException('Error', 500); } ``` +#### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + #### ✅ Best Practice ```typescript @Catch() @@ -155,6 +174,9 @@ app.useGlobalFilters(new AllExceptionsFilter()); ```typescript TypeOrmModule.forRoot({ url: process.env.DB_URL }) // Переменные могут быть еще не загружены ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript TypeOrmModule.forRootAsync({ @@ -171,6 +193,9 @@ TypeOrmModule.forRootAsync({ ```typescript const secret = process.env.JWT_SECRET; // Прямой вызов ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript constructor(private configService: ConfigService) {} @@ -185,6 +210,9 @@ const secret = this.configService.get('JWT_SECRET'); @Get() getProfile(@Req() req: Request) { return req.user; } ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript export const CurrentUser = createParamDecorator((data, ctx: ExecutionContext) => ctx.switchToHttp().getRequest().user); @@ -201,6 +229,9 @@ getProfile(@CurrentUser() user: UserEntity) { return user; } @Get() getData(@Req() req) { if (!req.headers.auth) throw new UnauthorizedException(); } ``` +#### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + #### ✅ Best Practice ```typescript @UseGuards(JwtAuthGuard) @@ -216,6 +247,9 @@ getData() {} @Get() getAdminData(@CurrentUser() user) { if (user.role !== 'ADMIN') throw new ForbiddenException(); } ``` +#### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + #### ✅ Best Practice ```typescript @Roles('ADMIN') @@ -232,6 +266,9 @@ getAdminData() {} @Get(':id') getUser(@Param('id') id: string) { const userId = parseInt(id, 10); } ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Get(':id') @@ -245,6 +282,9 @@ getUser(@Param('id', ParseIntPipe) id: number) {} ```typescript return { success: true, data: result, timestamp: new Date() }; // Дублирование везде ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Injectable() @@ -261,6 +301,9 @@ export class TransformInterceptor implements NestInterceptor { @Get() getData() { console.log('Request started'); /* ... */ console.log('Done'); } ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Injectable() @@ -279,6 +322,9 @@ export class LoggingInterceptor implements NestInterceptor { ```typescript await this.repo1.save(data1); await this.repo2.save(data2); // Нет транзакции ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript await this.dataSource.transaction(async manager => { @@ -295,6 +341,9 @@ await this.dataSource.transaction(async manager => { // Нет никаких аннотаций DTO export class CreateDogDto { name: string; } ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript export class CreateDogDto { @@ -308,6 +357,9 @@ export class CreateDogDto { ### 🚨 16. Rate Limiting (ThrottlerModule) #### ❌ Bad Practice // Нет защиты от DDoS и брутфорса +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript // app.module.ts @@ -319,6 +371,9 @@ ThrottlerModule.forRoot([{ ttl: 60000, limit: 10 }]) ### 🚨 17. Caching Results #### ❌ Bad Practice // Каждый запрос делает тяжелый расчет в БД +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @UseInterceptors(CacheInterceptor) @@ -335,6 +390,9 @@ getStats() {} await this.userService.create(); await this.emailService.send(); // Жесткая привязка зависимостей ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript await this.userService.create(); @@ -348,6 +406,9 @@ this.eventEmitter.emit('user.created', new UserCreatedEvent(user)); ```typescript setInterval(() => this.cleanupData(), 1000 * 60 * 60); ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Cron(CronExpression.EVERY_DAY_AT_MIDNIGHT) @@ -361,6 +422,9 @@ handleCron() { this.cleanupData(); } ```typescript @Post() // Использование HTTP для межсервисного общения ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @MessagePattern({ cmd: 'get_user' }) @@ -374,6 +438,9 @@ getUser(data: any) { return this.userService.findById(data.id); } ```typescript @Get('ping') ping() { return 'pong'; } ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Get('health') @@ -389,6 +456,9 @@ check() { return this.health.check([() => this.db.pingCheck('database')]); } // UserService -> AuthService -> UserService @Injectable() class UserService { constructor(private auth: AuthService) {} } ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Injectable() class UserService { constructor(@Inject(forwardRef(() => AuthService)) private auth: AuthService) {} } @@ -401,6 +471,9 @@ check() { return this.health.check([() => this.db.pingCheck('database')]); } ```typescript // Модуль B импортирует Модуль А, Модуль С импортирует Модуль А... ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Module({ imports: [DatabaseModule], exports: [DatabaseModule] }) @@ -412,6 +485,9 @@ export class CoreModule {} // Глобальный фасад ### 🚨 24. Global Middleware #### ❌ Bad Practice // Определение логгера запросов в каждом месте +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript export class AppModule implements NestModule { @@ -426,6 +502,9 @@ export class AppModule implements NestModule { ```typescript const service = new UserService(new Database()); // Реальная БД в тестах ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript const module = await Test.createTestingModule({ @@ -440,6 +519,9 @@ const module = await Test.createTestingModule({ ```typescript if (!isEmailUnique(dto.email)) throw error; // Ручная логика в сервисе ``` +#### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + #### ✅ Best Practice ```typescript @ValidatorConstraint({ async: true }) @@ -453,6 +535,9 @@ export class IsUniqueConstraint implements ValidatorConstraintInterface { ... } ### 🚨 27. File Uploading (Multer) #### ❌ Bad Practice // Обработка потоков руками +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript @Post('upload') @@ -467,6 +552,9 @@ uploadFile(@UploadedFile() file: Express.Multer.File) {} ```typescript const { password, ...safeUser } = user; // Ручное удаление пароля ``` +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript class UserEntity { @Exclude() password: string; } @@ -480,6 +568,9 @@ class UserEntity { @Exclude() password: string; } ### 🚨 29. Fastify Integration #### ❌ Bad Practice // Вызов специфичных методов req.expressMethod +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript const app = await NestFactory.create(AppModule, new FastifyAdapter()); @@ -490,6 +581,9 @@ const app = await NestFactory.create(AppModule, new Fast ### 🚨 30. Shutdown Hooks (Graceful Shutdown) #### ❌ Bad Practice // Приложение убивается мгновенно, прерывая активные соединения +#### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + #### ✅ Best Practice ```typescript app.enableShutdownHooks(); diff --git a/backend/nestjs/security-best-practices.md b/backend/nestjs/security-best-practices.md index fcde639..ced4e3b 100644 --- a/backend/nestjs/security-best-practices.md +++ b/backend/nestjs/security-best-practices.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: NestJS Security -vibe_coding_ready: true version: "11+" tags: [best-practices, clean-code, security-patterns, vibe-coding, cursor-rules, typescript, software-architecture, system-design, solid-principles, production-ready, programming-standards, node-js, security, scalable-code, windsurf-rules, ai-coding, enterprise-patterns] ai_role: Senior NestJS Security Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🔒 NestJS 11+ Security Best Practices diff --git a/backend/nodejs/readme.md b/backend/nodejs/readme.md index fd58ada..a6b283c 100644 --- a/backend/nodejs/readme.md +++ b/backend/nodejs/readme.md @@ -7,6 +7,10 @@ version: "24+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, cursor-rules, javascript, typescript, software-architecture, system-design, solid-principles, production-ready, programming-standards, node-js, design-patterns, scalable-code, windsurf-rules, ai-coding, fsd, ddd, enterprise-patterns] ai_role: Senior Node.js Architecture Expert last_updated: 2026-03-23 +topic: Backend Architecture +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true ---
@@ -63,6 +67,9 @@ app.post('/hash', (req, res) => { res.send(hash); }); ``` +### ⚠️ Problem +Synchronous operations block the main event loop, causing severe performance degradation and potential denial-of-service (DoS) under load. + ### ✅ Best Practice ```javascript const crypto = require('crypto'); @@ -81,6 +88,9 @@ Never use synchronous methods (`*Sync`) on the main thread for crypto, I/O, or h ```text /server.js (Contains routes, DB connections, and logic all in one 1500-line file) ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```text /src @@ -99,6 +109,9 @@ Implement a multi-layered folder architecture. Strictly separate the HTTP transp const port = process.env.PORT || 3000; // Continuing application startup without validating required variables. ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const requiredEnv = ['DATABASE_URL', 'JWT_SECRET', 'PORT']; @@ -117,6 +130,9 @@ Fail fast. Validate all necessary environment variables upon application startup ```javascript if (!user) throw new Error('User not found'); ``` +### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + ### ✅ Best Practice ```javascript class AppError extends Error { @@ -134,6 +150,9 @@ Extend the built-in `Error` object to create custom operational errors. This all ## 5. 🎛️ Handling Uncaught Exceptions & Rejections ### ❌ Bad Practice // Ignoring process-level events, allowing the app to run in an unpredictable state after an error. +### ⚠️ Problem +Improper error handling leads to unhandled rejections or crashes, creating unpredictable state and making debugging difficult for AI agents. + ### ✅ Best Practice ```javascript process.on('uncaughtException', (err) => { @@ -152,6 +171,9 @@ Always capture `uncaughtException` and `unhandledRejection`. Log the fatal error ## 6. 🔒 Hiding Sensitive Headers ### ❌ Bad Practice // Sending default headers that expose the framework, like `X-Powered-By: Express`. +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript // Example using Express + Helmet, but applies generically to HTTP responses @@ -164,6 +186,9 @@ Sanitize outgoing HTTP headers to prevent information leakage about the server i ## 7. ⏱️ Implementing Graceful Shutdown ### ❌ Bad Practice // Application crashes abruptly during deployments, interrupting active user requests and corrupting database transactions. +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript process.on('SIGTERM', () => { @@ -186,6 +211,9 @@ Listen for termination signals (`SIGTERM`, `SIGINT`). Finish processing ongoing // Blindly trusting user input const user = await db.query(`SELECT * FROM users WHERE email = '${req.body.email}'`); ``` +### ⚠️ Problem +Directly interpolating user input into queries leads to SQL/NoSQL injection vulnerabilities, compromising data integrity and security. + ### ✅ Best Practice ```javascript // Utilizing parameterized queries and a validation library like Joi or Zod @@ -206,6 +234,9 @@ function processImage(buffer) { // heavy sync computation taking 500ms... } ``` +### ⚠️ Problem +Synchronous operations block the main event loop, causing severe performance degradation and potential denial-of-service (DoS) under load. + ### ✅ Best Practice ```javascript const { Worker } = require('worker_threads'); @@ -226,6 +257,9 @@ Offload CPU-intensive operations (image processing, video encoding, heavy crypto ```javascript console.log('User logged in', userId); ``` +### ⚠️ Problem +This pattern creates technical debt, increases the risk of memory leaks, introduces potential security vulnerabilities, and breaks the deterministic formatting required for AI agents (Vibe Coding). + ### ✅ Best Practice ```javascript const winston = require('winston'); diff --git a/backend/postgresql/architecture.md b/backend/postgresql/architecture.md index 80e63dd..879190f 100644 --- a/backend/postgresql/architecture.md +++ b/backend/postgresql/architecture.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: PostgreSQL Architecture -vibe_coding_ready: true version: "16+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, postgresql, database, sql, rdbms, system-design, production-ready, scalable-code] ai_role: Senior PostgreSQL Database Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🐘 PostgreSQL Architecture diff --git a/backend/postgresql/database-optimization.md b/backend/postgresql/database-optimization.md index fe1c164..dd7bd34 100644 --- a/backend/postgresql/database-optimization.md +++ b/backend/postgresql/database-optimization.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: PostgreSQL Optimization -vibe_coding_ready: true version: "16+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, postgresql, database, sql, rdbms, system-design, production-ready, scalable-code] ai_role: Senior PostgreSQL Database Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🐘 PostgreSQL Database Optimization diff --git a/backend/postgresql/readme.md b/backend/postgresql/readme.md index 2a9a547..c3784b3 100644 --- a/backend/postgresql/readme.md +++ b/backend/postgresql/readme.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: PostgreSQL -vibe_coding_ready: true version: "16+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, postgresql, database, sql, rdbms, system-design, production-ready, scalable-code] ai_role: Senior PostgreSQL Database Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true ---
diff --git a/backend/postgresql/security-best-practices.md b/backend/postgresql/security-best-practices.md index 9d07fa1..9997039 100644 --- a/backend/postgresql/security-best-practices.md +++ b/backend/postgresql/security-best-practices.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: PostgreSQL Security -vibe_coding_ready: true version: "16+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, postgresql, database, sql, rdbms, system-design, production-ready, scalable-code] ai_role: Senior PostgreSQL Database Architect last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🐘 PostgreSQL Security Best Practices diff --git a/backend/readme.md b/backend/readme.md index f39e643..46a21b4 100644 --- a/backend/readme.md +++ b/backend/readme.md @@ -7,6 +7,10 @@ version: Agnostic tags: [best-practices, clean-code, architecture-patterns, vibe-coding, cursor-rules, typescript, software-architecture, system-design, solid-principles, production-ready, programming-standards, react-best-practices, node-js, design-patterns, scalable-code, windsurf-rules, ai-coding, fsd, ddd, enterprise-patterns] ai_role: Senior Backend Architect last_updated: 2026-03-22 +topic: Backend Architecture +complexity: Architect +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # Backend Best Practices & Production-Ready Patterns diff --git a/backend/redis/api-design.md b/backend/redis/api-design.md index 39e0f1a..a7168b2 100644 --- a/backend/redis/api-design.md +++ b/backend/redis/api-design.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: Redis API Design -vibe_coding_ready: true version: "7+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, redis, in-memory, nosql, system-design, production-ready, scalable-code] ai_role: Senior Redis Architecture Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🟥 Redis API Design diff --git a/backend/redis/architecture.md b/backend/redis/architecture.md index 1292c5b..323b2bd 100644 --- a/backend/redis/architecture.md +++ b/backend/redis/architecture.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: Redis Architecture -vibe_coding_ready: true version: "7+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, redis, in-memory, nosql, system-design, production-ready, scalable-code] ai_role: Senior Redis Architecture Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🟥 Redis Architecture diff --git a/backend/redis/readme.md b/backend/redis/readme.md index 33a5211..577932f 100644 --- a/backend/redis/readme.md +++ b/backend/redis/readme.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: Redis -vibe_coding_ready: true version: "7+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, redis, in-memory, nosql, system-design, production-ready, scalable-code] ai_role: Senior Redis Architecture Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true ---
diff --git a/backend/redis/security-best-practices.md b/backend/redis/security-best-practices.md index 67d0161..65cace7 100644 --- a/backend/redis/security-best-practices.md +++ b/backend/redis/security-best-practices.md @@ -5,12 +5,12 @@ domain: backend level: Senior/Architect complexity: Advanced topic: Redis Security -vibe_coding_ready: true version: "7+" tags: [best-practices, clean-code, architecture-patterns, vibe-coding, redis, in-memory, nosql, system-design, production-ready, scalable-code] ai_role: Senior Redis Architecture Expert last_updated: 2026-03-27 -last_evolution: 2026-03-27 +last_evolution: 2026-03-29 +vibe_coding_ready: true --- # 🟥 Redis Security Best Practices