Skip to content
Prompt

meta-toolkit — Windsurf Rules

by uhop

AI Summary

meta-toolkit is a zero-dependency ESM JavaScript library providing utilities for meta programming and OOP tasks like name-casing, property descriptors, and deep path access. Developers building JavaScript libraries or applications requiring advanced object manipulation will benefit from these utilities.

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to add the "meta-toolkit — Windsurf Rules" prompt rules to my project.
Repository: https://github.com/uhop/meta-toolkit

Please read the repo to find the rules/prompt file, then:
1. Download it to the correct location (.cursorrules, .windsurfrules, .github/prompts/, or project root — based on the file type)
2. If there's an existing rules file, merge the new rules in rather than overwriting
3. Confirm what was added

Description

Toolkit to help with meta programming and OOP

Project identity

meta-toolkit is a zero-dependency ESM JavaScript library for meta programming and OOP: name-casing conversions, property descriptors, aliases, prototype traversal, iterators, deep path access, option merging, and comparator adapters. Works in Node.js, Bun, Deno, and browsers.

Critical rules

• ESM-only. The project is "type": "module". • No runtime dependencies. Never add packages to dependencies. Only devDependencies are allowed. • Hand-written .d.ts files. They are NOT generated. When modifying a public API, update both the .js and .d.ts files. • Do not modify or delete test expectations without understanding why they changed. • Do not add comments or remove comments unless explicitly asked.

Code style

• Prettier: 100 char width, single quotes, no bracket spacing, no trailing commas, arrow parens "avoid" (see .prettierrc). • 2-space indentation (.editorconfig). • Imports at top of file. No dynamic imports unless necessary.

Architecture quick reference

• names.js — name-casing conversions. from splits strings into string[]; to joins string[] into formatted strings. • descriptors.js — property descriptor factories and installers. Names can be comma-separated strings, symbols, or arrays. • aliases.js — property aliasing built on descriptors.js. Only internal dependency in the project. • iterators.js — augmentIterator, normalizeIterator, lazy mapIterator, filterIterator. • prototypes.js — prototypes() generator and getPropertyDescriptor() for prototype chain traversal. • path.js — deep property access: get, set, forceSet, remove with dot-delimited paths. • options.js — copyOptions for merging constructor options with defaults. • comparators.js — adapters between less, compare, and equal function styles.

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 1mo ago
Active
AdoptionUnder 100 stars
1 ★ · Niche
DocsMissing or thin
Undocumented

GitHub Signals

Stars1
Issues1
Updated1mo ago
View on GitHub
BSD-3-Clause License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Any AI assistant that accepts custom rules or system prompts

Claude
ChatGPT
Cursor
Windsurf
Copilot
+ more