-
Notifications
You must be signed in to change notification settings - Fork 99
Simplify campaign specs with intelligent defaults and move goals to markdown #11849
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
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
|
@copilot Simplify frontmatter even more and focus only on what's really necessary. Set defaults where you can so as not to clutter up the spec (i.e. memory paths, etc.). A campaign should be easy to define, setup and interpret. |
- Auto-generate tracker-label, memory-paths, metrics-glob, cursor-glob from campaign ID - Default state to "active" - Default discovery-repos to allowed-repos (current repository) - Remove validation requirement for discovery scope (now has default) - Simplify example campaign files by removing redundant fields - Update documentation to show minimal example and explain defaults Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Simplified frontmatter significantly with intelligent defaults. Campaign specs now require only 3 fields ( Auto-generated from campaign ID:
Example campaigns reduced from ~45 lines to ~20 lines of frontmatter. See commit 89a29cb. |
Campaign specs mixed pure configuration with natural language goals in YAML frontmatter, making them verbose and opinionated. This PR moves objectives, KPIs, and other narrative content to the markdown body, and adds intelligent defaults for repetitive configuration fields.
Changes
Code
Objectivestring andKPIs []CampaignKPIfields fromCampaignSpecCampaignKPIstruct definitionCampaignPromptDataand orchestrator templates to not inject these fieldsstatedefaults to"active"tracker-labelauto-generated asz_campaign_{id}memory-pathsauto-generated as["memory/campaigns/{id}/**"]metrics-globauto-generated asmemory/campaigns/{id}/metrics/*.jsoncursor-globauto-generated asmemory/campaigns/{id}/cursor.jsonallowed-reposdefaults to current repositorydiscovery-reposdefaults toallowed-reposExamples
Before (21 lines of frontmatter):
After (5 lines of frontmatter):
Documentation
Result
Campaign specs now require only 3 essential fields (
id,project-url,workflows). All repetitive configuration is auto-generated with sensible defaults. Natural language content (objectives, KPIs, timelines) lives in markdown where it belongs. Campaigns are now easy to define, setup, and interpret.Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.