-
Notifications
You must be signed in to change notification settings - Fork 1
Add id, name, and description as standard frontmatter fields #198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Added ID, Name, and Description fields to TaskFrontMatter - Added ID, Name, and Description fields to RuleFrontMatter - Added ID, Name, and Description fields to CommandFrontMatter - All fields are optional and metadata-only - Updated existing tests to cover the new fields - Created comprehensive tests for CommandFrontMatter - All tests passing successfully Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
…elds - Updated SPECIFICATION.md with new standard fields for tasks, rules, and commands - Updated docs/reference/file-formats.md with detailed documentation - Added examples for each new field - Updated Appendix C tables to include new fields - All changes maintain backward compatibility Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
- Updated example task file to demonstrate id, name, and description fields - Created example rule file with standard fields - Created example command file with standard fields - All examples show proper usage and explain that fields are metadata-only Co-authored-by: alexec <1142830+alexec@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR standardizes optional metadata fields across frontmatter types by adding id, name, and description fields to TaskFrontMatter, RuleFrontMatter, and CommandFrontMatter. These fields are metadata-only and do not affect task matching, rule filtering, or command selection, maintaining full backward compatibility.
Changes:
- Added three optional string fields (
id,name,description) to Task, Rule, and Command frontmatter structs with proper YAML/JSON tags and documentation comments - Extended test coverage with new table-driven test cases for all three types, including a new comprehensive test file for CommandFrontMatter
- Updated SPECIFICATION.md and docs/reference/file-formats.md with detailed field definitions, examples, and usage notes
- Added example files demonstrating the new fields for tasks, rules, and commands
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/codingcontext/markdown/frontmatter.go | Added id, name, and description fields to TaskFrontMatter, CommandFrontMatter, and RuleFrontMatter structs with documentation |
| pkg/codingcontext/markdown/frontmatter_task_test.go | Extended tests to validate new standard fields in both Marshal and Unmarshal operations |
| pkg/codingcontext/markdown/frontmatter_rule_test.go | Added test cases for new standard fields in rule frontmatter |
| pkg/codingcontext/markdown/frontmatter_command_test.go | New comprehensive test file for CommandFrontMatter following table-driven pattern |
| SPECIFICATION.md | Added field definitions, renumbered existing sections, and updated summary tables |
| docs/reference/file-formats.md | Documented all three new fields for tasks, commands, and rules with examples and usage notes |
| examples/agents/tasks/example-with-standard-fields.md | Updated to demonstrate new metadata fields |
| examples/agents/rules/example-rule-with-standard-fields.md | New example file demonstrating rule metadata fields |
| examples/agents/commands/example-command-with-standard-fields.md | New example file demonstrating command metadata fields |
Standardizes
id,name, anddescriptionas optional metadata fields across all frontmatter types (tasks, rules, commands) to enable consistent tracking and documentation.Changes
Frontmatter structs: Added three optional string fields to
TaskFrontMatter,RuleFrontMatter, andCommandFrontMatterid: unique identifier for external system trackingname: human-readable display namedescription: purpose and functionality descriptionTests: Extended existing test coverage and added new
CommandFrontMattertests following table-driven patternDocumentation: Updated SPECIFICATION.md and docs/reference/file-formats.md with field definitions and examples
Examples: Demonstrated usage in example files for all three types
Usage
All fields are metadata-only and do not affect matching, filtering, or selection behavior. Fully backward compatible - existing files require no changes.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.