@guanlin4924/devflow-pi 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/README.md +164 -0
  2. package/docs/OMP-NATIVE-ARCHITECTURE.md +104 -0
  3. package/package.json +40 -0
  4. package/plugins/devflow-core/extensions/devflow-core.ts +1642 -0
  5. package/plugins/devflow-core/package.json +14 -0
  6. package/plugins/devflow-core/runtime/hooks/context_sync_gate.py +174 -0
  7. package/plugins/devflow-core/runtime/hooks/hook_common.py +696 -0
  8. package/plugins/devflow-core/runtime/hooks/index_gate.py +63 -0
  9. package/plugins/devflow-core/runtime/hooks/injection_code_specification.py +7 -0
  10. package/plugins/devflow-core/runtime/hooks/post_tool.py +44 -0
  11. package/plugins/devflow-core/runtime/hooks/start.py +288 -0
  12. package/plugins/devflow-core/skills/workflow-orchestrator/SKILL.md +265 -0
  13. package/plugins/devflow-core/skills/workflow-orchestrator/agents/openai.yaml +4 -0
  14. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/advance_state.rb +520 -0
  15. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/control_io.rb +42 -0
  16. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/init_state.rb +138 -0
  17. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/init_workflow.rb +121 -0
  18. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/inspect_state.rb +553 -0
  19. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/manage_lessons.rb +219 -0
  20. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/sync_artifacts.rb +168 -0
  21. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/update_triage_route.rb +110 -0
  22. package/plugins/devflow-core/skills/workflow-orchestrator/scripts/validate_state.rb +565 -0
  23. package/plugins/devflow-core/skills/workflow-orchestrator/templates/feature-development.yaml +783 -0
  24. package/plugins/devflow-core/skills/workflow-orchestrator/templates/uat-remediation.yaml +143 -0
  25. package/plugins/devflow-core/skills/workflow-orchestrator/templates/workflows-README.md +10 -0
  26. package/plugins/devflow-core/skills/workflow-pipeline/SKILL.md +117 -0
  27. package/plugins/devflow-core/skills/workflow-pipeline/references/pipeline-flow.md +167 -0
  28. package/plugins/devflow-core/skills/workflow-pipeline/references/slice-safety-guide.md +125 -0
  29. package/plugins/devflow-core/skills/workflow-project-context/SKILL.md +819 -0
  30. package/plugins/devflow-core/skills/workflow-project-context/assets/agents-md-template.md +25 -0
  31. package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-backend-spec-template.md +68 -0
  32. package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-frontend-spec-template.md +64 -0
  33. package/plugins/devflow-core/skills/workflow-project-context/assets/codebase-navigation-template.md +168 -0
  34. package/plugins/devflow-core/skills/workflow-project-context/assets/context-domain-index-template.md +43 -0
  35. package/plugins/devflow-core/skills/workflow-project-context/assets/context-spec-index-template.md +45 -0
  36. package/plugins/devflow-core/skills/workflow-project-context/assets/execution-contract-template.md +57 -0
  37. package/plugins/devflow-core/skills/workflow-project-context/assets/navigation-index-template.md +40 -0
  38. package/plugins/devflow-core/skills/workflow-project-context/assets/project-initialization-template.md +109 -0
  39. package/plugins/devflow-core/skills/workflow-project-context/assets/rules-index-template.md +80 -0
  40. package/plugins/devflow-core/skills/workflow-project-context/assets/run-manifest-template.json +40 -0
  41. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/directory-structure.md +46 -0
  42. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/engine.md +46 -0
  43. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/errors.md +46 -0
  44. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/locator.md +46 -0
  45. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/model.md +46 -0
  46. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/repository.md +46 -0
  47. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/router.md +46 -0
  48. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/scheduler.md +46 -0
  49. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/schema.md +46 -0
  50. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/service.md +46 -0
  51. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/backend/testing.md +46 -0
  52. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/api-client.md +46 -0
  53. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/case-editor.md +46 -0
  54. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/components.md +46 -0
  55. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/directory-structure.md +46 -0
  56. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/forms.md +46 -0
  57. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/routing.md +46 -0
  58. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/state.md +46 -0
  59. package/plugins/devflow-core/skills/workflow-project-context/assets/spec-templates/frontend/testing.md +46 -0
  60. package/plugins/devflow-core/skills/workflow-project-context/assets/stack-spec-template.md +106 -0
  61. package/plugins/devflow-core/skills/workflow-project-context/assets/state-template.md +77 -0
  62. package/plugins/devflow-core/skills/workflow-project-context/assets/toolchain-template.md +37 -0
  63. package/plugins/devflow-core/skills/workflow-project-context/references/navigation-guide.md +262 -0
  64. package/plugins/devflow-core/skills/workflow-project-context/scripts/validate_initialization.py +545 -0
  65. package/plugins/devflow-design/agents/contract-auditor.md +18 -0
  66. package/plugins/devflow-design/extensions/devflow-design.ts +47 -0
  67. package/plugins/devflow-design/package.json +14 -0
  68. package/plugins/devflow-design/skills/workflow-api-call-guide/SKILL.md +142 -0
  69. package/plugins/devflow-design/skills/workflow-api-contract/SKILL.md +150 -0
  70. package/plugins/devflow-design/skills/workflow-api-supplement/SKILL.md +121 -0
  71. package/plugins/devflow-design/skills/workflow-backend-tech-spec/SKILL.md +257 -0
  72. package/plugins/devflow-design/skills/workflow-backend-tech-spec/assets/adr-template.md +57 -0
  73. package/plugins/devflow-design/skills/workflow-backend-tech-spec/assets/backend-spec-template.md +205 -0
  74. package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/affected-module-exploration.md +59 -0
  75. package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/backend-conventions.md +30 -0
  76. package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/code-explore-guide.md +40 -0
  77. package/plugins/devflow-design/skills/workflow-backend-tech-spec/references/project-rule-contract.md +66 -0
  78. package/plugins/devflow-design/skills/workflow-design-rule-pack/SKILL.md +91 -0
  79. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/index.md +71 -0
  80. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/accessibility.md +31 -0
  81. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/component-library.md +31 -0
  82. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/design-systems.md +47 -0
  83. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/responsive-grid.md +29 -0
  84. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/stack-guidelines.md +31 -0
  85. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/recommendations/ux-patterns.md +40 -0
  86. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tokens/project-tokens.md +19 -0
  87. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/SKILL.md +377 -0
  88. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/charts.csv +26 -0
  89. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/colors.csv +97 -0
  90. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/icons.csv +101 -0
  91. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/landing.csv +31 -0
  92. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/products.csv +97 -0
  93. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/react-performance.csv +45 -0
  94. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  95. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  96. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  97. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  98. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  99. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  100. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  101. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  102. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/react.csv +54 -0
  103. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  104. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  105. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  106. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  107. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/styles.csv +68 -0
  108. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/typography.csv +58 -0
  109. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  110. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  111. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/data/web-interface.csv +31 -0
  112. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/core.py +253 -0
  113. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/design_system.py +1067 -0
  114. package/plugins/devflow-design/skills/workflow-design-rule-pack/assets/design/tools/ui-ux-pro-max/scripts/search.py +114 -0
  115. package/plugins/devflow-design/skills/workflow-design-rule-pack/scripts/install.py +67 -0
  116. package/plugins/devflow-design/skills/workflow-feature-breakdown/SKILL.md +370 -0
  117. package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/admin-system-template.md +57 -0
  118. package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/api-service-template.md +42 -0
  119. package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/c-end-system-template.md +25 -0
  120. package/plugins/devflow-design/skills/workflow-feature-breakdown/assets/output-template.md +139 -0
  121. package/plugins/devflow-design/skills/workflow-feature-breakdown/references/bug-rules.md +12 -0
  122. package/plugins/devflow-design/skills/workflow-feature-breakdown/references/exception-checklist.md +31 -0
  123. package/plugins/devflow-design/skills/workflow-feature-breakdown/references/trace-integrity-guide.md +153 -0
  124. package/plugins/devflow-design/skills/workflow-feature-breakdown/references/writing-guide.md +92 -0
  125. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/SKILL.md +223 -0
  126. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/assets/frontend-spec-template.md +204 -0
  127. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/affected-module-exploration.md +58 -0
  128. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/component-patterns.md +42 -0
  129. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-conventions.md +28 -0
  130. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/common-web.md +53 -0
  131. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/next.md +40 -0
  132. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/react.md +41 -0
  133. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/frontend-stack-slots/vue.md +41 -0
  134. package/plugins/devflow-design/skills/workflow-frontend-tech-spec/references/project-rule-contract.md +95 -0
  135. package/plugins/devflow-design/skills/workflow-integration-verify/SKILL.md +172 -0
  136. package/plugins/devflow-design/skills/workflow-ui-spec/SKILL.md +302 -0
  137. package/plugins/devflow-design/skills/workflow-ui-spec/assets/ui-spec-template.md +244 -0
  138. package/plugins/devflow-design/skills/workflow-ui-spec/references/affected-module-exploration.md +55 -0
  139. package/plugins/devflow-implementation/agents/implementation-worker.md +20 -0
  140. package/plugins/devflow-implementation/package.json +6 -0
  141. package/plugins/devflow-implementation/skills/workflow-bug-fix/SKILL.md +124 -0
  142. package/plugins/devflow-implementation/skills/workflow-bug-fix/references/INDEX.md +13 -0
  143. package/plugins/devflow-implementation/skills/workflow-bug-fix/references/adversarial-review.md +35 -0
  144. package/plugins/devflow-implementation/skills/workflow-bug-fix/references/first-principles.md +26 -0
  145. package/plugins/devflow-implementation/skills/workflow-bug-fix/references/lesson-format.md +28 -0
  146. package/plugins/devflow-implementation/skills/workflow-bug-fix/references/root-cause-ladder.md +51 -0
  147. package/plugins/devflow-implementation/skills/workflow-bug-fix/references/seam-analysis.md +30 -0
  148. package/plugins/devflow-implementation/skills/workflow-change-plan/SKILL.md +160 -0
  149. package/plugins/devflow-implementation/skills/workflow-change-plan/references/code-conventions.md +33 -0
  150. package/plugins/devflow-implementation/skills/workflow-change-plan/references/ddl-guidelines.md +60 -0
  151. package/plugins/devflow-implementation/skills/workflow-change-plan/references/output-template.md +217 -0
  152. package/plugins/devflow-implementation/skills/workflow-change-plan/references/project-rule-contract.md +55 -0
  153. package/plugins/devflow-implementation/skills/workflow-execute-phase/SKILL.md +271 -0
  154. package/plugins/devflow-implementation/skills/workflow-execute-phase/references/execute-phase.md +1251 -0
  155. package/plugins/devflow-implementation/skills/workflow-execute-phase/references/ui-brand.md +160 -0
  156. package/plugins/devflow-intel/agents/project-scout.md +27 -0
  157. package/plugins/devflow-intel/extensions/devflow-intel.ts +104 -0
  158. package/plugins/devflow-intel/package.json +14 -0
  159. package/plugins/devflow-intel/skills/code-index-query/SKILL.md +37 -0
  160. package/plugins/devflow-intel/skills/code-index-query/references/query-patterns.md +27 -0
  161. package/plugins/devflow-intel/skills/workflow-code-index/SKILL.md +68 -0
  162. package/plugins/devflow-intel/skills/workflow-code-index/references/adapter-contract.md +38 -0
  163. package/plugins/devflow-intel/skills/workflow-code-index/references/audit-checklist.md +10 -0
  164. package/plugins/devflow-intel/skills/workflow-code-index/references/confidence-rules.md +43 -0
  165. package/plugins/devflow-intel/skills/workflow-code-index/references/data-model.md +74 -0
  166. package/plugins/devflow-intel/skills/workflow-code-index/references/discovery.md +24 -0
  167. package/plugins/devflow-intel/skills/workflow-code-index/references/query-guide.md +20 -0
  168. package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/__init__.py +1 -0
  169. package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/base.py +30 -0
  170. package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/generic_text.py +287 -0
  171. package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/registry.py +17 -0
  172. package/plugins/devflow-intel/skills/workflow-code-index/scripts/code_index.py +437 -0
  173. package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/__init__.py +1 -0
  174. package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/discovery.py +139 -0
  175. package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/hashing.py +11 -0
  176. package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/scanner.py +115 -0
  177. package/plugins/devflow-intel/skills/workflow-code-index/scripts/core/schema.py +123 -0
  178. package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/__init__.py +1 -0
  179. package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/project_binding_check.py +66 -0
  180. package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/relation_check.py +36 -0
  181. package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/schema_validate.py +11 -0
  182. package/plugins/devflow-intel/skills/workflow-code-index/scripts/validators/stale_check.py +42 -0
  183. package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/__init__.py +1 -0
  184. package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/jsonl_writer.py +25 -0
  185. package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/markdown_writer.py +106 -0
  186. package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/sqlite_writer.py +143 -0
  187. package/plugins/devflow-intel/skills/workflow-context-sync/SKILL.md +381 -0
  188. package/plugins/devflow-intel/skills/workflow-context-sync/agents/openai.yaml +4 -0
  189. package/plugins/devflow-intel/skills/workflow-context-sync/scripts/context_sync_cursor.py +241 -0
  190. package/plugins/devflow-intel/skills/workflow-update-navigation/SKILL.md +186 -0
  191. package/plugins/devflow-intel/skills/workflow-update-navigation/references/incremental-update-guide.md +47 -0
  192. package/plugins/devflow-quality/agents/code-reviewer.md +18 -0
  193. package/plugins/devflow-quality/agents/verification-runner.md +21 -0
  194. package/plugins/devflow-quality/extensions/devflow-quality.ts +59 -0
  195. package/plugins/devflow-quality/package.json +14 -0
  196. package/plugins/devflow-quality/skills/code-review/SKILL.md +288 -0
  197. package/plugins/devflow-quality/skills/code-review/references/cross-layer-checklist.md +70 -0
  198. package/plugins/devflow-quality/skills/code-review/references/dao-checklist.md +70 -0
  199. package/plugins/devflow-quality/skills/code-review/references/handler-checklist.md +48 -0
  200. package/plugins/devflow-quality/skills/code-review/references/repository-checklist.md +44 -0
  201. package/plugins/devflow-quality/skills/code-review/references/service-checklist.md +57 -0
  202. package/plugins/devflow-quality/skills/code-review/references/spec-checklist.md +34 -0
  203. package/plugins/devflow-quality/skills/code-review/references/vo-checklist.md +26 -0
  204. package/plugins/devflow-quality/skills/workflow-audit-milestone/SKILL.md +31 -0
  205. package/plugins/devflow-quality/skills/workflow-audit-milestone/references/audit-milestone.md +328 -0
  206. package/plugins/devflow-quality/skills/workflow-complete-milestone/SKILL.md +132 -0
  207. package/plugins/devflow-quality/skills/workflow-complete-milestone/assets/milestone-archive.md +123 -0
  208. package/plugins/devflow-quality/skills/workflow-complete-milestone/references/complete-milestone.md +775 -0
  209. package/plugins/devflow-quality/skills/workflow-complete-milestone/references/milestone-archive.md +123 -0
  210. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/SKILL.md +126 -0
  211. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/api-mainflow-rules.md +27 -0
  212. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/codebase-discovery.md +54 -0
  213. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/intermediate-format.md +244 -0
  214. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/mainflow-selection.md +36 -0
  215. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/project-dsl-contract.md +190 -0
  216. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/references/ui-mainflow-rules.md +110 -0
  217. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/compile_dsl.py +583 -0
  218. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/discover_codebases.py +199 -0
  219. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/normalize_case_payloads.py +177 -0
  220. package/plugins/devflow-quality/skills/workflow-generate-mainflow-cases/scripts/validate_case_payloads.py +370 -0
  221. package/plugins/devflow-quality/skills/workflow-verify-work/SKILL.md +106 -0
  222. package/plugins/devflow-quality/skills/workflow-verify-work/assets/UAT.md +265 -0
  223. package/plugins/devflow-quality/skills/workflow-verify-work/references/verify-work.md +759 -0
  224. package/plugins/devflow-requirements/agents/requirements-auditor.md +20 -0
  225. package/plugins/devflow-requirements/package.json +6 -0
  226. package/plugins/devflow-requirements/skills/requirement-feasibility-review/SKILL.md +219 -0
  227. package/plugins/devflow-requirements/skills/requirement-feasibility-review/agents/openai.yaml +4 -0
  228. package/plugins/devflow-requirements/skills/requirement-feasibility-review/references/review-method.md +257 -0
  229. package/plugins/devflow-requirements/skills/requirement-feasibility-review/references/review-template.md +80 -0
  230. package/plugins/devflow-requirements/skills/workflow-demand-clarify/SKILL.md +325 -0
  231. package/plugins/devflow-requirements/skills/workflow-domain-modeling/SKILL.md +163 -0
  232. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/SKILL.md +748 -0
  233. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/assets/baseline-template.md +281 -0
  234. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/antipatterns.md +69 -0
  235. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/challenge-review-guide.md +158 -0
  236. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/decomposition-guide.md +115 -0
  237. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/project-context-guide.md +119 -0
  238. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/questioning.md +76 -0
  239. package/plugins/devflow-requirements/skills/workflow-requirement-baseline/references/requirement-review-checklist.md +115 -0
  240. package/plugins/devflow-requirements/skills/workflow-requirement-triage/SKILL.md +204 -0
  241. package/plugins/devflow-requirements/skills/workflow-wayfinder/SKILL.md +183 -0
  242. package/src/cli.ts +76 -0
  243. package/src/constants.ts +15 -0
  244. package/src/doctor.ts +66 -0
  245. package/src/paths.ts +37 -0
  246. package/src/platform-extension.ts +46 -0
  247. package/src/project-context.ts +165 -0
  248. package/src/runtime.ts +167 -0
  249. package/src/usage-stats.ts +101 -0
  250. package/templates/commands/start.md +58 -0
  251. package/templates/omp/AGENTS.md +36 -0
  252. package/templates/omp/config.yml +112 -0
  253. package/templates/omp/hook-config.json +18 -0
  254. package/templates/omp/index-policy.json +57 -0
@@ -0,0 +1,190 @@
1
+ # Project DSL Contract
2
+
3
+ Legacy normalization input is an object with metadata and cases:
4
+
5
+ ```json
6
+ {
7
+ "metadata": {
8
+ "feature": "Feature name",
9
+ "phase": "01-Feature",
10
+ "generated_by": "workflow-generate-mainflow-cases",
11
+ "project_id": 1
12
+ },
13
+ "cases": [
14
+ {
15
+ "project_id": 1,
16
+ "name": "Case name",
17
+ "description": "Positive mainflow purpose and traceability.",
18
+ "tags": ["api-mainflow"],
19
+ "dsl_json": {
20
+ "name": "Case name",
21
+ "description": "Same behavior summary.",
22
+ "tags": ["api-mainflow"],
23
+ "variables": {},
24
+ "steps": []
25
+ },
26
+ "source_evidence": [
27
+ {
28
+ "path": ".planning/features/Feature/后端技术方案.md",
29
+ "line": 120,
30
+ "reason": "API contract source"
31
+ }
32
+ ]
33
+ }
34
+ ]
35
+ }
36
+ ```
37
+
38
+ `cases[*]` must be compatible with backend `CaseCreate` after normalization:
39
+
40
+ - `project_id`: integer. If no project id is known, use `metadata.project_id` or `1` and record an import note.
41
+ - `name`: non-empty string.
42
+ - `description`: optional string.
43
+ - `dsl_json`: object.
44
+ - `tags`: exactly one of `["api-mainflow"]` or `["ui-mainflow"]` unless the case is intentionally mixed UI flow with API setup; mixed UI flows still use `["ui-mainflow"]`.
45
+
46
+ `source_evidence` is allowed in drafts. Normalization moves it to metadata and removes it from import payload cases.
47
+
48
+ ## DSL Step Shape
49
+
50
+ Each step needs:
51
+
52
+ - `id`
53
+ - `name`
54
+ - `driver`: `api`, `web`, or `ui`
55
+ - `action`
56
+ - `params`
57
+ - `depends_on`
58
+ - `assertions`
59
+ - `timeout_ms`
60
+ - `on_failure`
61
+
62
+ API steps require `params.url`. Prefer variable placeholders such as `${base_url}` instead of environment-specific hosts when possible.
63
+
64
+ UI steps with `driver: "ui"` require:
65
+
66
+ - `strategy`: depends on step type (see below)
67
+ - `target`: non-empty unless `strategy.mode` is `ai_only`
68
+
69
+ ### Strategy Selection
70
+
71
+ **Action steps** (click, fill, select, hover) — `structured_first` + midscene fallback:
72
+
73
+ ```json
74
+ { "strategy": { "mode": "structured_first", "fallback": "midscene" } }
75
+ ```
76
+
77
+ **Verification steps** (assert_text, assert_visible, wait for success/result) — prefer `ai_only`. Visual verification of transient UI (toast messages, success prompts, dialog confirmations) is an AI task:
78
+
79
+ ```json
80
+ { "strategy": { "mode": "ai_only" } }
81
+ ```
82
+
83
+ ```json
84
+ {
85
+ "id": "s06",
86
+ "name": "验证编辑成功",
87
+ "driver": "ui",
88
+ "action": "act",
89
+ "target": { "label": "操作成功" },
90
+ "strategy": { "mode": "ai_only" },
91
+ "prompt": "检查页面是否出现'操作成功'的提示消息,确认编辑操作已成功完成",
92
+ "depends_on": ["s05"],
93
+ "timeout_ms": 15000
94
+ }
95
+ ```
96
+
97
+ ### Target Field Specification
98
+
99
+ `target` is a **flat key-value object**. The key IS the locator type. The system resolves them in this priority: `css → xpath → label → placeholder → role+name → near_text`.
100
+
101
+ **There is NO `by` field. Do NOT invent `{"by": "...", "value": "..."}` format.**
102
+
103
+ #### Decision Table: Which Key for Which Scenario
104
+
105
+ | 场景 | 选哪个 key | 示例 | 原因 |
106
+ |---|---|---|---|
107
+ | 页面唯一按钮/菜单/tab | `label` + `exact` | `{"label": "新增项目库", "exact": true}` | 文本最稳定,不受CSS重构影响 |
108
+ | 表格行操作按钮(每行重复) | `css` 精确定位 | `{"css": "tr:nth-child(2) .edit-btn"}` | 必须定位到具体行,"编辑"不唯一 |
109
+ | 对话框底部确定/取消 | `css` 限定作用域 | `{"css": ".el-dialog__footer .el-button--primary"}` | 防止dialog外也有同名按钮 |
110
+ | 输入框(有唯一placeholder) | `placeholder` | `{"placeholder": "请输入后台名称"}` | 语义清晰,自动scope内唯一 |
111
+ | 表单项旁边控件 | `near_text` | `{"near_text": "后台名称"}` | label文本定位,控件自动匹配 |
112
+ | ARIA友好的按钮/组件 | `role` + `name` | `{"role": "button", "name": "确定"}` | 无障碍属性,可访问性最好 |
113
+ | 无他法定位时 | `xpath` | `{"xpath": "//button[text()='确定']"}` | 最后的结构化手段 |
114
+ | 以上均不稳定 | `ai_only` strategy | 不走target,用AI视觉识别 | 放弃结构化,交AI处理 |
115
+
116
+ #### Key Selection Priority for Generation
117
+
118
+ 1. **先看唯一性**:页面只有一个"新增项目库"按钮 → `label`;每行都有"编辑" → 不能只用 `label`
119
+ 2. **再看作用域**:对话框内用 `css` 限定 `.el-dialog__footer .el-button--primary`
120
+ 3. **input/textarea 优先用** `placeholder`
121
+ 4. **表单项控件用** `near_text`
122
+ 5. **都不行再用** `xpath` **或** `ai_only`
123
+
124
+ #### Correct Format Examples
125
+
126
+ ```json
127
+ // 页面唯一按钮 → label
128
+ { "label": "新增项目库", "exact": true }
129
+
130
+ // 表格行按钮 → css 精确定位
131
+ { "css": "tr:nth-child(2) .edit-btn" }
132
+
133
+ // 对话框确定按钮 → css 限定作用域
134
+ { "css": ".el-dialog__footer .el-button--primary" }
135
+
136
+ // 输入框 → placeholder
137
+ { "placeholder": "请输入后台名称" }
138
+ ```
139
+
140
+ ### Assertion Rules
141
+
142
+ **API steps** (`driver: "api"`) use `assertions[]` with these types:
143
+
144
+ | Type | Behavior |
145
+ |---|---|
146
+ | `equals` | `actual == expected` |
147
+ | `status_code` | HTTP 状态码 |
148
+ | `contains` | `expected in actual` |
149
+ | `json_path_equals` | JSONPath 取值相等 |
150
+ | `json_path_exists` | JSONPath 路径存在 |
151
+ | `regex` | 正则匹配 |
152
+ | `not_equals` / `not_contains` / `greater_than` / `less_than` / `in` / `not_in` / `is_empty` / `is_not_empty` |
153
+
154
+ **`"text"` is NOT a valid assertion type.** It will raise `ValueError: unsupported assertion type: text`.
155
+
156
+ **Web/UI steps** (`driver: "web"` / `"ui"`) do NOT use `assertions[]` for text/visibility checks. Use assertion **actions** instead:
157
+
158
+ ```json
159
+ // UI verification — use AI-only, not structured
160
+ {
161
+ "id": "s06",
162
+ "name": "验证操作成功",
163
+ "driver": "ui",
164
+ "action": "act",
165
+ "target": { "label": "操作成功" },
166
+ "strategy": { "mode": "ai_only" },
167
+ "prompt": "检查页面是否出现'操作成功'的提示消息,确认操作已成功完成",
168
+ "depends_on": ["s05"],
169
+ "timeout_ms": 15000
170
+ }
171
+ ```
172
+
173
+ Valid assertion actions for web/ui (use ai_only for these): `assert_text`, `assert_visible`, `assert_url_contains`, `assert_any_visible`.
174
+
175
+ For API steps, assertion example:
176
+
177
+ ```json
178
+ {
179
+ "id": "api-login",
180
+ "driver": "api",
181
+ "action": "post",
182
+ "params": { "url": "${base_url}/auth/login", "json": { "userid": "${userid}", "password": "${password}" } },
183
+ "assertions": [
184
+ { "type": "status_code", "expected": 200 },
185
+ { "type": "json_path_exists", "path": "headers.X-Jwt-Token" }
186
+ ]
187
+ }
188
+ ```
189
+
190
+ Do not include real credentials, tokens, cookies, passwords, API keys, or production secrets. Use variables like `${auth_token}` or placeholders like `<token>` only.
@@ -0,0 +1,110 @@
1
+ # UI Mainflow Rules
2
+
3
+ UI cases validate successful user journeys through importable DSL.
4
+
5
+ ## Hard Rule: Source-Backed Terminology
6
+
7
+ **All UI text in locators, step names, and descriptions MUST be exact strings from source code.** Never invent, translate, guess, or "improve" the text. If the code says "查询" (query button text), the step name and locator must say "查询" — not "搜索", not "查找".
8
+
9
+ Extract locator values from:
10
+ - Template/JSX: `<el-button>查询</el-button>` → `locator: "text:查询"`
11
+ - Placeholder attrs: `placeholder="请输入名称"` → `locator: "placeholder:请输入名称"`
12
+ - Dialog titles: `<el-dialog title="新增项目">` → verify text "新增项目"
13
+ - Menu/router config: `{ path: '/Project/List', meta: { title: '项目管理' } }`
14
+
15
+ ### List Page Patterns: Query vs Search
16
+
17
+ | 模式 | 按钮文本(源码) | URL特征 | 行为 |
18
+ |---|---|---|---|
19
+ | 列表查询/筛选 | "查询" 或 "筛选" | `/List`, `/list`, `/index` | 表格上方表单,过滤不跳转 |
20
+ | 全局搜索 | "搜索" | header/侧边栏 | 触发路由跳转 |
21
+
22
+ **Do not reclassify**: 源码写"查询"就生成"查询",源码写"搜索"就生成"搜索"。不要根据URL或行为推断应该叫什么。
23
+
24
+ ## Step Rules
25
+
26
+ - Prefer `driver: "ui"` for structured UI operations.
27
+ - Use `driver: "web"` only for plain browser actions that do not need structured target dispatch.
28
+ - `target` must be non-empty unless `strategy.mode` is `ai_only`.
29
+ - Use API setup steps only when needed to make the UI journey deterministic.
30
+
31
+ ### Strategy Selection: Action vs Verification
32
+
33
+ **Operating steps** (click, fill, select, hover): use `structured_first` + midscene fallback.
34
+
35
+ ```json
36
+ { "strategy": { "mode": "structured_first", "fallback": "midscene" } }
37
+ ```
38
+
39
+ **Verification steps** (assert_text, assert_visible, wait for success/result): prefer `ai_only`. Visual verification is inherently an AI task — toast messages, success prompts, dialog confirmations are transient and their DOM structure varies. Structured locators waste time on the fallback path.
40
+
41
+ ```json
42
+ { "strategy": { "mode": "ai_only" } }
43
+ ```
44
+
45
+ ```json
46
+ // CORRECT: AI-only verification after critical action
47
+ {
48
+ "id": "s06",
49
+ "name": "验证编辑成功",
50
+ "driver": "ui",
51
+ "action": "act",
52
+ "target": { "label": "操作成功" },
53
+ "strategy": { "mode": "ai_only" },
54
+ "prompt": "检查页面上是否出现'操作成功'的提示消息,确认编辑操作已成功完成",
55
+ "depends_on": ["s05"],
56
+ "timeout_ms": 15000
57
+ }
58
+ ```
59
+
60
+ Use `structured` only when runtime validation proves the locator is unique and stable. Do NOT use `structured` for verification steps.
61
+
62
+ ### Target Format: Scenario → Key Decision Table
63
+
64
+ `target` is a **flat key-value object** (no `by` field). The system resolves in priority: `css → xpath → label → placeholder → role+name → near_text`. Choose the right key based on the scenario:
65
+
66
+ | 场景 | key | 示例 |
67
+ |---|---|---|
68
+ | 页面唯一按钮/菜单/tab | `label` + `exact` | `{"label": "新增项目库", "exact": true}` |
69
+ | 表格行操作按钮(每行重复) | `css` 精确定位 | `{"css": "tr:nth-child(2) .edit-btn"}` |
70
+ | 对话框底部确定/取消 | `css` 限定dialog | `{"css": ".el-dialog__footer .el-button--primary"}` |
71
+ | 输入框(有唯一placeholder) | `placeholder` | `{"placeholder": "请输入后台名称"}` |
72
+ | 表单项旁边控件 | `near_text` | `{"near_text": "后台名称"}` |
73
+ | ARIA友好的按钮/组件 | `role` + `name` | `{"role": "button", "name": "确定"}` |
74
+ | 无他法 | `xpath` 或 `ai_only` | `{"xpath": "//button[text()='确定']"}` |
75
+
76
+ **Decision rule**: 先看唯一性(page-level唯一用label,行级重复用css),再看作用域(dialog内用css限定),input优先placeholder。不存在 `{"by": "xxx", "value": "yyy"}` 这种格式。
77
+
78
+ ### Assertion Rules
79
+
80
+ **Web/UI steps use assertion ACTIONS, not `assertions[]`:**
81
+
82
+ ```json
83
+ // CORRECT: 文本断言用 action
84
+ { "action": "assert_text", "target": { "label": "操作成功" }, "params": { "text": "操作成功" } }
85
+ { "action": "assert_visible", "target": { "css": ".el-dialog" } }
86
+ { "action": "assert_url_contains", "params": { "text": "/sadmin/a/org/Project/Gift" } }
87
+ ```
88
+
89
+ ```json
90
+ // WRONG: "text" 不是合法断言类型,web/ui 不走 assertions[]
91
+ { "assertions": [{ "type": "text", "expected": "礼物库" }] }
92
+ { "assertions": [{ "type": "visible", "target": { "by": "css", "selector": ".el-dialog" } }] }
93
+ ```
94
+
95
+ Valid assertion actions: `assert_text`, `assert_visible`, `assert_url_contains`, `assert_any_visible`.
96
+
97
+ API steps use `assertions[]` with types: `equals`, `contains`, `status_code`, `json_path_equals`, `json_path_exists`, `regex`, etc. See `project-dsl-contract.md` for the full list.
98
+
99
+ ## Source Evidence
100
+
101
+ Cite at least one planning artifact and one code artifact per case:
102
+
103
+ - Planning: UI spec, frontend tech spec, feature breakdown, or change list.
104
+ - Code: router, page/view, API client, and relevant component/store/hook files.
105
+
106
+ ## Positive Mainflow Boundary
107
+
108
+ Allowed: open route, create/edit/run primary record, view success result, save expected state.
109
+
110
+ Not allowed: validation errors, permission differences, responsive/a11y-only checks, empty state checks, browser compatibility, performance timing, or destructive cleanup beyond normal test setup.