universal-dev-standards 3.5.1-beta.1 → 3.5.1-beta.11

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 (433) hide show
  1. package/bin/uds.js +2 -0
  2. package/bundled/core/ai-instruction-standards.md +205 -0
  3. package/bundled/core/anti-hallucination.md +684 -0
  4. package/bundled/core/changelog-standards.md +556 -0
  5. package/bundled/core/checkin-standards.md +935 -0
  6. package/bundled/core/code-review-checklist.md +684 -0
  7. package/bundled/core/commit-message-guide.md +915 -0
  8. package/bundled/core/documentation-structure.md +1117 -0
  9. package/bundled/core/documentation-writing-standards.md +487 -0
  10. package/bundled/core/error-code-standards.md +382 -0
  11. package/bundled/core/git-workflow.md +859 -0
  12. package/bundled/core/logging-standards.md +323 -0
  13. package/bundled/core/project-structure.md +354 -0
  14. package/bundled/core/refactoring-standards.md +636 -0
  15. package/bundled/core/spec-driven-development.md +207 -0
  16. package/bundled/core/test-completeness-dimensions.md +536 -0
  17. package/bundled/core/test-driven-development.md +995 -0
  18. package/bundled/core/testing-standards.md +3061 -0
  19. package/bundled/core/versioning.md +902 -0
  20. package/bundled/locales/README.md +88 -0
  21. package/bundled/locales/zh-CN/CHANGELOG.md +705 -0
  22. package/bundled/locales/zh-CN/CLAUDE.md +213 -0
  23. package/bundled/locales/zh-CN/MAINTENANCE.md +689 -0
  24. package/bundled/locales/zh-CN/README.md +707 -0
  25. package/bundled/locales/zh-CN/STANDARDS-MAPPING.md +177 -0
  26. package/bundled/locales/zh-CN/adoption/ADOPTION-GUIDE.md +392 -0
  27. package/bundled/locales/zh-CN/adoption/STATIC-DYNAMIC-GUIDE.md +302 -0
  28. package/bundled/locales/zh-CN/adoption/checklists/enterprise.md +332 -0
  29. package/bundled/locales/zh-CN/adoption/checklists/minimal.md +141 -0
  30. package/bundled/locales/zh-CN/adoption/checklists/recommended.md +272 -0
  31. package/bundled/locales/zh-CN/ai/MAINTENANCE.md +739 -0
  32. package/bundled/locales/zh-CN/ai/options/changelog/auto-generated.ai.yaml +76 -0
  33. package/bundled/locales/zh-CN/ai/options/changelog/keep-a-changelog.ai.yaml +99 -0
  34. package/bundled/locales/zh-CN/ai/options/code-review/automated-review.ai.yaml +120 -0
  35. package/bundled/locales/zh-CN/ai/options/code-review/pair-programming.ai.yaml +109 -0
  36. package/bundled/locales/zh-CN/ai/options/code-review/pr-review.ai.yaml +104 -0
  37. package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +105 -0
  38. package/bundled/locales/zh-CN/ai/options/commit-message/english.ai.yaml +79 -0
  39. package/bundled/locales/zh-CN/ai/options/commit-message/traditional-chinese.ai.yaml +100 -0
  40. package/bundled/locales/zh-CN/ai/options/documentation/api-docs.ai.yaml +140 -0
  41. package/bundled/locales/zh-CN/ai/options/documentation/markdown-docs.ai.yaml +89 -0
  42. package/bundled/locales/zh-CN/ai/options/documentation/wiki-style.ai.yaml +119 -0
  43. package/bundled/locales/zh-CN/ai/options/git-workflow/gitflow.ai.yaml +133 -0
  44. package/bundled/locales/zh-CN/ai/options/git-workflow/github-flow.ai.yaml +73 -0
  45. package/bundled/locales/zh-CN/ai/options/git-workflow/merge-commit.ai.yaml +88 -0
  46. package/bundled/locales/zh-CN/ai/options/git-workflow/rebase-ff.ai.yaml +113 -0
  47. package/bundled/locales/zh-CN/ai/options/git-workflow/squash-merge.ai.yaml +85 -0
  48. package/bundled/locales/zh-CN/ai/options/git-workflow/trunk-based.ai.yaml +117 -0
  49. package/bundled/locales/zh-CN/ai/options/project-structure/dotnet.ai.yaml +108 -0
  50. package/bundled/locales/zh-CN/ai/options/project-structure/go.ai.yaml +115 -0
  51. package/bundled/locales/zh-CN/ai/options/project-structure/java.ai.yaml +113 -0
  52. package/bundled/locales/zh-CN/ai/options/project-structure/kotlin.ai.yaml +123 -0
  53. package/bundled/locales/zh-CN/ai/options/project-structure/nodejs.ai.yaml +101 -0
  54. package/bundled/locales/zh-CN/ai/options/project-structure/php.ai.yaml +147 -0
  55. package/bundled/locales/zh-CN/ai/options/project-structure/python.ai.yaml +116 -0
  56. package/bundled/locales/zh-CN/ai/options/project-structure/ruby.ai.yaml +140 -0
  57. package/bundled/locales/zh-CN/ai/options/project-structure/rust.ai.yaml +117 -0
  58. package/bundled/locales/zh-CN/ai/options/project-structure/swift.ai.yaml +143 -0
  59. package/bundled/locales/zh-CN/ai/options/testing/contract-testing.ai.yaml +254 -0
  60. package/bundled/locales/zh-CN/ai/options/testing/e2e-testing.ai.yaml +116 -0
  61. package/bundled/locales/zh-CN/ai/options/testing/industry-pyramid.ai.yaml +144 -0
  62. package/bundled/locales/zh-CN/ai/options/testing/integration-testing.ai.yaml +90 -0
  63. package/bundled/locales/zh-CN/ai/options/testing/istqb-framework.ai.yaml +108 -0
  64. package/bundled/locales/zh-CN/ai/options/testing/performance-testing.ai.yaml +272 -0
  65. package/bundled/locales/zh-CN/ai/options/testing/security-testing.ai.yaml +160 -0
  66. package/bundled/locales/zh-CN/ai/options/testing/system-testing.ai.yaml +101 -0
  67. package/bundled/locales/zh-CN/ai/options/testing/unit-testing.ai.yaml +82 -0
  68. package/bundled/locales/zh-CN/ai/standards/anti-hallucination.ai.yaml +145 -0
  69. package/bundled/locales/zh-CN/ai/standards/changelog.ai.yaml +146 -0
  70. package/bundled/locales/zh-CN/ai/standards/checkin-standards.ai.yaml +170 -0
  71. package/bundled/locales/zh-CN/ai/standards/code-review.ai.yaml +148 -0
  72. package/bundled/locales/zh-CN/ai/standards/commit-message.ai.yaml +175 -0
  73. package/bundled/locales/zh-CN/ai/standards/documentation-structure.ai.yaml +124 -0
  74. package/bundled/locales/zh-CN/ai/standards/documentation-writing-standards.ai.yaml +190 -0
  75. package/bundled/locales/zh-CN/ai/standards/error-codes.ai.yaml +139 -0
  76. package/bundled/locales/zh-CN/ai/standards/git-workflow.ai.yaml +95 -0
  77. package/bundled/locales/zh-CN/ai/standards/logging.ai.yaml +128 -0
  78. package/bundled/locales/zh-CN/ai/standards/project-structure.ai.yaml +134 -0
  79. package/bundled/locales/zh-CN/ai/standards/spec-driven-development.ai.yaml +169 -0
  80. package/bundled/locales/zh-CN/ai/standards/test-completeness-dimensions.ai.yaml +220 -0
  81. package/bundled/locales/zh-CN/ai/standards/testing.ai.yaml +137 -0
  82. package/bundled/locales/zh-CN/ai/standards/versioning.ai.yaml +211 -0
  83. package/bundled/locales/zh-CN/core/ai-instruction-standards.md +213 -0
  84. package/bundled/locales/zh-CN/core/anti-hallucination.md +691 -0
  85. package/bundled/locales/zh-CN/core/changelog-standards.md +147 -0
  86. package/bundled/locales/zh-CN/core/checkin-standards.md +943 -0
  87. package/bundled/locales/zh-CN/core/code-review-guide.md +693 -0
  88. package/bundled/locales/zh-CN/core/commit-message-guide.md +129 -0
  89. package/bundled/locales/zh-CN/core/documentation-structure.md +173 -0
  90. package/bundled/locales/zh-CN/core/documentation-writing-standards.md +495 -0
  91. package/bundled/locales/zh-CN/core/error-code-standards.md +180 -0
  92. package/bundled/locales/zh-CN/core/git-workflow.md +193 -0
  93. package/bundled/locales/zh-CN/core/logging-standards.md +174 -0
  94. package/bundled/locales/zh-CN/core/project-structure.md +184 -0
  95. package/bundled/locales/zh-CN/core/refactoring-standards.md +642 -0
  96. package/bundled/locales/zh-CN/core/spec-driven-development.md +215 -0
  97. package/bundled/locales/zh-CN/core/test-completeness-dimensions.md +544 -0
  98. package/bundled/locales/zh-CN/core/test-driven-development.md +1002 -0
  99. package/bundled/locales/zh-CN/core/testing-standards.md +170 -0
  100. package/bundled/locales/zh-CN/core/versioning.md +177 -0
  101. package/bundled/locales/zh-CN/docs/AI-AGENT-ROADMAP.md +303 -0
  102. package/bundled/locales/zh-CN/docs/CLI-INIT-OPTIONS.md +990 -0
  103. package/bundled/locales/zh-CN/docs/OPERATION-WORKFLOW.md +1064 -0
  104. package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +333 -0
  105. package/bundled/locales/zh-CN/docs/WINDOWS-GUIDE.md +215 -0
  106. package/bundled/locales/zh-CN/integrations/codex/AGENTS.md +115 -0
  107. package/bundled/locales/zh-CN/integrations/codex/README.md +67 -0
  108. package/bundled/locales/zh-CN/integrations/gemini-cli/GEMINI.md +102 -0
  109. package/bundled/locales/zh-CN/integrations/gemini-cli/README.md +140 -0
  110. package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +269 -0
  111. package/bundled/locales/zh-CN/integrations/github-copilot/README.md +167 -0
  112. package/bundled/locales/zh-CN/integrations/github-copilot/copilot-instructions.md +263 -0
  113. package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +192 -0
  114. package/bundled/locales/zh-CN/integrations/google-antigravity/INSTRUCTIONS.md +61 -0
  115. package/bundled/locales/zh-CN/integrations/google-antigravity/README.md +84 -0
  116. package/bundled/locales/zh-CN/integrations/opencode/AGENTS.md +111 -0
  117. package/bundled/locales/zh-CN/integrations/opencode/README.md +176 -0
  118. package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +396 -0
  119. package/bundled/locales/zh-CN/integrations/openspec/AGENTS.md +301 -0
  120. package/bundled/locales/zh-CN/integrations/openspec/README.md +43 -0
  121. package/bundled/locales/zh-CN/integrations/spec-kit/AGENTS.md +184 -0
  122. package/bundled/locales/zh-CN/integrations/spec-kit/README.md +43 -0
  123. package/bundled/locales/zh-CN/options/commit-message/bilingual.md +161 -0
  124. package/bundled/locales/zh-CN/options/commit-message/english.md +137 -0
  125. package/bundled/locales/zh-CN/options/commit-message/traditional-chinese.md +162 -0
  126. package/bundled/locales/zh-CN/options/git-workflow/gitflow.md +147 -0
  127. package/bundled/locales/zh-CN/options/git-workflow/github-flow.md +124 -0
  128. package/bundled/locales/zh-CN/options/git-workflow/merge-commit.md +124 -0
  129. package/bundled/locales/zh-CN/options/git-workflow/rebase-ff.md +160 -0
  130. package/bundled/locales/zh-CN/options/git-workflow/squash-merge.md +117 -0
  131. package/bundled/locales/zh-CN/options/git-workflow/trunk-based.md +125 -0
  132. package/bundled/locales/zh-CN/options/project-structure/dotnet.md +183 -0
  133. package/bundled/locales/zh-CN/options/project-structure/go.md +226 -0
  134. package/bundled/locales/zh-CN/options/project-structure/java.md +213 -0
  135. package/bundled/locales/zh-CN/options/project-structure/nodejs.md +185 -0
  136. package/bundled/locales/zh-CN/options/project-structure/python.md +229 -0
  137. package/bundled/locales/zh-CN/options/testing/e2e-testing.md +207 -0
  138. package/bundled/locales/zh-CN/options/testing/integration-testing.md +230 -0
  139. package/bundled/locales/zh-CN/options/testing/system-testing.md +183 -0
  140. package/bundled/locales/zh-CN/options/testing/unit-testing.md +165 -0
  141. package/bundled/locales/zh-CN/skills/INTEGRATION-GUIDE.md +218 -0
  142. package/bundled/locales/zh-CN/skills/README.md +134 -0
  143. package/bundled/locales/zh-CN/skills/_shared/README.md +68 -0
  144. package/bundled/locales/zh-CN/skills/claude-code/CONTRIBUTING.template.md +151 -0
  145. package/bundled/locales/zh-CN/skills/claude-code/README.md +174 -0
  146. package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
  147. package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +223 -0
  148. package/bundled/locales/zh-CN/skills/claude-code/ai-collaboration-standards/certainty-labels.md +132 -0
  149. package/bundled/locales/zh-CN/skills/claude-code/changelog-guide/SKILL.md +237 -0
  150. package/bundled/locales/zh-CN/skills/claude-code/checkin-assistant/SKILL.md +407 -0
  151. package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/SKILL.md +154 -0
  152. package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/checkin-checklist.md +257 -0
  153. package/bundled/locales/zh-CN/skills/claude-code/code-review-assistant/review-checklist.md +246 -0
  154. package/bundled/locales/zh-CN/skills/claude-code/commands/bdd.md +142 -0
  155. package/bundled/locales/zh-CN/skills/claude-code/commands/methodology.md +274 -0
  156. package/bundled/locales/zh-CN/skills/claude-code/commit-standards/SKILL.md +191 -0
  157. package/bundled/locales/zh-CN/skills/claude-code/commit-standards/conventional-commits.md +264 -0
  158. package/bundled/locales/zh-CN/skills/claude-code/commit-standards/language-options.md +172 -0
  159. package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/SKILL.md +421 -0
  160. package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/documentation-structure.md +357 -0
  161. package/bundled/locales/zh-CN/skills/claude-code/documentation-guide/readme-template.md +412 -0
  162. package/bundled/locales/zh-CN/skills/claude-code/error-code-guide/SKILL.md +269 -0
  163. package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/SKILL.md +218 -0
  164. package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/branch-naming.md +220 -0
  165. package/bundled/locales/zh-CN/skills/claude-code/git-workflow-guide/git-workflow.md +321 -0
  166. package/bundled/locales/zh-CN/skills/claude-code/logging-guide/SKILL.md +285 -0
  167. package/bundled/locales/zh-CN/skills/claude-code/methodology-system/SKILL.md +131 -0
  168. package/bundled/locales/zh-CN/skills/claude-code/methodology-system/create-methodology.md +350 -0
  169. package/bundled/locales/zh-CN/skills/claude-code/methodology-system/runtime.md +279 -0
  170. package/bundled/locales/zh-CN/skills/claude-code/project-structure-guide/SKILL.md +143 -0
  171. package/bundled/locales/zh-CN/skills/claude-code/project-structure-guide/language-patterns.md +271 -0
  172. package/bundled/locales/zh-CN/skills/claude-code/refactoring-assistant/SKILL.md +162 -0
  173. package/bundled/locales/zh-CN/skills/claude-code/release-standards/SKILL.md +191 -0
  174. package/bundled/locales/zh-CN/skills/claude-code/release-standards/changelog-format.md +247 -0
  175. package/bundled/locales/zh-CN/skills/claude-code/release-standards/release-workflow.md +345 -0
  176. package/bundled/locales/zh-CN/skills/claude-code/release-standards/semantic-versioning.md +250 -0
  177. package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/SKILL.md +227 -0
  178. package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/requirement-checklist.md +325 -0
  179. package/bundled/locales/zh-CN/skills/claude-code/requirement-assistant/requirement-writing.md +399 -0
  180. package/bundled/locales/zh-CN/skills/claude-code/spec-driven-dev/SKILL.md +243 -0
  181. package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/SKILL.md +332 -0
  182. package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/language-examples.md +639 -0
  183. package/bundled/locales/zh-CN/skills/claude-code/tdd-assistant/tdd-workflow.md +486 -0
  184. package/bundled/locales/zh-CN/skills/claude-code/test-coverage-assistant/SKILL.md +282 -0
  185. package/bundled/locales/zh-CN/skills/claude-code/testing-guide/SKILL.md +234 -0
  186. package/bundled/locales/zh-CN/skills/claude-code/testing-guide/testing-pyramid.md +448 -0
  187. package/bundled/locales/zh-CN/skills/cline/README.md +58 -0
  188. package/bundled/locales/zh-CN/skills/copilot/README.md +61 -0
  189. package/bundled/locales/zh-CN/skills/copilot/copilot-instructions.md +79 -0
  190. package/bundled/locales/zh-CN/skills/cursor/README.md +58 -0
  191. package/bundled/locales/zh-CN/skills/windsurf/README.md +59 -0
  192. package/bundled/locales/zh-TW/CHANGELOG.md +707 -0
  193. package/bundled/locales/zh-TW/CLAUDE.md +213 -0
  194. package/bundled/locales/zh-TW/MAINTENANCE.md +683 -0
  195. package/bundled/locales/zh-TW/README.md +687 -0
  196. package/bundled/locales/zh-TW/STANDARDS-MAPPING.md +177 -0
  197. package/bundled/locales/zh-TW/adoption/ADOPTION-GUIDE.md +392 -0
  198. package/bundled/locales/zh-TW/adoption/STATIC-DYNAMIC-GUIDE.md +299 -0
  199. package/bundled/locales/zh-TW/adoption/checklists/enterprise.md +332 -0
  200. package/bundled/locales/zh-TW/adoption/checklists/minimal.md +141 -0
  201. package/bundled/locales/zh-TW/adoption/checklists/recommended.md +272 -0
  202. package/bundled/locales/zh-TW/ai/MAINTENANCE.md +754 -0
  203. package/bundled/locales/zh-TW/ai/options/changelog/auto-generated.ai.yaml +76 -0
  204. package/bundled/locales/zh-TW/ai/options/changelog/keep-a-changelog.ai.yaml +99 -0
  205. package/bundled/locales/zh-TW/ai/options/code-review/automated-review.ai.yaml +120 -0
  206. package/bundled/locales/zh-TW/ai/options/code-review/pair-programming.ai.yaml +109 -0
  207. package/bundled/locales/zh-TW/ai/options/code-review/pr-review.ai.yaml +104 -0
  208. package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +105 -0
  209. package/bundled/locales/zh-TW/ai/options/commit-message/english.ai.yaml +79 -0
  210. package/bundled/locales/zh-TW/ai/options/commit-message/traditional-chinese.ai.yaml +100 -0
  211. package/bundled/locales/zh-TW/ai/options/documentation/api-docs.ai.yaml +140 -0
  212. package/bundled/locales/zh-TW/ai/options/documentation/markdown-docs.ai.yaml +89 -0
  213. package/bundled/locales/zh-TW/ai/options/documentation/wiki-style.ai.yaml +119 -0
  214. package/bundled/locales/zh-TW/ai/options/git-workflow/gitflow.ai.yaml +133 -0
  215. package/bundled/locales/zh-TW/ai/options/git-workflow/github-flow.ai.yaml +73 -0
  216. package/bundled/locales/zh-TW/ai/options/git-workflow/merge-commit.ai.yaml +88 -0
  217. package/bundled/locales/zh-TW/ai/options/git-workflow/rebase-ff.ai.yaml +113 -0
  218. package/bundled/locales/zh-TW/ai/options/git-workflow/squash-merge.ai.yaml +85 -0
  219. package/bundled/locales/zh-TW/ai/options/git-workflow/trunk-based.ai.yaml +117 -0
  220. package/bundled/locales/zh-TW/ai/options/project-structure/dotnet.ai.yaml +108 -0
  221. package/bundled/locales/zh-TW/ai/options/project-structure/go.ai.yaml +115 -0
  222. package/bundled/locales/zh-TW/ai/options/project-structure/java.ai.yaml +113 -0
  223. package/bundled/locales/zh-TW/ai/options/project-structure/kotlin.ai.yaml +123 -0
  224. package/bundled/locales/zh-TW/ai/options/project-structure/nodejs.ai.yaml +101 -0
  225. package/bundled/locales/zh-TW/ai/options/project-structure/php.ai.yaml +147 -0
  226. package/bundled/locales/zh-TW/ai/options/project-structure/python.ai.yaml +116 -0
  227. package/bundled/locales/zh-TW/ai/options/project-structure/ruby.ai.yaml +140 -0
  228. package/bundled/locales/zh-TW/ai/options/project-structure/rust.ai.yaml +117 -0
  229. package/bundled/locales/zh-TW/ai/options/project-structure/swift.ai.yaml +143 -0
  230. package/bundled/locales/zh-TW/ai/options/testing/contract-testing.ai.yaml +254 -0
  231. package/bundled/locales/zh-TW/ai/options/testing/e2e-testing.ai.yaml +116 -0
  232. package/bundled/locales/zh-TW/ai/options/testing/industry-pyramid.ai.yaml +144 -0
  233. package/bundled/locales/zh-TW/ai/options/testing/integration-testing.ai.yaml +90 -0
  234. package/bundled/locales/zh-TW/ai/options/testing/istqb-framework.ai.yaml +108 -0
  235. package/bundled/locales/zh-TW/ai/options/testing/performance-testing.ai.yaml +272 -0
  236. package/bundled/locales/zh-TW/ai/options/testing/security-testing.ai.yaml +160 -0
  237. package/bundled/locales/zh-TW/ai/options/testing/system-testing.ai.yaml +101 -0
  238. package/bundled/locales/zh-TW/ai/options/testing/unit-testing.ai.yaml +82 -0
  239. package/bundled/locales/zh-TW/ai/standards/anti-hallucination.ai.yaml +145 -0
  240. package/bundled/locales/zh-TW/ai/standards/changelog.ai.yaml +146 -0
  241. package/bundled/locales/zh-TW/ai/standards/checkin-standards.ai.yaml +170 -0
  242. package/bundled/locales/zh-TW/ai/standards/code-review.ai.yaml +148 -0
  243. package/bundled/locales/zh-TW/ai/standards/commit-message.ai.yaml +175 -0
  244. package/bundled/locales/zh-TW/ai/standards/documentation-structure.ai.yaml +124 -0
  245. package/bundled/locales/zh-TW/ai/standards/documentation-writing-standards.ai.yaml +190 -0
  246. package/bundled/locales/zh-TW/ai/standards/error-codes.ai.yaml +139 -0
  247. package/bundled/locales/zh-TW/ai/standards/git-workflow.ai.yaml +95 -0
  248. package/bundled/locales/zh-TW/ai/standards/logging.ai.yaml +128 -0
  249. package/bundled/locales/zh-TW/ai/standards/project-structure.ai.yaml +134 -0
  250. package/bundled/locales/zh-TW/ai/standards/spec-driven-development.ai.yaml +169 -0
  251. package/bundled/locales/zh-TW/ai/standards/test-completeness-dimensions.ai.yaml +220 -0
  252. package/bundled/locales/zh-TW/ai/standards/testing.ai.yaml +137 -0
  253. package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +211 -0
  254. package/bundled/locales/zh-TW/core/ai-instruction-standards.md +213 -0
  255. package/bundled/locales/zh-TW/core/anti-hallucination.md +691 -0
  256. package/bundled/locales/zh-TW/core/changelog-standards.md +564 -0
  257. package/bundled/locales/zh-TW/core/checkin-standards.md +943 -0
  258. package/bundled/locales/zh-TW/core/code-review-checklist.md +693 -0
  259. package/bundled/locales/zh-TW/core/commit-message-guide.md +809 -0
  260. package/bundled/locales/zh-TW/core/documentation-structure.md +1125 -0
  261. package/bundled/locales/zh-TW/core/documentation-writing-standards.md +495 -0
  262. package/bundled/locales/zh-TW/core/error-code-standards.md +384 -0
  263. package/bundled/locales/zh-TW/core/git-workflow.md +860 -0
  264. package/bundled/locales/zh-TW/core/logging-standards.md +325 -0
  265. package/bundled/locales/zh-TW/core/project-structure.md +362 -0
  266. package/bundled/locales/zh-TW/core/refactoring-standards.md +642 -0
  267. package/bundled/locales/zh-TW/core/spec-driven-development.md +215 -0
  268. package/bundled/locales/zh-TW/core/test-completeness-dimensions.md +544 -0
  269. package/bundled/locales/zh-TW/core/test-driven-development.md +1004 -0
  270. package/bundled/locales/zh-TW/core/testing-standards.md +2158 -0
  271. package/bundled/locales/zh-TW/core/versioning.md +909 -0
  272. package/bundled/locales/zh-TW/docs/AI-AGENT-ROADMAP.md +303 -0
  273. package/bundled/locales/zh-TW/docs/CLI-INIT-OPTIONS.md +990 -0
  274. package/bundled/locales/zh-TW/docs/OPERATION-WORKFLOW.md +1064 -0
  275. package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +333 -0
  276. package/bundled/locales/zh-TW/docs/WINDOWS-GUIDE.md +215 -0
  277. package/bundled/locales/zh-TW/integrations/codex/AGENTS.md +115 -0
  278. package/bundled/locales/zh-TW/integrations/codex/README.md +113 -0
  279. package/bundled/locales/zh-TW/integrations/gemini-cli/GEMINI.md +102 -0
  280. package/bundled/locales/zh-TW/integrations/gemini-cli/README.md +140 -0
  281. package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +269 -0
  282. package/bundled/locales/zh-TW/integrations/github-copilot/README.md +167 -0
  283. package/bundled/locales/zh-TW/integrations/github-copilot/copilot-instructions.md +263 -0
  284. package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +192 -0
  285. package/bundled/locales/zh-TW/integrations/google-antigravity/INSTRUCTIONS.md +61 -0
  286. package/bundled/locales/zh-TW/integrations/google-antigravity/README.md +84 -0
  287. package/bundled/locales/zh-TW/integrations/opencode/AGENTS.md +111 -0
  288. package/bundled/locales/zh-TW/integrations/opencode/README.md +176 -0
  289. package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +396 -0
  290. package/bundled/locales/zh-TW/integrations/openspec/AGENTS.md +301 -0
  291. package/bundled/locales/zh-TW/integrations/openspec/README.md +43 -0
  292. package/bundled/locales/zh-TW/integrations/spec-kit/AGENTS.md +184 -0
  293. package/bundled/locales/zh-TW/integrations/spec-kit/README.md +43 -0
  294. package/bundled/locales/zh-TW/options/commit-message/bilingual.md +161 -0
  295. package/bundled/locales/zh-TW/options/commit-message/english.md +137 -0
  296. package/bundled/locales/zh-TW/options/commit-message/traditional-chinese.md +162 -0
  297. package/bundled/locales/zh-TW/options/git-workflow/gitflow.md +147 -0
  298. package/bundled/locales/zh-TW/options/git-workflow/github-flow.md +124 -0
  299. package/bundled/locales/zh-TW/options/git-workflow/merge-commit.md +124 -0
  300. package/bundled/locales/zh-TW/options/git-workflow/rebase-ff.md +160 -0
  301. package/bundled/locales/zh-TW/options/git-workflow/squash-merge.md +117 -0
  302. package/bundled/locales/zh-TW/options/git-workflow/trunk-based.md +125 -0
  303. package/bundled/locales/zh-TW/options/project-structure/dotnet.md +183 -0
  304. package/bundled/locales/zh-TW/options/project-structure/go.md +226 -0
  305. package/bundled/locales/zh-TW/options/project-structure/java.md +213 -0
  306. package/bundled/locales/zh-TW/options/project-structure/nodejs.md +185 -0
  307. package/bundled/locales/zh-TW/options/project-structure/python.md +229 -0
  308. package/bundled/locales/zh-TW/options/testing/e2e-testing.md +207 -0
  309. package/bundled/locales/zh-TW/options/testing/integration-testing.md +230 -0
  310. package/bundled/locales/zh-TW/options/testing/system-testing.md +183 -0
  311. package/bundled/locales/zh-TW/options/testing/unit-testing.md +165 -0
  312. package/bundled/locales/zh-TW/skills/INTEGRATION-GUIDE.md +218 -0
  313. package/bundled/locales/zh-TW/skills/README.md +132 -0
  314. package/bundled/locales/zh-TW/skills/_shared/README.md +68 -0
  315. package/bundled/locales/zh-TW/skills/claude-code/CONTRIBUTING.template.md +151 -0
  316. package/bundled/locales/zh-TW/skills/claude-code/README.md +174 -0
  317. package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
  318. package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +223 -0
  319. package/bundled/locales/zh-TW/skills/claude-code/ai-collaboration-standards/certainty-labels.md +132 -0
  320. package/bundled/locales/zh-TW/skills/claude-code/changelog-guide/SKILL.md +237 -0
  321. package/bundled/locales/zh-TW/skills/claude-code/checkin-assistant/SKILL.md +407 -0
  322. package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/SKILL.md +154 -0
  323. package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/checkin-checklist.md +257 -0
  324. package/bundled/locales/zh-TW/skills/claude-code/code-review-assistant/review-checklist.md +246 -0
  325. package/bundled/locales/zh-TW/skills/claude-code/commands/bdd.md +142 -0
  326. package/bundled/locales/zh-TW/skills/claude-code/commands/methodology.md +274 -0
  327. package/bundled/locales/zh-TW/skills/claude-code/commit-standards/SKILL.md +191 -0
  328. package/bundled/locales/zh-TW/skills/claude-code/commit-standards/conventional-commits.md +264 -0
  329. package/bundled/locales/zh-TW/skills/claude-code/commit-standards/language-options.md +172 -0
  330. package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/SKILL.md +421 -0
  331. package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/documentation-structure.md +357 -0
  332. package/bundled/locales/zh-TW/skills/claude-code/documentation-guide/readme-template.md +412 -0
  333. package/bundled/locales/zh-TW/skills/claude-code/error-code-guide/SKILL.md +269 -0
  334. package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/SKILL.md +218 -0
  335. package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/branch-naming.md +220 -0
  336. package/bundled/locales/zh-TW/skills/claude-code/git-workflow-guide/git-workflow.md +321 -0
  337. package/bundled/locales/zh-TW/skills/claude-code/logging-guide/SKILL.md +285 -0
  338. package/bundled/locales/zh-TW/skills/claude-code/methodology-system/SKILL.md +131 -0
  339. package/bundled/locales/zh-TW/skills/claude-code/methodology-system/create-methodology.md +350 -0
  340. package/bundled/locales/zh-TW/skills/claude-code/methodology-system/runtime.md +279 -0
  341. package/bundled/locales/zh-TW/skills/claude-code/project-structure-guide/SKILL.md +143 -0
  342. package/bundled/locales/zh-TW/skills/claude-code/project-structure-guide/language-patterns.md +271 -0
  343. package/bundled/locales/zh-TW/skills/claude-code/refactoring-assistant/SKILL.md +162 -0
  344. package/bundled/locales/zh-TW/skills/claude-code/release-standards/SKILL.md +191 -0
  345. package/bundled/locales/zh-TW/skills/claude-code/release-standards/changelog-format.md +247 -0
  346. package/bundled/locales/zh-TW/skills/claude-code/release-standards/release-workflow.md +345 -0
  347. package/bundled/locales/zh-TW/skills/claude-code/release-standards/semantic-versioning.md +250 -0
  348. package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/SKILL.md +227 -0
  349. package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/requirement-checklist.md +325 -0
  350. package/bundled/locales/zh-TW/skills/claude-code/requirement-assistant/requirement-writing.md +399 -0
  351. package/bundled/locales/zh-TW/skills/claude-code/spec-driven-dev/SKILL.md +243 -0
  352. package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/SKILL.md +332 -0
  353. package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/language-examples.md +639 -0
  354. package/bundled/locales/zh-TW/skills/claude-code/tdd-assistant/tdd-workflow.md +486 -0
  355. package/bundled/locales/zh-TW/skills/claude-code/test-coverage-assistant/SKILL.md +282 -0
  356. package/bundled/locales/zh-TW/skills/claude-code/testing-guide/SKILL.md +234 -0
  357. package/bundled/locales/zh-TW/skills/claude-code/testing-guide/testing-pyramid.md +448 -0
  358. package/bundled/locales/zh-TW/skills/cline/README.md +58 -0
  359. package/bundled/locales/zh-TW/skills/copilot/README.md +61 -0
  360. package/bundled/locales/zh-TW/skills/copilot/copilot-instructions.md +79 -0
  361. package/bundled/locales/zh-TW/skills/cursor/README.md +58 -0
  362. package/bundled/locales/zh-TW/skills/windsurf/README.md +59 -0
  363. package/bundled/skills/claude-code/CONTRIBUTING.template.md +141 -0
  364. package/bundled/skills/claude-code/README.md +196 -0
  365. package/bundled/skills/claude-code/ai/standards/checkin.ai.yaml +21 -0
  366. package/bundled/skills/claude-code/ai/standards/commit.ai.yaml +20 -0
  367. package/bundled/skills/claude-code/ai/standards/refactoring.ai.yaml +34 -0
  368. package/bundled/skills/claude-code/ai/standards/testing.ai.yaml +41 -0
  369. package/bundled/skills/claude-code/ai-collaboration-standards/SKILL.md +175 -0
  370. package/bundled/skills/claude-code/ai-collaboration-standards/anti-hallucination.md +215 -0
  371. package/bundled/skills/claude-code/ai-collaboration-standards/certainty-labels.md +124 -0
  372. package/bundled/skills/claude-code/changelog-guide/SKILL.md +232 -0
  373. package/bundled/skills/claude-code/checkin-assistant/SKILL.md +402 -0
  374. package/bundled/skills/claude-code/code-review-assistant/SKILL.md +220 -0
  375. package/bundled/skills/claude-code/code-review-assistant/checkin-checklist.md +249 -0
  376. package/bundled/skills/claude-code/code-review-assistant/review-checklist.md +238 -0
  377. package/bundled/skills/claude-code/commands/README.md +78 -0
  378. package/bundled/skills/claude-code/commands/bdd.md +142 -0
  379. package/bundled/skills/claude-code/commands/changelog.md +57 -0
  380. package/bundled/skills/claude-code/commands/check.md +91 -0
  381. package/bundled/skills/claude-code/commands/commit.md +48 -0
  382. package/bundled/skills/claude-code/commands/config.md +97 -0
  383. package/bundled/skills/claude-code/commands/coverage.md +58 -0
  384. package/bundled/skills/claude-code/commands/docs.md +75 -0
  385. package/bundled/skills/claude-code/commands/init.md +88 -0
  386. package/bundled/skills/claude-code/commands/methodology.md +268 -0
  387. package/bundled/skills/claude-code/commands/release.md +50 -0
  388. package/bundled/skills/claude-code/commands/requirement.md +54 -0
  389. package/bundled/skills/claude-code/commands/review.md +50 -0
  390. package/bundled/skills/claude-code/commands/spec.md +69 -0
  391. package/bundled/skills/claude-code/commands/tdd.md +86 -0
  392. package/bundled/skills/claude-code/commands/update.md +122 -0
  393. package/bundled/skills/claude-code/commit-standards/SKILL.md +249 -0
  394. package/bundled/skills/claude-code/commit-standards/conventional-commits.md +256 -0
  395. package/bundled/skills/claude-code/commit-standards/language-options.md +164 -0
  396. package/bundled/skills/claude-code/documentation-guide/SKILL.md +416 -0
  397. package/bundled/skills/claude-code/documentation-guide/documentation-structure.md +349 -0
  398. package/bundled/skills/claude-code/documentation-guide/readme-template.md +404 -0
  399. package/bundled/skills/claude-code/error-code-guide/SKILL.md +264 -0
  400. package/bundled/skills/claude-code/git-workflow-guide/SKILL.md +226 -0
  401. package/bundled/skills/claude-code/git-workflow-guide/branch-naming.md +212 -0
  402. package/bundled/skills/claude-code/git-workflow-guide/git-workflow.md +313 -0
  403. package/bundled/skills/claude-code/logging-guide/SKILL.md +280 -0
  404. package/bundled/skills/claude-code/methodology-system/SKILL.md +215 -0
  405. package/bundled/skills/claude-code/methodology-system/create-methodology.md +450 -0
  406. package/bundled/skills/claude-code/methodology-system/runtime.md +271 -0
  407. package/bundled/skills/claude-code/project-structure-guide/SKILL.md +143 -0
  408. package/bundled/skills/claude-code/project-structure-guide/language-patterns.md +263 -0
  409. package/bundled/skills/claude-code/refactoring-assistant/SKILL.md +205 -0
  410. package/bundled/skills/claude-code/release-standards/SKILL.md +191 -0
  411. package/bundled/skills/claude-code/release-standards/changelog-format.md +239 -0
  412. package/bundled/skills/claude-code/release-standards/release-workflow.md +337 -0
  413. package/bundled/skills/claude-code/release-standards/semantic-versioning.md +242 -0
  414. package/bundled/skills/claude-code/requirement-assistant/SKILL.md +222 -0
  415. package/bundled/skills/claude-code/requirement-assistant/requirement-checklist.md +317 -0
  416. package/bundled/skills/claude-code/requirement-assistant/requirement-writing.md +391 -0
  417. package/bundled/skills/claude-code/spec-driven-dev/SKILL.md +238 -0
  418. package/bundled/skills/claude-code/tdd-assistant/SKILL.md +384 -0
  419. package/bundled/skills/claude-code/tdd-assistant/language-examples.md +1276 -0
  420. package/bundled/skills/claude-code/tdd-assistant/tdd-workflow.md +659 -0
  421. package/bundled/skills/claude-code/test-coverage-assistant/SKILL.md +277 -0
  422. package/bundled/skills/claude-code/testing-guide/SKILL.md +317 -0
  423. package/bundled/skills/claude-code/testing-guide/testing-pyramid.md +440 -0
  424. package/package.json +4 -2
  425. package/src/commands/check.js +38 -6
  426. package/src/commands/init.js +20 -6
  427. package/src/commands/list.js +7 -2
  428. package/src/commands/skills.js +0 -2
  429. package/src/commands/update.js +271 -0
  430. package/src/i18n/messages.js +161 -11
  431. package/src/utils/copier.js +63 -10
  432. package/src/utils/skills-installer.js +47 -11
  433. package/standards-registry.json +6 -3
@@ -0,0 +1,636 @@
1
+ # Refactoring Standards
2
+
3
+ > **Language**: English | [繁體中文](../locales/zh-TW/core/refactoring-standards.md)
4
+
5
+ **Version**: 1.0.0
6
+ **Last Updated**: 2026-01-12
7
+ **Applicability**: All software projects undertaking code improvement initiatives
8
+
9
+ ---
10
+
11
+ ## Purpose
12
+
13
+ This standard defines comprehensive guidelines for code refactoring, covering everything from daily TDD refactoring cycles to large-scale legacy system modernization. It ensures that refactoring efforts are safe, measurable, and aligned with business objectives.
14
+
15
+ **Key Benefits**:
16
+ - Systematic approach to improving code quality
17
+ - Reduced risk of introducing bugs during refactoring
18
+ - Clear decision framework for refactor vs. rewrite
19
+ - Measurable outcomes and ROI tracking
20
+
21
+ ---
22
+
23
+ ## Table of Contents
24
+
25
+ 1. [Refactoring vs. Rewriting Decision Matrix](#refactoring-vs-rewriting-decision-matrix)
26
+ 2. [Refactoring Strategies by Scale](#refactoring-strategies-by-scale)
27
+ 3. [Legacy Code Strategies](#legacy-code-strategies)
28
+ 4. [Large-Scale Refactoring Patterns](#large-scale-refactoring-patterns)
29
+ 5. [Database Refactoring](#database-refactoring)
30
+ 6. [Safe Refactoring Workflow](#safe-refactoring-workflow)
31
+ 7. [Refactoring Metrics](#refactoring-metrics)
32
+ 8. [Team Collaboration](#team-collaboration)
33
+ 9. [Technical Debt Management](#technical-debt-management)
34
+ 10. [Related Standards](#related-standards)
35
+ 11. [References](#references)
36
+ 12. [Version History](#version-history)
37
+
38
+ ---
39
+
40
+ ## Refactoring vs. Rewriting Decision Matrix
41
+
42
+ Before starting any large refactoring effort, evaluate whether refactoring or rewriting is more appropriate.
43
+
44
+ ### Decision Flowchart
45
+
46
+ ```
47
+ ┌─────────────────────────────────────────────────────────────────┐
48
+ │ Refactor vs. Rewrite Decision Tree │
49
+ ├─────────────────────────────────────────────────────────────────┤
50
+ │ │
51
+ │ Is the code currently working in production? │
52
+ │ ├─ No → Consider rewrite (lower risk) │
53
+ │ └─ Yes ↓ │
54
+ │ │
55
+ │ Do you understand what the code does? │
56
+ │ ├─ No → Characterization tests first, then decide │
57
+ │ └─ Yes ↓ │
58
+ │ │
59
+ │ Is there adequate test coverage (>60%)? │
60
+ │ ├─ No → Add tests first, then decide │
61
+ │ └─ Yes ↓ │
62
+ │ │
63
+ │ Is the core architecture salvageable? │
64
+ │ ├─ No → Strangler Fig (gradual replacement) │
65
+ │ └─ Yes → Incremental Refactoring ✓ │
66
+ │ │
67
+ └─────────────────────────────────────────────────────────────────┘
68
+ ```
69
+
70
+ ### Comparison Matrix
71
+
72
+ | Factor | Favor Refactoring | Favor Rewriting |
73
+ |--------|-------------------|-----------------|
74
+ | **Codebase size** | Large, complex | Small, isolated |
75
+ | **Test coverage** | Good (>60%) | Poor or none |
76
+ | **Business continuity** | Critical | Can tolerate downtime |
77
+ | **Team knowledge** | Team understands code | No institutional knowledge |
78
+ | **Core architecture** | Sound, just messy | Fundamentally flawed |
79
+ | **Time pressure** | Tight deadlines | Flexible timeline |
80
+ | **Risk tolerance** | Low | Higher |
81
+
82
+ ### Warning: Second-System Effect
83
+
84
+ > "The second system is the most dangerous system a person ever designs." — Fred Brooks
85
+
86
+ When rewriting, teams often over-engineer. Avoid:
87
+ - Adding features not in the original
88
+ - Over-abstracting "for future flexibility"
89
+ - Ignoring lessons from the existing system
90
+
91
+ ---
92
+
93
+ ## Refactoring Strategies by Scale
94
+
95
+ ### Small-Scale: TDD Refactor Phase (Minutes)
96
+
97
+ Part of the Red-Green-Refactor cycle. See [Test-Driven Development](test-driven-development.md) for details.
98
+
99
+ **Characteristics**:
100
+ - Duration: 5-15 minutes
101
+ - Scope: Single method or class
102
+ - Tests: Must remain green
103
+
104
+ **Common techniques**:
105
+ - Extract Method
106
+ - Rename
107
+ - Inline Variable
108
+ - Replace Magic Number with Constant
109
+
110
+ ### Medium-Scale: Feature-Level Refactoring (Hours to Days)
111
+
112
+ Improving a specific feature or module without changing its external behavior.
113
+
114
+ **Characteristics**:
115
+ - Duration: Hours to days
116
+ - Scope: One feature or module
117
+ - Tests: Add characterization tests if missing
118
+
119
+ **Planning Checklist**:
120
+
121
+ ```
122
+ □ Define scope boundaries (what's in, what's out)
123
+ □ Identify all entry points to the module
124
+ □ Ensure test coverage > 80% for affected code
125
+ □ Plan incremental commits (each should be deployable)
126
+ □ Communicate with team (avoid merge conflicts)
127
+ ```
128
+
129
+ ### Large-Scale: Architecture-Level Refactoring (Weeks to Months)
130
+
131
+ Significant architectural changes like migrating from monolith to microservices.
132
+
133
+ **Characteristics**:
134
+ - Duration: Weeks to months
135
+ - Scope: Multiple modules or entire system
136
+ - Tests: Comprehensive integration tests required
137
+
138
+ **Patterns**: See [Large-Scale Refactoring Patterns](#large-scale-refactoring-patterns)
139
+
140
+ ---
141
+
142
+ ## Legacy Code Strategies
143
+
144
+ Based on Michael Feathers' "Working Effectively with Legacy Code".
145
+
146
+ ### The Legacy Code Dilemma
147
+
148
+ **Definition**: Legacy code = code without tests (regardless of age)
149
+
150
+ **The Dilemma**:
151
+ - To change code safely, we need tests
152
+ - To add tests, we often need to change code
153
+ - Changing code without tests is risky
154
+
155
+ **Solution**: Use safe techniques to add tests before making changes.
156
+
157
+ ### Characterization Tests
158
+
159
+ **Purpose**: Capture existing behavior (not verify correctness)
160
+
161
+ **Process**:
162
+
163
+ ```
164
+ 1. Call the code you want to understand
165
+ 2. Write an assertion you expect to FAIL
166
+ 3. Run the test and see what actually happens
167
+ 4. Update the assertion to match actual behavior
168
+ 5. Repeat until you've covered the behavior you need to change
169
+ ```
170
+
171
+ **Example**:
172
+
173
+ ```javascript
174
+ // Step 1: Initial (expected to fail)
175
+ test('calculateDiscount returns... something', () => {
176
+ const result = calculateDiscount(100, 'GOLD');
177
+ expect(result).toBe(0); // Guess - will probably fail
178
+ });
179
+
180
+ // Step 2: After running, update with actual value
181
+ test('calculateDiscount returns 15 for GOLD customers', () => {
182
+ const result = calculateDiscount(100, 'GOLD');
183
+ expect(result).toBe(15); // Actual behavior
184
+ });
185
+ ```
186
+
187
+ ### Finding Seams
188
+
189
+ **Definition**: A seam is a place where you can alter behavior without editing code.
190
+
191
+ | Seam Type | How It Works | Example |
192
+ |-----------|--------------|---------|
193
+ | **Object Seam** | Override via polymorphism | Inject test double via interface |
194
+ | **Preprocessing Seam** | Compile-time substitution | Conditional compilation, macros |
195
+ | **Link Seam** | Replace at link time | Dependency injection, module replacement |
196
+
197
+ ### Sprout and Wrap Techniques
198
+
199
+ | Technique | When to Use | How |
200
+ |-----------|-------------|-----|
201
+ | **Sprout Method** | Adding new logic to existing method | Create new method, call from old |
202
+ | **Sprout Class** | New logic needs to evolve independently | Create new class, reference from old |
203
+ | **Wrap Method** | Need to add behavior before/after | Rename original, create wrapper |
204
+ | **Wrap Class** | Decorate existing class | Decorator pattern |
205
+
206
+ **Principle**: New code uses TDD; legacy code stays untouched until tested.
207
+
208
+ ### Code Archaeology
209
+
210
+ Techniques for understanding undocumented code:
211
+
212
+ ```
213
+ 1. Scratch Refactoring
214
+ ├─ Refactor to understand, not to keep
215
+ ├─ Use git stash or branch
216
+ └─ Discard when done (git reset --hard)
217
+
218
+ 2. Trace Variable Flow
219
+ ├─ Follow data from input to output
220
+ ├─ Mark key transformation points
221
+ └─ Document as you discover
222
+
223
+ 3. Runtime Observation
224
+ ├─ Add temporary logging
225
+ ├─ Use debugger step-through
226
+ └─ Build mental model
227
+
228
+ 4. Git Archaeology
229
+ ├─ git log -p <file> (see all changes)
230
+ ├─ git blame (find original author)
231
+ └─ Search commit messages for context
232
+ ```
233
+
234
+ ---
235
+
236
+ ## Large-Scale Refactoring Patterns
237
+
238
+ ### Strangler Fig Pattern
239
+
240
+ **Use when**: Gradually replacing a legacy system
241
+
242
+ ```
243
+ ┌─────────────────────────────────────────────────────────────────┐
244
+ │ Strangler Fig Pattern │
245
+ ├─────────────────────────────────────────────────────────────────┤
246
+ │ │
247
+ │ Phase 1: INTERCEPT │
248
+ │ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
249
+ │ │ Request │────▶│ Facade │────▶│ Legacy (100%)│ │
250
+ │ └─────────┘ └─────────┘ └─────────────┘ │
251
+ │ │
252
+ │ Phase 2: MIGRATE │
253
+ │ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
254
+ │ │ Request │────▶│ Facade │──┬─▶│ New (Feature A)│ │
255
+ │ └─────────┘ └─────────┘ │ └─────────────┘ │
256
+ │ └─▶│ Legacy (Rest) │ │
257
+ │ └─────────────┘ │
258
+ │ │
259
+ │ Phase 3: COMPLETE │
260
+ │ ┌─────────┐ ┌─────────────┐ │
261
+ │ │ Request │────▶│ New (100%) │ [Legacy decommissioned] │
262
+ │ └─────────┘ └─────────────┘ │
263
+ │ │
264
+ └─────────────────────────────────────────────────────────────────┘
265
+ ```
266
+
267
+ **Checklist**:
268
+ - [ ] Identify interception point (API gateway, facade, proxy)
269
+ - [ ] Create event capture layer
270
+ - [ ] Implement first feature in new system
271
+ - [ ] Route traffic incrementally
272
+ - [ ] Monitor and compare results
273
+ - [ ] Decommission legacy component
274
+
275
+ ### Branch by Abstraction
276
+
277
+ **Use when**: Refactoring shared code without long-lived branches
278
+
279
+ ```
280
+ Step 1: Introduce Abstraction
281
+ Client → Abstraction (interface) → Old Implementation
282
+
283
+ Step 2: Add New Implementation
284
+ Client → Abstraction → Old Implementation
285
+ └─→ New Implementation (feature-toggled)
286
+
287
+ Step 3: Switch and Remove
288
+ Client → New Implementation
289
+ [Old Implementation removed]
290
+ ```
291
+
292
+ **Key Principles**:
293
+ - All changes on main/trunk (no long branches)
294
+ - Feature toggles control which implementation is active
295
+ - Both implementations can coexist during transition
296
+
297
+ ### Parallel Change (Expand-Migrate-Contract)
298
+
299
+ **Use when**: Changing interfaces used by multiple clients
300
+
301
+ ```
302
+ Phase 1: EXPAND
303
+ ├─ Add new field/method alongside old
304
+ ├─ New code uses new interface
305
+ └─ Old code still works
306
+
307
+ Phase 2: MIGRATE
308
+ ├─ Update all clients to use new interface
309
+ ├─ Verify all clients migrated
310
+ └─ Data migration (if needed)
311
+
312
+ Phase 3: CONTRACT
313
+ ├─ Remove old field/method
314
+ ├─ Clean up migration code
315
+ └─ Update documentation
316
+ ```
317
+
318
+ ---
319
+
320
+ ## Database Refactoring
321
+
322
+ ### Expand-Contract Pattern for Schema Changes
323
+
324
+ ```
325
+ ┌─────────────────────────────────────────────────────────────────┐
326
+ │ Database Refactoring (Expand-Contract) │
327
+ ├─────────────────────────────────────────────────────────────────┤
328
+ │ │
329
+ │ Phase 1: EXPAND (Add new, keep old) │
330
+ │ ├─ Add new column/table │
331
+ │ ├─ Application writes to BOTH old and new │
332
+ │ └─ Safe to rollback at this point │
333
+ │ │
334
+ │ Phase 2: MIGRATE (Move data) │
335
+ │ ├─ Copy data from old to new │
336
+ │ ├─ Verify data consistency │
337
+ │ └─ Application starts reading from new │
338
+ │ │
339
+ │ Phase 3: CONTRACT (Remove old) │
340
+ │ ├─ Confirm old column/table no longer read │
341
+ │ ├─ Remove old column/table │
342
+ │ └─ Clean up dual-write code │
343
+ │ │
344
+ └─────────────────────────────────────────────────────────────────┘
345
+ ```
346
+
347
+ ### Common Schema Refactoring Scenarios
348
+
349
+ | Scenario | Strategy | Risk Level |
350
+ |----------|----------|------------|
351
+ | **Rename column** | Add new → Migrate → Drop old | Medium |
352
+ | **Split table** | New table + FK → Migrate → Adjust app | High |
353
+ | **Merge tables** | New table → Merge data → Switch app | High |
354
+ | **Change data type** | New column → Convert → Switch app | Medium |
355
+ | **Add NOT NULL** | Fill defaults → Add constraint | Low |
356
+
357
+ ### Database Migration Safety Checklist
358
+
359
+ ```
360
+ Pre-Migration:
361
+ □ Full backup completed
362
+ □ Migration script tested in staging
363
+ □ Rollback script prepared
364
+ □ Migration time estimated (consider data volume)
365
+ □ Maintenance window communicated
366
+
367
+ During Migration:
368
+ □ Monitor database performance
369
+ □ Verify data integrity incrementally
370
+ □ Application health checks passing
371
+
372
+ Post-Migration:
373
+ □ Data consistency verification
374
+ □ Application functionality verification
375
+ □ Performance baseline comparison
376
+ □ Backup retained for rollback period
377
+ ```
378
+
379
+ ### Zero-Downtime Migration Techniques
380
+
381
+ | Technique | Description | Use Case |
382
+ |-----------|-------------|----------|
383
+ | **Online Schema Change** | pt-osc, gh-ost | MySQL large table changes |
384
+ | **Blue-Green Database** | Dual database switchover | High availability requirements |
385
+ | **Shadow Write** | Write to both DBs, compare | Verify migration correctness |
386
+ | **Feature Flag** | Control read source | Gradual cutover |
387
+
388
+ ---
389
+
390
+ ## Safe Refactoring Workflow
391
+
392
+ ### Before Refactoring
393
+
394
+ ```
395
+ □ Define success criteria (measurable)
396
+ □ Ensure adequate test coverage (>80% recommended)
397
+ □ Commit/stash current work (clean working directory)
398
+ □ Create feature branch (or work on trunk with toggles)
399
+ □ Communicate with team to avoid conflicts
400
+ ```
401
+
402
+ ### During Refactoring
403
+
404
+ ```
405
+ □ Make ONE small change at a time
406
+ □ Run tests after EVERY change
407
+ □ If tests fail, IMMEDIATELY revert
408
+ □ Commit frequently (every passing test is a save point)
409
+ □ Never add new functionality while refactoring
410
+ ```
411
+
412
+ ### After Refactoring
413
+
414
+ ```
415
+ □ All tests pass (same as before)
416
+ □ Code is measurably better (complexity, duplication, etc.)
417
+ □ Documentation updated if needed
418
+ □ Team review completed
419
+ □ No new functionality added
420
+ ```
421
+
422
+ ---
423
+
424
+ ## Refactoring Metrics
425
+
426
+ ### Code Quality Indicators
427
+
428
+ | Metric | Measurement | Target |
429
+ |--------|-------------|--------|
430
+ | **Cyclomatic Complexity** | Static analysis tools | < 10 per function |
431
+ | **Cognitive Complexity** | SonarQube, etc. | Lower is better |
432
+ | **Coupling** | Dependencies between modules | Reduce |
433
+ | **Cohesion** | LCOM metric | Increase |
434
+ | **Code Duplication** | Duplicate code percentage | < 3% |
435
+ | **Lines of Code** | Reference only | Fewer ≠ always better |
436
+
437
+ ### Test Quality Indicators
438
+
439
+ | Metric | Target | Notes |
440
+ |--------|--------|-------|
441
+ | **Test Coverage** | ≥ 80% | Don't decrease during refactoring |
442
+ | **Test Speed** | Faster | Refactoring should improve testability |
443
+ | **Flaky Test Count** | Decrease | Stability improvement |
444
+
445
+ ### Operational Indicators (DORA Metrics)
446
+
447
+ | Metric | Measurement | Expected Improvement |
448
+ |--------|-------------|----------------------|
449
+ | **Deployment Frequency** | CI/CD records | Increase (maintainability improved) |
450
+ | **Change Failure Rate** | Rollback count | Decrease |
451
+ | **Mean Time to Recovery** | Incident records | Decrease |
452
+ | **Lead Time** | Commit to deploy | Decrease |
453
+
454
+ ### Team Efficiency Indicators
455
+
456
+ | Metric | Measurement | Notes |
457
+ |--------|-------------|-------|
458
+ | **Onboarding Time** | New hire ramp-up | Shorter = better readability |
459
+ | **PR Review Time** | Git records | Shorter = better understandability |
460
+ | **Bug Fix Time** | Issue tracking | Shorter = better maintainability |
461
+
462
+ ### Refactoring ROI Framework
463
+
464
+ ```
465
+ Cost:
466
+ ├─ Development time × hourly rate
467
+ ├─ Testing time
468
+ ├─ Deployment risk cost
469
+ └─ Opportunity cost (features not built)
470
+
471
+ Benefits:
472
+ ├─ Reduced maintenance time × future years
473
+ ├─ Reduced bugs × fix cost
474
+ ├─ Faster feature development
475
+ └─ Lower employee turnover cost
476
+ ```
477
+
478
+ ---
479
+
480
+ ## Team Collaboration
481
+
482
+ ### Refactoring Project Kickoff
483
+
484
+ ```
485
+ Kickoff Meeting Agenda:
486
+ 1. Scope Definition
487
+ ├─ What modules/files are in scope
488
+ └─ What is explicitly excluded
489
+
490
+ 2. Success Criteria Alignment
491
+ ├─ Quantitative goals (complexity reduction X%)
492
+ └─ Functional goals (behavior unchanged)
493
+
494
+ 3. Work Division
495
+ ├─ By module (vertical slicing)
496
+ └─ By layer (horizontal slicing)
497
+
498
+ 4. Risk Assessment
499
+ ├─ Highest-risk areas
500
+ └─ Rollback strategy
501
+ ```
502
+
503
+ ### Division Strategies
504
+
505
+ | Strategy | Use When | Caution |
506
+ |----------|----------|---------|
507
+ | **Vertical Slicing** | Independent modules | Ensure interfaces unchanged |
508
+ | **Horizontal Slicing** | Cross-module refactoring (e.g., naming conventions) | Strict synchronization needed |
509
+ | **Strangler Division** | Large system replacement | One person per Strangler slice |
510
+ | **Mob Programming** | Core/high-risk areas | Entire team, reduces risk |
511
+
512
+ ### Communication Mechanisms
513
+
514
+ ```
515
+ Daily Communication:
516
+ ├─ Sync refactoring progress in standup
517
+ ├─ Shared Refactoring Board (Kanban)
518
+ └─ Dedicated channel (#refactoring-xxx)
519
+
520
+ PR Standards:
521
+ ├─ [Refactor] prefix in title
522
+ ├─ Explain what changed and why
523
+ ├─ Include before/after complexity comparison
524
+ └─ Require Characterization Tests for legacy code
525
+
526
+ Conflict Resolution:
527
+ ├─ Small scope: Resolve immediately
528
+ ├─ Medium scope: Daily sync meeting
529
+ └─ Large scope: Consider Branch by Abstraction
530
+ ```
531
+
532
+ ### PR Size Guidelines
533
+
534
+ | Size | Lines Changed | Review Time |
535
+ |------|---------------|-------------|
536
+ | Small | < 200 | < 30 min |
537
+ | Medium | 200-500 | < 1 hour |
538
+ | Large | > 500 | **Should be split** |
539
+
540
+ **Principle**: Multiple small PRs > One large PR
541
+
542
+ ---
543
+
544
+ ## Technical Debt Management
545
+
546
+ ### Technical Debt Quadrant
547
+
548
+ Based on Martin Fowler's Technical Debt Quadrant:
549
+
550
+ ```
551
+ Deliberate
552
+
553
+ ┌───────────────┼───────────────┐
554
+ │ │ │
555
+ │ Prudent │ Reckless │
556
+ │ "We know │ "We don't │
557
+ │ this is │ have time │
558
+ │ debt" │ for design" │
559
+ │ │ │
560
+ Prudent ├───────────────┼───────────────┤ Reckless
561
+ │ │ │
562
+ │ Prudent │ Reckless │
563
+ │ "Now we │ "What's │
564
+ │ know how │ layering?" │
565
+ │ we should │ │
566
+ │ have done it"│ │
567
+ │ │ │
568
+ └───────────────┼───────────────┘
569
+
570
+ Inadvertent
571
+ ```
572
+
573
+ ### Debt Prioritization
574
+
575
+ | Priority | Criteria | Action |
576
+ |----------|----------|--------|
577
+ | **High** | Blocks development, causes frequent bugs | Address immediately |
578
+ | **Medium** | Slows development, increases complexity | Plan for next sprint |
579
+ | **Low** | Minor annoyance, isolated impact | Address opportunistically |
580
+
581
+ ### Tracking Technical Debt
582
+
583
+ ```
584
+ For each debt item, record:
585
+ ├─ Description: What is the issue?
586
+ ├─ Impact: How does it affect development?
587
+ ├─ Estimated Effort: How long to fix?
588
+ ├─ Risk if Ignored: What happens if not addressed?
589
+ └─ Related Code: Links to affected files/modules
590
+ ```
591
+
592
+ ---
593
+
594
+ ## Related Standards
595
+
596
+ - [Test-Driven Development](test-driven-development.md) - TDD cycle including refactoring phase
597
+ - [Code Review Checklist](code-review-checklist.md) - Refactoring PR review guidelines
598
+ - [Commit Message Guide](commit-message-guide.md) - `refactor` commit type
599
+ - [Code Check-in Standards](checkin-standards.md) - Pre-commit requirements
600
+
601
+ ---
602
+
603
+ ## References
604
+
605
+ ### Books
606
+
607
+ - Martin Fowler - "Refactoring: Improving the Design of Existing Code" (2nd Edition, 2018)
608
+ - Michael Feathers - "Working Effectively with Legacy Code" (2004)
609
+ - Joshua Kerievsky - "Refactoring to Patterns" (2004)
610
+
611
+ ### Articles
612
+
613
+ - Martin Fowler - [Strangler Fig Application](https://martinfowler.com/bliki/StranglerFigApplication.html)
614
+ - Martin Fowler - [Branch by Abstraction](https://martinfowler.com/bliki/BranchByAbstraction.html)
615
+ - Pete Hodgson - [Feature Toggles](https://martinfowler.com/articles/feature-toggles.html)
616
+ - Martin Fowler - [Technical Debt Quadrant](https://martinfowler.com/bliki/TechnicalDebtQuadrant.html)
617
+
618
+ ### Tools
619
+
620
+ - [Refactoring Guru](https://refactoring.guru/) - Catalog of refactoring techniques
621
+ - [SonarQube](https://www.sonarqube.org/) - Code quality and complexity analysis
622
+ - [ApprovalTests](https://approvaltests.com/) - Golden Master testing
623
+
624
+ ---
625
+
626
+ ## Version History
627
+
628
+ | Version | Date | Changes |
629
+ |---------|------|---------|
630
+ | 1.0.0 | 2026-01-12 | Initial refactoring standards definition |
631
+
632
+ ---
633
+
634
+ ## License
635
+
636
+ This standard is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).