Skip to content

Migrate to OpenSpec + fix formatting + add pre-commit format rule#86

Merged
ThePlenkov merged 5 commits intomainfrom
copilot/migrate-to-openspec-framework
Mar 16, 2026
Merged

Migrate to OpenSpec + fix formatting + add pre-commit format rule#86
ThePlenkov merged 5 commits intomainfrom
copilot/migrate-to-openspec-framework

Conversation

Copy link
Contributor

Copilot AI commented Mar 16, 2026

Migrates from custom docs/specs/ workflow to OpenSpec, fixes resulting formatting violations, and adds nx format:write to GitHub Copilot agent instructions to prevent recurrence.

OpenSpec migration

  • Ran openspec init — creates openspec/ with config.yaml, specs/, changes/
  • Moved all specs from docs/specs/openspec/specs/ organized by domain (adk, adt-cli, adt-client, cicd, oat)
  • Restructured each spec.md with required ## Purpose, ## Requirements, #### Scenario sections — all 5 pass openspec validate --specs
  • Added OpenSpec skills/commands/prompts for GitHub Copilot, Claude Code, Cursor, Windsurf

Formatting fix

32 files from the OpenSpec scaffold were committed unformatted. Root cause: AGENTS.md "After Making Changes" checklist didn't include format:write, and the report_progress tool bypasses git hooks (so the precommit script never ran).

Prevention

  • .github/copilot-instructions.md — new file with mandatory nx format:write pre-commit rule
  • AGENTS.md — added nx format:write to the verification checklist:
npx nx format:write      # REQUIRED before every commit

Cleanup

  • Removed broken symlinks (.github/skills, .claude/skills, .windsurf/skills → dead absolute path)
  • Removed empty .skills/ submodule and .kilocode/rules/rules.md
  • Updated .windsurf/rules/, docs/README.md to reference OpenSpec consistently

📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.

- Install and initialize OpenSpec (openspec init)
- Migrate specs from docs/specs/ to openspec/specs/ (organized by domain)
- Configure openspec/config.yaml with project context and rules
- Update AGENTS.md to reference OpenSpec workflow
- Update .windsurf/ rules and README for OpenSpec
- Clean up broken symlinks (.github/skills, .claude/skills, .windsurf/skills)
- Remove empty .skills/ directory and .kilocode/rules/
- Add OpenSpec skills/commands for GitHub Copilot, Claude, Cursor, Windsurf

Co-authored-by: ThePlenkov <6381507+ThePlenkov@users.noreply.github.com>
@nx-cloud
Copy link
Contributor

nx-cloud bot commented Mar 16, 2026

View your CI Pipeline Execution ↗ for commit 185db86

Command Status Duration Result
nx affected -t lint test build e2e-ci --verbose... ✅ Succeeded <1s View ↗

☁️ Nx Cloud last updated this comment at 2026-03-16 13:58:51 UTC

… Scenarios)

Co-authored-by: ThePlenkov <6381507+ThePlenkov@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate project to OpenSpec framework and clean up specifications Migrate to OpenSpec for spec-driven development Mar 16, 2026
Copilot AI requested a review from ThePlenkov March 16, 2026 13:05
Copilot AI and others added 2 commits March 16, 2026 13:14
Co-authored-by: ThePlenkov <6381507+ThePlenkov@users.noreply.github.com>
…nfig

Add .github/copilot-instructions.md with mandatory pre-commit formatting rule.
Update AGENTS.md "After Making Changes" to include nx format:write.

Co-authored-by: ThePlenkov <6381507+ThePlenkov@users.noreply.github.com>
@sonarqubecloud
Copy link

Copilot AI changed the title Migrate to OpenSpec for spec-driven development Migrate to OpenSpec + fix formatting + add pre-commit format rule Mar 16, 2026
@ThePlenkov ThePlenkov marked this pull request as ready for review March 16, 2026 13:57
Copilot AI review requested due to automatic review settings March 16, 2026 13:57
@ThePlenkov ThePlenkov merged commit 45ca59d into main Mar 16, 2026
5 checks passed
@ThePlenkov ThePlenkov deleted the copilot/migrate-to-openspec-framework branch March 16, 2026 14:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates the repo’s specification workflow from docs/specs/ to an OpenSpec-managed openspec/ source-of-truth, updates repo/docs/agent guidance accordingly, and cleans up broken agent/skills links.

Changes:

  • Added openspec/ (config + domain-organized specs) and moved/rewrote specs to match OpenSpec structure.
  • Updated documentation and rules to point to openspec/specs/ and the /opsx:* workflow.
  • Removed broken absolute-path symlinks/submodule remnants; added consistent skill/workflow/prompt assets for multiple agent tools.

Reviewed changes

Copilot reviewed 50 out of 66 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
openspec/specs/oat/spec.md Updates OAT spec to OpenSpec Purpose/Requirements structure.
openspec/specs/oat/project-structure.md Adds OAT structure doc (type-based) with examples/manifests.
openspec/specs/oat/metadata-schema.md Adds YAML metadata schema/validation rules for OAT.
openspec/specs/oat/format-structure.md Adds OAT structure doc (package-based) with examples/manifests.
openspec/specs/oat/format-comparison.md Adds OAT vs abapGit vs gCTS comparison doc.
openspec/specs/oat/adt-cli-integration.md Documents how OAT integrates with ADT CLI plugin system.
openspec/specs/cicd/spec.md Introduces CI/CD domain spec index with requirements/scenarios.
openspec/specs/cicd/abap-cicd-pipeline.md Adds detailed CI/CD pipeline specification document.
openspec/specs/adt-client/spec.md Updates ADT client spec to OpenSpec Purpose/Requirements.
openspec/specs/adt-cli/spec.md Updates ADT CLI spec to OpenSpec Purpose/Requirements.
openspec/specs/adt-cli/plugin-architecture.md Adds detailed plugin system specification document.
openspec/specs/adt-cli/logging-and-utilities.md Adds logging + command utility patterns specification document.
openspec/specs/adk/spec.md Updates ADK spec to OpenSpec Purpose/Requirements.
openspec/specs/adk/redesigned-object-architecture.md Adds proposed redesigned ADK object architecture doc.
openspec/specs/adk/object-grouping-structure.md Adds proposed ADK object grouping structure doc.
openspec/specs/adk/intelligent-object-factory.md Adds intelligent object factory specification doc.
openspec/specs/adk/adk2-on-xmld.md Adds ADK-on-xmld review-draft spec.
openspec/config.yaml Adds OpenSpec project config and repo-level rules/context.
docs/specs/cicd/README.md Removes old CI/CD spec README from legacy docs/specs/ location.
docs/planning/abap-code-review.md Updates spec reference path to OpenSpec location.
docs/README.md Updates docs landing page to point specs to OpenSpec and refines docs structure.
AGENTS.md Updates repo structure + switches spec-first guidance to OpenSpec; adds mandatory format step.
.windsurf/workflows/opsx-propose.md Adds Windsurf workflow doc for /opsx:propose.
.windsurf/workflows/opsx-explore.md Adds Windsurf workflow doc for /opsx:explore.
.windsurf/workflows/opsx-archive.md Adds Windsurf workflow doc for /opsx:archive.
.windsurf/workflows/opsx-apply.md Adds Windsurf workflow doc for /opsx:apply.
.windsurf/skills/openspec-propose/SKILL.md Adds Windsurf skill definition for propose flow.
.windsurf/skills/openspec-explore/SKILL.md Adds Windsurf skill definition for explore flow.
.windsurf/skills/openspec-archive-change/SKILL.md Adds Windsurf skill definition for archive flow.
.windsurf/skills/openspec-apply-change/SKILL.md Adds Windsurf skill definition for apply flow.
.windsurf/skills Removes broken absolute-path symlink.
.windsurf/rules/spec-first-then-code.md Updates spec-first rule to reference OpenSpec and /opsx:*.
.windsurf/rules/project-planning-memory.md Updates planning memory rule to OpenSpec locations/workflow.
.windsurf/README.md Updates Windsurf README to describe OpenSpec-based planning/specs.
.skills/skills Removes empty .skills submodule pointer.
.kilocode/rules/rules.md Removes old KiloCode rules file (cleanup).
.github/skills/openspec-propose/SKILL.md Adds GitHub skills for propose flow.
.github/skills/openspec-explore/SKILL.md Adds GitHub skills for explore flow.
.github/skills/openspec-archive-change/SKILL.md Adds GitHub skills for archive flow.
.github/skills/openspec-apply-change/SKILL.md Adds GitHub skills for apply flow.
.github/skills Removes broken absolute-path symlink.
.github/prompts/opsx-propose.prompt.md Adds GitHub prompt for propose workflow.
.github/prompts/opsx-explore.prompt.md Adds GitHub prompt for explore workflow.
.github/prompts/opsx-archive.prompt.md Adds GitHub prompt for archive workflow.
.github/prompts/opsx-apply.prompt.md Adds GitHub prompt for apply workflow.
.github/copilot-instructions.md Adds Copilot agent instructions including mandatory nx format:write.
.cursor/skills/openspec-propose/SKILL.md Adds Cursor skill definition for propose flow.
.cursor/skills/openspec-explore/SKILL.md Adds Cursor skill definition for explore flow.
.cursor/skills/openspec-archive-change/SKILL.md Adds Cursor skill definition for archive flow.
.cursor/skills/openspec-apply-change/SKILL.md Adds Cursor skill definition for apply flow.
.cursor/commands/opsx-propose.md Adds Cursor command doc for propose workflow.
.cursor/commands/opsx-explore.md Adds Cursor command doc for explore workflow.
.cursor/commands/opsx-archive.md Adds Cursor command doc for archive workflow.
.cursor/commands/opsx-apply.md Adds Cursor command doc for apply workflow.
.claude/skills/openspec-propose/SKILL.md Adds Claude skill definition for propose flow.
.claude/skills/openspec-explore/SKILL.md Adds Claude skill definition for explore flow.
.claude/skills/openspec-archive-change/SKILL.md Adds Claude skill definition for archive flow.
.claude/skills/openspec-apply-change/SKILL.md Adds Claude skill definition for apply flow.
.claude/skills Removes broken absolute-path symlink.
.claude/commands/opsx/propose.md Adds Claude command doc for propose workflow.
.claude/commands/opsx/explore.md Adds Claude command doc for explore workflow.
.claude/commands/opsx/archive.md Adds Claude command doc for archive workflow.
.claude/commands/opsx/apply.md Adds Claude command doc for apply workflow.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +20 to +24
specs:
- Use Given/When/Then format for scenarios
- Reference existing patterns before inventing new ones
- Specs define WHAT and WHY, not HOW
design:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants