mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 02:15:12 +00:00
Implement Collections feature for grouping related prompts, instructions, and chat modes (#232)
* Initial plan * Implement core Collections feature with YAML parsing and README generation Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com> * Complete Collections feature implementation with validation, tooling, and documentation Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com> * Update generated README files to include collections instructions * Fix YAML parsing logic bug: replace impossible condition with proper indentation check Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com> * Refactor: Extract YAML parser to shared module and improve user experience Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com> * fixing task and file permissions * Better args handling * Adding some more collections --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: aaronpowell <434140+aaronpowell@users.noreply.github.com> Co-authored-by: Aaron Powell <me@aaron-powell.com>
This commit is contained in:
@@ -100,6 +100,48 @@ You are an expert [domain/role] with deep knowledge in [specific areas].
|
||||
- [Best practices to follow]
|
||||
```
|
||||
|
||||
### Adding Collections
|
||||
|
||||
Collections group related prompts, instructions, and chat modes around specific themes or workflows, making it easier for users to discover and adopt comprehensive toolkits.
|
||||
|
||||
1. **Create your collection manifest**: Add a new `.collection.yml` file in the `collections/` directory
|
||||
2. **Follow the naming convention**: Use descriptive, lowercase filenames with hyphens (e.g., `python-web-development.collection.yml`)
|
||||
3. **Reference existing items**: Collections should only reference files that already exist in the repository
|
||||
4. **Test your collection**: Verify all referenced files exist and work well together
|
||||
|
||||
#### Creating a collection:
|
||||
```bash
|
||||
# Using the creation script
|
||||
node create-collection.js my-collection-id
|
||||
|
||||
# Or using VS Code Task: Ctrl+Shift+P > "Tasks: Run Task" > "create-collection"
|
||||
```
|
||||
|
||||
#### Example collection format:
|
||||
```yaml
|
||||
id: my-collection-id
|
||||
name: My Collection Name
|
||||
description: A brief description of what this collection provides and who should use it.
|
||||
tags: [tag1, tag2, tag3] # Optional discovery tags
|
||||
items:
|
||||
- path: prompts/my-prompt.prompt.md
|
||||
kind: prompt
|
||||
- path: instructions/my-instructions.instructions.md
|
||||
kind: instruction
|
||||
- path: chatmodes/my-chatmode.chatmode.md
|
||||
kind: chat-mode
|
||||
display:
|
||||
ordering: alpha # or "manual" to preserve order above
|
||||
show_badge: false # set to true to show collection badge
|
||||
```
|
||||
|
||||
#### Collection Guidelines:
|
||||
- **Focus on workflows**: Group items that work together for specific use cases
|
||||
- **Reasonable size**: Typically 3-10 items work well
|
||||
- **Test combinations**: Ensure the items complement each other effectively
|
||||
- **Clear purpose**: The collection should solve a specific problem or workflow
|
||||
- **Validate before submitting**: Run `node validate-collections.js` to ensure your manifest is valid
|
||||
|
||||
## Submitting Your Contribution
|
||||
|
||||
1. **Fork this repository**
|
||||
|
||||
Reference in New Issue
Block a user