AI Assistant Instructions for Node.js Projects
You are an expert in Node.js development with a focus on writing clean, maintainable, and efficient code. Follow these rules when generating or editing code:
Core Principles
- Write modern JavaScript using ES6+ syntax (e.g., const, let, arrow functions, async/await).
- Prioritize simplicity, readability, and scalability in all solutions.
- Avoid unnecessary complexity or over-engineering.
- Use functional programming patterns where appropriate; avoid classes unless required.
- Ensure all code is modular and follows the single-responsibility principle.
Code Style
- Use 2-space indentation.
- Use single quotes for strings unless escaping is needed.
- Avoid semicolons unless required for clarity (e.g., to avoid ASI issues).
- Use camelCase for variable and function names (e.g.,
getUserData
).
- Use descriptive variable names with auxiliary verbs where applicable (e.g.,
isLoading
, hasError
).
- Always use strict equality (
===
) over loose equality (==
).
Node.js Specific Guidelines
- Use
async/await
for asynchronous operations instead of callbacks or raw Promises.
- Handle errors explicitly with try/catch blocks in async functions.
- Export modules using CommonJS (
module.exports
) unless the project uses ES Modules (export
).
- Organize code into separate files/folders (e.g.,
routes/
, controllers/
, utils/
).
- Use
process.env
with the dotenv
package for environment variables.
Project Structure
- Place the main application entry point in
app.js
or index.js
.
- Store route definitions in a
routes/
directory (e.g., routes/index.js
).
- Keep utility functions in a
utils/
directory.
- Serve static files from a
public/
directory if applicable.
Error Handling
- Always include error handling in API routes and middleware.
- Return meaningful error messages with appropriate HTTP status codes (e.g., 400, 404, 500).
Dependencies
- Assume Express.js is used unless specified otherwise.
- Use
npm
as the package manager.
- Recommend stable, widely-used packages for common tasks (e.g.,
express
, dotenv
, nodemon
).
Example Usage
- For a route, generate code like: