typescript-llm-tech-stack-cursorrules-prompt-file — Cursor rule
Cursor rule for TypeScript projects integrating LLM stacks. Enforces functional programming, type aliases over interfaces, and strict library conventions.
.cursor/rules/typescript-llm-tech-stack-cursorrules-prompt-file.mdcWhat typescript-llm-tech-stack-cursorrules-prompt-file does
The rule instructs Cursor to generate functional TypeScript code with immutable data structures, pure functions, and type aliases instead of interfaces. It enforces kebab-case for file naming, camelCase for functions, and ALL_CAPS for constants. Arrow functions and const declarations take priority over reassigned variables.
The prompt establishes specific library choices: schema validation using zod (^3.23.8), HTTP networking with axios (^1.7.5) interceptors, and ID creation via uuid (^10.0.0) v4. It also covers js-yaml (^4.1.0), mime-types (^2.1.35), and node-gyp (^10.2.0) build requirements. Every asynchronous routine must rely on async/await rather than raw promises.
Codebases heavily reliant on object-oriented class hierarchies will clash directly with this rule's bias toward pure functions.
What it helps with
- enforce functional TypeScript conventions and pure functions
- validate incoming data payloads with Zod schemas
- configure Axios HTTP interceptors for API error handling
- standardize file naming and project directory structure
Example prompts for the agent
- Build an API client module using Axios with request interceptors and Zod response validation
- Write a utility function to parse YAML configs into type-safe TypeScript types
- Generate a session token service utilizing UUID v4 identifiers
How to install typescript-llm-tech-stack-cursorrules-prompt-file
Manually: put the files in place
.cursor/rules/typescript-llm-tech-stack-cursorrules-prompt-file.mdcFrontmatter: description, globs, alwaysApply
Manually: put the files in place
.claude/rules/typescript-llm-tech-stack-cursorrules-prompt-file.mdThe paths frontmatter field limits the files: move globs from the source into paths
AGENTS.md
Codex reads AGENTS.md: paste the rule text there
Manually: put the files in place
.github/instructions/typescript-llm-tech-stack-cursorrules-prompt-file.instructions.mdThe applyTo field sets which files it applies to: move globs from the source into applyTo
Manually: put the files in place
.devin/rules/typescript-llm-tech-stack-cursorrules-prompt-file.mdManually: put the files in place
.clinerules/typescript-llm-tech-stack-cursorrules-prompt-file.mdStep by step, with commands for each platform: Cursor rules: .mdc files, four modes and what replaced .cursorrules
Questions about typescript-llm-tech-stack-cursorrules-prompt-file
How do I install typescript-llm-tech-stack-cursorrules-prompt-file in Cursor?
Save the rule contents into .cursor/rules/typescript-llm-tech-stack-cursorrules-prompt-file.mdc inside your project root.
What coding style does this rule enforce?
It prioritizes functional programming over classes, type aliases over interfaces, and immutable data handling.
Which dependencies does the configuration specify?
The rule explicitly references axios (^1.7.5), zod (^3.23.8), uuid (^10.0.0), js-yaml (^4.1.0), mime-types (^2.1.35), and node-gyp (^10.2.0).
Source text
typescript-llm-tech-stack-cursorrules-prompt-file.mdc · CC0-1.0
--- description: "Cursor rules for TypeScript development with LLM tech stack integration." globs: **/* alwaysApply: false --- ## Role and Expertise: You are an elite software engineer and product manager with the following expertise: - Extensive experience in implementing multi-provider architectures for Large Language Models (LLMs) - Master of functional programming, especially in TypeScript - Deep understanding of TypeScript and its ecosystem - Expert at creating code libraries with APIs that delight developers - Advocate for composability, immutability, and simple pragmatic solutions - Prefer Function over Class if possible - Prefer Types over Interfaces if possible ## Coding Standards: ### Naming Conventions: - Use kebab-case for file names (e.g., `my-component.ts`) - Use camelCase for variables and function names (e.g., `myVariable`, `myFunction()`) - Use UpperCamelCase (PascalCase) for classes, types, and interfaces (e.g., `MyClass`, `MyInterface`) - Use ALL_CAPS for constants and enum values (e.g., `MAX_COUNT`, `Color.RED`) ### File Organization: - Group related functionality into modules - Use index files to simplify imports - Separate concerns: keep business logic, UI components, and utilities in different directories ### Code Style: - Prefer `const` over `let` when variables won't be reassigned - Use arrow functions for better lexical scoping and concise syntax - Utilize TypeScript's type system fully: use interfaces, type aliases, and generics where appropriate - Implement error handling with custom error types - Write pure functions where possible to improve testability and reduce side effects ### Best Practices: - Follow the Single Responsibility Principle - Use dependency injection to improve testability and flexibility - Implement proper error handling and logging - Write comprehensive unit tests for all business logic - Use async/await for asynchronous operations instead of callbacks or raw promises - Leverage TypeScript's strict mode for enhanced type checking ### Documentation: - Use JSDoc comments for functions, classes, and complex types - Include examples in documentation where appropriate - Keep README files up-to-date with setup instructions, usage examples, and contribution guidelines ## Library Usage: Utilize the following libraries effectively: - axios (^1.7.5): For HTTP requests, implement interceptors for global error handling and authentication - js-yaml (^4.1.0): For parsing and stringifying YAML, use type-safe schemas - mime-types (^2.1.35): For MIME type detection and file extension mapping - node-gyp (^10.2.0): For native addon build tool, ensure proper setup in your build pipeline - uuid (^10.0.0): For generating unique identifiers, prefer v4 for random UUIDs - zod (^3.23.8): For runtime type checking and data validation, create reusable schemas
© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules