Files
Rohit Ghumare c3f43d8b61 Expand toolkit to 135 agents, 120 plugins, 796 total files
- Add 60 new agents across all 10 categories (75 -> 135)
- Add 95 new plugins with command files (25 -> 120)
- Update all agents to use model: opus
- Update README with complete plugin/agent tables
- Update marketplace.json with all 120 plugins
2026-02-04 21:08:28 +00:00

42 lines
1.8 KiB
Markdown

Extract a function, component, or module from existing code into its own unit.
## Steps
1. Identify the code block to extract from the argument (file path and line range, or description).
2. Read the target file and analyze the selected code:
- Determine all variables used within the block that are defined outside it (parameters).
- Determine all variables modified within the block that are used after it (return values).
- Identify side effects (I/O, mutations, DOM manipulation).
3. Choose the extraction type:
- **Function**: Pure logic with clear inputs and outputs.
- **Component**: UI rendering with props interface (React, Vue, Svelte).
- **Module**: Related functions that form a cohesive unit.
- **Hook**: Stateful logic with lifecycle concerns (React hooks).
- **Class method**: Logic belonging to a specific class.
4. Create the extracted unit:
- Name it descriptively based on its purpose.
- Define a clear parameter interface (TypeScript types, Python type hints).
- Add a return type annotation.
5. Replace the original code with a call to the extracted unit.
6. Update imports in the original file and any files that need the new export.
7. Run tests to verify the refactoring preserves behavior.
## Format
```
Extracted: <type> <name> from <source-file>
To: <destination-file>
Parameters: <param-list>
Returns: <return-type>
Lines replaced: <start>-<end>
Tests: <pass/fail>
```
## Rules
- The extraction must be behavior-preserving; run tests before and after.
- Choose names that describe the purpose, not the implementation.
- Keep the extracted unit's parameter count under 5; use an options object if more.
- Maintain the same error handling behavior in the extracted code.
- Update all call sites if moving a function to a different module.