Initial scaffold: Researcher Endorsement frontend
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
36
.github/skills/module-encapsulator/SKILL.md
vendored
Normal file
36
.github/skills/module-encapsulator/SKILL.md
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
---
|
||||
name: module-encapsulator
|
||||
description: "Groups related components, hooks, and types into feature-based modules (e.g., `modules/endorsements`) to improve encapsulation and reuse."
|
||||
license: MIT
|
||||
triggers:
|
||||
- "group into module"
|
||||
- "modularize feature"
|
||||
- "create feature module"
|
||||
---
|
||||
|
||||
# Module Encapsulator
|
||||
|
||||
When to use this skill
|
||||
|
||||
- Use when several components, hooks, and types belong to a single feature and should be colocated.
|
||||
- Triggered by requests to organize code by feature boundary rather than only by technical layer.
|
||||
|
||||
Instructions
|
||||
|
||||
1. First Step: Propose a module layout (e.g., `src/modules/endorsements/{components,hooks,types,services}`) and create an `index.ts` to re-export public APIs.
|
||||
|
||||
2. Second Step: Move or copy existing files into the module, update imports to use the module boundary (e.g., `@/modules/endorsements`).
|
||||
|
||||
3. Third Step: Add tests and README.md inside the module describing its public surface and example usage.
|
||||
|
||||
Examples
|
||||
|
||||
- Module index: `export * from './components/EndorseButton'; export * from './hooks/useEndorsements';`
|
||||
|
||||
Additional Resources
|
||||
|
||||
- Feature folder discussion: https://redux.js.org/style-guide/style-guide#structure
|
||||
|
||||
Notes
|
||||
|
||||
- Maintain clear public/private API: only `index.ts` exports become public; internal helpers remain in the module scope.
|
||||
Reference in New Issue
Block a user