sillyspec 3.8.7 → 3.9.1
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.
- package/.claude/skills/sillyspec-archive/SKILL.md +17 -0
- package/.claude/skills/sillyspec-auto/SKILL.md +78 -0
- package/.claude/skills/sillyspec-brainstorm/SKILL.md +17 -0
- package/{templates/commit.md → .claude/skills/sillyspec-commit/SKILL.md} +32 -47
- package/.claude/skills/sillyspec-continue/SKILL.md +45 -0
- package/.claude/skills/sillyspec-doctor/SKILL.md +27 -0
- package/.claude/skills/sillyspec-execute/SKILL.md +17 -0
- package/.claude/skills/sillyspec-explore/SKILL.md +96 -0
- package/.claude/skills/sillyspec-export/SKILL.md +53 -0
- package/.claude/skills/sillyspec-init/SKILL.md +170 -0
- package/.claude/skills/sillyspec-plan/SKILL.md +52 -0
- package/.claude/skills/sillyspec-propose/SKILL.md +17 -0
- package/.claude/skills/sillyspec-quick/SKILL.md +17 -0
- package/.claude/skills/sillyspec-resume/SKILL.md +111 -0
- package/.claude/skills/sillyspec-scan/SKILL.md +17 -0
- package/.claude/skills/sillyspec-state/SKILL.md +54 -0
- package/.claude/skills/sillyspec-status/SKILL.md +17 -0
- package/.claude/skills/sillyspec-verify/SKILL.md +17 -0
- package/.claude/skills/sillyspec-workspace/SKILL.md +149 -0
- package/.sillyspec/changes/archive/2026-04-08-derive-state/design.md +97 -0
- package/.sillyspec/changes/archive/2026-04-08-derive-state/plan.md +51 -0
- package/.sillyspec/changes/archive/2026-04-08-derive-state/proposal.md +29 -0
- package/.sillyspec/changes/archive/2026-04-08-derive-state/requirements.md +34 -0
- package/.sillyspec/changes/archive/2026-04-08-derive-state/tasks.md +13 -0
- package/.sillyspec/changes/archive/2026-04-08-derive-state/verify-result.md +43 -0
- package/.sillyspec/changes/auto-mode/design.md +50 -0
- package/.sillyspec/changes/auto-mode/proposal.md +19 -0
- package/.sillyspec/changes/auto-mode/requirements.md +21 -0
- package/.sillyspec/changes/auto-mode/tasks.md +7 -0
- package/.sillyspec/changes/brainstorm-archive/2026-04-05-unified-docs-design.md +199 -0
- package/.sillyspec/changes/dashboard/design.md.braindraft +206 -0
- package/.sillyspec/changes/run-command-design/design.md +1230 -0
- package/.sillyspec/changes/unified-docs-design/design.md +199 -0
- package/.sillyspec/docs/sillyspec/scan/.gitkeep +0 -0
- package/.sillyspec/knowledge/INDEX.md +8 -0
- package/.sillyspec/knowledge/uncategorized.md +3 -0
- package/.sillyspec/projects/sillyspec.yaml +3 -0
- package/README.md +12 -5
- package/package.json +9 -11
- package/packages/dashboard/dist/assets/index-CntACGUN.css +1 -0
- package/packages/dashboard/dist/assets/index-RsLVPAy7.js +7446 -0
- package/packages/dashboard/dist/index.html +3 -2
- package/packages/dashboard/package-lock.json +226 -6
- package/packages/dashboard/package.json +8 -5
- package/packages/dashboard/public/logo.jpg +0 -0
- package/packages/dashboard/server/executor.js +1 -1
- package/packages/dashboard/server/index.js +336 -113
- package/packages/dashboard/server/parser.js +333 -29
- package/packages/dashboard/server/watcher.js +203 -131
- package/packages/dashboard/src/App.vue +187 -11
- package/packages/dashboard/src/components/ActionBar.vue +26 -42
- package/packages/dashboard/src/components/CommandPalette.vue +40 -65
- package/packages/dashboard/src/components/DetailPanel.vue +68 -53
- package/packages/dashboard/src/components/DocPreview.vue +160 -0
- package/packages/dashboard/src/components/DocTree.vue +58 -0
- package/packages/dashboard/src/components/LogStream.vue +13 -33
- package/packages/dashboard/src/components/PipelineStage.vue +8 -8
- package/packages/dashboard/src/components/PipelineView.vue +80 -45
- package/packages/dashboard/src/components/ProjectList.vue +103 -45
- package/packages/dashboard/src/components/ProjectOverview.vue +178 -0
- package/packages/dashboard/src/components/StageBadge.vue +13 -13
- package/packages/dashboard/src/components/StepCard.vue +15 -15
- package/packages/dashboard/src/components/detail/DocsDetail.vue +48 -0
- package/packages/dashboard/src/components/detail/GitDetail.vue +61 -0
- package/packages/dashboard/src/components/detail/TechDetail.vue +43 -0
- package/packages/dashboard/src/composables/useDashboard.js +20 -6
- package/packages/dashboard/src/composables/useKeyboard.js +6 -4
- package/packages/dashboard/src/main.js +4 -1
- package/packages/dashboard/src/style.css +17 -17
- package/src/index.js +136 -14
- package/src/init.js +83 -228
- package/src/migrate.js +117 -0
- package/src/progress.js +459 -0
- package/src/run.js +624 -0
- package/src/setup.js +2 -72
- package/src/stages/archive.js +54 -0
- package/src/stages/brainstorm.js +239 -0
- package/src/stages/doctor.js +303 -0
- package/src/stages/execute.js +262 -0
- package/src/stages/index.js +26 -0
- package/src/stages/plan.js +282 -0
- package/src/stages/propose.js +115 -0
- package/src/stages/quick.js +64 -0
- package/src/stages/scan.js +141 -0
- package/src/stages/status.js +65 -0
- package/src/stages/verify.js +135 -0
- package/docs/.vitepress/config.mts +0 -45
- package/docs/.vitepress/dist/404.html +0 -25
- package/docs/.vitepress/dist/assets/app.YytxICdd.js +0 -1
- package/docs/.vitepress/dist/assets/chunks/framework.Czhw_PXq.js +0 -19
- package/docs/.vitepress/dist/assets/chunks/theme.DusTRZQk.js +0 -1
- package/docs/.vitepress/dist/assets/index.md.C3VCvtQA.js +0 -1
- package/docs/.vitepress/dist/assets/index.md.C3VCvtQA.lean.js +0 -1
- package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
- package/docs/.vitepress/dist/assets/sillyspec_commands.md.CXFFsj08.js +0 -15
- package/docs/.vitepress/dist/assets/sillyspec_commands.md.CXFFsj08.lean.js +0 -1
- package/docs/.vitepress/dist/assets/sillyspec_dashboard.md.BuPXHqjX.js +0 -4
- package/docs/.vitepress/dist/assets/sillyspec_dashboard.md.BuPXHqjX.lean.js +0 -1
- package/docs/.vitepress/dist/assets/sillyspec_file-io.md.Cz3x7llx.js +0 -1
- package/docs/.vitepress/dist/assets/sillyspec_file-io.md.Cz3x7llx.lean.js +0 -1
- package/docs/.vitepress/dist/assets/sillyspec_getting-started.md.ClcvV8k3.js +0 -4
- package/docs/.vitepress/dist/assets/sillyspec_getting-started.md.ClcvV8k3.lean.js +0 -1
- package/docs/.vitepress/dist/assets/sillyspec_install.md.CKuR2tiT.js +0 -5
- package/docs/.vitepress/dist/assets/sillyspec_install.md.CKuR2tiT.lean.js +0 -1
- package/docs/.vitepress/dist/assets/sillyspec_lifecycle.md.DY293cR1.js +0 -28
- package/docs/.vitepress/dist/assets/sillyspec_lifecycle.md.DY293cR1.lean.js +0 -1
- package/docs/.vitepress/dist/assets/sillyspec_structure.md.sVYS4zPs.js +0 -30
- package/docs/.vitepress/dist/assets/sillyspec_structure.md.sVYS4zPs.lean.js +0 -1
- package/docs/.vitepress/dist/assets/style.DFTx90Kk.css +0 -1
- package/docs/.vitepress/dist/hashmap.json +0 -1
- package/docs/.vitepress/dist/index.html +0 -28
- package/docs/.vitepress/dist/sillyspec/commands.html +0 -42
- package/docs/.vitepress/dist/sillyspec/dashboard.html +0 -31
- package/docs/.vitepress/dist/sillyspec/file-io.html +0 -28
- package/docs/.vitepress/dist/sillyspec/getting-started.html +0 -31
- package/docs/.vitepress/dist/sillyspec/install.html +0 -32
- package/docs/.vitepress/dist/sillyspec/lifecycle.html +0 -55
- package/docs/.vitepress/dist/sillyspec/structure.html +0 -57
- package/docs/.vitepress/dist/vp-icons.css +0 -1
- package/docs/index.md +0 -34
- package/docs/sillyspec/commands.md +0 -218
- package/docs/sillyspec/dashboard.md +0 -51
- package/docs/sillyspec/file-io.md +0 -34
- package/docs/sillyspec/getting-started.md +0 -61
- package/docs/sillyspec/install.md +0 -51
- package/docs/sillyspec/lifecycle.md +0 -146
- package/docs/sillyspec/structure.md +0 -62
- package/packages/dashboard/dist/assets/index-Bh-GPjKY.css +0 -1
- package/packages/dashboard/dist/assets/index-CrCn5Gg6.js +0 -17
- package/templates/archive.md +0 -120
- package/templates/brainstorm.md +0 -170
- package/templates/continue.md +0 -32
- package/templates/execute.md +0 -304
- package/templates/explore.md +0 -59
- package/templates/export.md +0 -21
- package/templates/init.md +0 -61
- package/templates/plan.md +0 -146
- package/templates/quick.md +0 -135
- package/templates/scan-quick.md +0 -49
- package/templates/scan.md +0 -156
- package/templates/skills/playwright-e2e/SKILL.md +0 -340
- package/templates/status.md +0 -75
- package/templates/verify.md +0 -236
- package/templates/workspace-sync.md +0 -99
- package/templates/workspace.md +0 -70
- /package/.sillyspec/{specs → changes/brainstorm-archive}/2026-04-05-dashboard-design.md +0 -0
- /package/{docs/.vitepress/dist/logo.jpg → logo.jpg} +0 -0
- /package/{docs/.vitepress → packages/dashboard}/dist/favicon.jpg +0 -0
- /package/{docs/public → packages/dashboard/dist}/logo.jpg +0 -0
- /package/{docs → packages/dashboard}/public/favicon.jpg +0 -0
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="zh-CN" dir="ltr">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
-
<title>生命周期 | SillySpec</title>
|
|
7
|
-
<meta name="description" content="规范驱动开发工具包">
|
|
8
|
-
<meta name="generator" content="VitePress v1.6.4">
|
|
9
|
-
<link rel="preload stylesheet" href="/assets/style.DFTx90Kk.css" as="style">
|
|
10
|
-
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
|
11
|
-
|
|
12
|
-
<script type="module" src="/assets/app.YytxICdd.js"></script>
|
|
13
|
-
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/assets/chunks/theme.DusTRZQk.js">
|
|
15
|
-
<link rel="modulepreload" href="/assets/chunks/framework.Czhw_PXq.js">
|
|
16
|
-
<link rel="modulepreload" href="/assets/sillyspec_lifecycle.md.DY293cR1.lean.js">
|
|
17
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
18
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
|
|
19
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
20
|
-
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
21
|
-
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
|
22
|
-
</head>
|
|
23
|
-
<body>
|
|
24
|
-
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/" data-v-1168a8e4><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.jpg" alt data-v-8426fc1a><!--]--><span data-v-1168a8e4>SillySpec</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963><span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>首页</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/getting-started.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>快速上手</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/install.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>安装</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/commands.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>命令</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/sillyspec/lifecycle.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>生命周期</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/dashboard.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Dashboard</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/structure.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>目录结构</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/q512426816/sillyspec" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/q512426816/sillyspec" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-8a42e2b4><button data-v-8a42e2b4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>入门</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/getting-started.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>快速上手</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/install.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>安装指南</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 has-active" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>核心</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/commands.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>命令参考</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/lifecycle.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>生命周期</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/structure.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>目录结构</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/file-io.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>文件读写一览</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>工具</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/dashboard.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Dashboard</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _sillyspec_lifecycle" data-v-39a288b8><div><h1 id="生命周期" tabindex="-1">生命周期 <a class="header-anchor" href="#生命周期" aria-label="Permalink to "生命周期""></a></h1><h2 id="核心理念" tabindex="-1">核心理念 <a class="header-anchor" href="#核心理念" aria-label="Permalink to "核心理念""></a></h2><blockquote><p><strong>Code is Cheap, Context is Expensive.</strong> 文档是核心资产,代码是文档的产物。没有文档就没有代码——文档是 AI 的记忆,是团队协作的基础,是后续维护的唯一依据。</p></blockquote><h2 id="工作流" tabindex="-1">工作流 <a class="header-anchor" href="#工作流" aria-label="Permalink to "工作流""></a></h2><h3 id="🟢-绿地项目-空目录" tabindex="-1">🟢 绿地项目(空目录) <a class="header-anchor" href="#🟢-绿地项目-空目录" aria-label="Permalink to "🟢 绿地项目(空目录)""></a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>init → brainstorm → plan → execute → [verify] → archive</span></span></code></pre></div><h3 id="🟤-棕地项目-有代码" tabindex="-1">🟤 棕地项目(有代码) <a class="header-anchor" href="#🟤-棕地项目-有代码" aria-label="Permalink to "🟤 棕地项目(有代码)""></a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>scan → brainstorm → plan → execute → [verify] → archive</span></span></code></pre></div><h3 id="🩺-项目自检" tabindex="-1">🩺 项目自检 <a class="header-anchor" href="#🩺-项目自检" aria-label="Permalink to "🩺 项目自检""></a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>sillyspec run doctor</span></span></code></pre></div><p>4 步自检:SillySpec 内部检查 → 构建与测试检查 → 外部依赖检查 → 生成诊断报告。</p><h3 id="🤖-自动模式" tabindex="-1">🤖 自动模式 <a class="header-anchor" href="#🤖-自动模式" aria-label="Permalink to "🤖 自动模式""></a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>sillyspec run auto "需求描述"</span></span></code></pre></div><p>全流程自动推进,支持阶段审核门控(复杂需求可选多角度子代理审查)。</p><h3 id="⚡-快速通道" tabindex="-1">⚡ 快速通道 <a class="header-anchor" href="#⚡-快速通道" aria-label="Permalink to "⚡ 快速通道""></a></h3><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>quick "描述" → 直接执行(3 步:理解任务 → 实现并验证 → 暂存和记录)</span></span>
|
|
25
|
-
<span class="line"><span>explore "想法" → 讨论不写码</span></span></code></pre></div><h2 id="角色分工" tabindex="-1">角色分工 <a class="header-anchor" href="#角色分工" aria-label="Permalink to "角色分工""></a></h2><p>每个阶段有专属 persona,由 CLI 自动注入:</p><table tabindex="0"><thead><tr><th>阶段</th><th>角色</th><th>职责</th></tr></thead><tbody><tr><td>brainstorm</td><td>🎯 资深架构师</td><td>理解业务本质,设计技术方案,决策附理由</td></tr><tr><td>plan</td><td>📋 技术项目经理</td><td>任务拆解,Wave 分组,依赖关系</td></tr><tr><td>execute</td><td>💻 高级工程师</td><td>按 task 蓝图搬砖,禁止发散思维</td></tr><tr><td>verify</td><td>🔍 QA 专家</td><td>对照文档检查,假设所有代码都有 bug</td></tr><tr><td>quick</td><td>💻 全栈老兵</td><td>快速理解需求,直接干,不确定就问</td></tr></tbody></table><p><strong>铁律:每个角色只做自己的事,不要越界。</strong> 发现问题反馈而不是自己偷偷改。</p><h2 id="文档体系" tabindex="-1">文档体系 <a class="header-anchor" href="#文档体系" aria-label="Permalink to "文档体系""></a></h2><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>.sillyspec/</span></span>
|
|
26
|
-
<span class="line"><span>├── changes/<变更名>/</span></span>
|
|
27
|
-
<span class="line"><span>│ ├── design.md # 设计文档(brainstorm 产出)</span></span>
|
|
28
|
-
<span class="line"><span>│ ├── requirements.md # 需求文档</span></span>
|
|
29
|
-
<span class="line"><span>│ ├── proposal.md # 提案</span></span>
|
|
30
|
-
<span class="line"><span>│ ├── plan.md # 实现计划总览(PM 视角)</span></span>
|
|
31
|
-
<span class="line"><span>│ ├── tasks/task-01.md # 任务蓝图(工程师视角,详细到可直接执行)</span></span>
|
|
32
|
-
<span class="line"><span>│ ├── tasks/task-02.md</span></span>
|
|
33
|
-
<span class="line"><span>│ └── ...</span></span>
|
|
34
|
-
<span class="line"><span>├── docs/<project>/scan/</span></span>
|
|
35
|
-
<span class="line"><span>│ ├── CONVENTIONS.md # 代码规范</span></span>
|
|
36
|
-
<span class="line"><span>│ └── ARCHITECTURE.md # 架构文档</span></span>
|
|
37
|
-
<span class="line"><span>├── projects/*.yaml # 项目配置</span></span>
|
|
38
|
-
<span class="line"><span>├── local.yaml # 本地配置(构建/测试命令)</span></span>
|
|
39
|
-
<span class="line"><span>└── knowledge/ # 项目知识库</span></span></code></pre></div><h3 id="reverse-sync" tabindex="-1">Reverse Sync <a class="header-anchor" href="#reverse-sync" aria-label="Permalink to "Reverse Sync""></a></h3><p>发现 Bug 时的处理流程:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>发现 Bug → 是代码错了还是文档有遗漏?</span></span>
|
|
40
|
-
<span class="line"><span>├── 文档遗漏 → 先修文档 → 再修代码</span></span>
|
|
41
|
-
<span class="line"><span>└── 代码错误 → 直接修代码</span></span></code></pre></div><h2 id="上下文分层加载" tabindex="-1">上下文分层加载 <a class="header-anchor" href="#上下文分层加载" aria-label="Permalink to "上下文分层加载""></a></h2><p>execute 阶段按优先级管理上下文:</p><ul><li>🔥 <strong>热上下文</strong>:design.md 编码铁律 + 当前 Wave 任务(必须加载)</li><li>🌡️ <strong>温上下文</strong>:CONVENTIONS.md + ARCHITECTURE.md(需要时加载)</li><li>❄️ <strong>冷上下文</strong>:其他变更的 design.md、历史 plan.md(不主动加载)</li></ul><h2 id="进度管理" tabindex="-1">进度管理 <a class="header-anchor" href="#进度管理" aria-label="Permalink to "进度管理""></a></h2><h3 id="progress-json-唯一进度数据源" tabindex="-1">progress.json(唯一进度数据源) <a class="header-anchor" href="#progress-json-唯一进度数据源" aria-label="Permalink to "progress.json(唯一进度数据源)""></a></h3><p>位于 <code>.sillyspec/.runtime/progress.json</code>,由 <code>sillyspec run</code> CLI 自动管理:</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
|
42
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "project"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"my-app"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
43
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "currentStage"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"execute"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
|
44
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "stages"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
|
45
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "scan"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"status"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"completed"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
46
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "brainstorm"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"status"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"completed"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
47
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "plan"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"status"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"completed"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
|
|
48
|
-
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "execute"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">"status"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"in_progress"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
|
49
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
|
50
|
-
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h3 id="批量进度" tabindex="-1">批量进度 <a class="header-anchor" href="#批量进度" aria-label="Permalink to "批量进度""></a></h3><p>批量任务时,额外展示批量进度条:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>📊 批量进度: ████████████████░░░░ 73/100 (2 失败, 1 跳过)</span></span></code></pre></div><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> progress</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> batch</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --total</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 100</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --completed</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 73</span></span>
|
|
51
|
-
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> progress</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> batch</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --status</span></span></code></pre></div><h2 id="git-规范" tabindex="-1">Git 规范 <a class="header-anchor" href="#git-规范" aria-label="Permalink to "Git 规范""></a></h2><ul><li>所有阶段只执行 <code>git add</code>,<strong>不自动 commit</strong></li><li>提交由用户通过 <code>/sillyspec:commit</code> 或手动完成</li><li>commit message 语言与用户对话语言一致</li></ul><h2 id="中断恢复" tabindex="-1">中断恢复 <a class="header-anchor" href="#中断恢复" aria-label="Permalink to "中断恢复""></a></h2><p>工作中断时,使用 resume 恢复:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">/sillyspec:resume</span></span></code></pre></div><p>也可以用 continue 自动判断下一步:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">/sillyspec:continue</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class="VPLink link pager-link prev" href="/sillyspec/commands.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Previous page</span><span class="title" data-v-e257564d>命令参考</span><!--]--></a></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/sillyspec/structure.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>目录结构</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
52
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"index.md\":\"C3VCvtQA\",\"sillyspec_commands.md\":\"CXFFsj08\",\"sillyspec_dashboard.md\":\"BuPXHqjX\",\"sillyspec_file-io.md\":\"Cz3x7llx\",\"sillyspec_getting-started.md\":\"ClcvV8k3\",\"sillyspec_install.md\":\"CKuR2tiT\",\"sillyspec_lifecycle.md\":\"DY293cR1\",\"sillyspec_structure.md\":\"sVYS4zPs\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"SillySpec\",\"description\":\"规范驱动开发工具包\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.jpg\",\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"快速上手\",\"link\":\"/sillyspec/getting-started\"},{\"text\":\"安装\",\"link\":\"/sillyspec/install\"},{\"text\":\"命令\",\"link\":\"/sillyspec/commands\"},{\"text\":\"生命周期\",\"link\":\"/sillyspec/lifecycle\"},{\"text\":\"Dashboard\",\"link\":\"/sillyspec/dashboard\"},{\"text\":\"目录结构\",\"link\":\"/sillyspec/structure\"}],\"sidebar\":[{\"text\":\"入门\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/sillyspec/getting-started\"},{\"text\":\"安装指南\",\"link\":\"/sillyspec/install\"}]},{\"text\":\"核心\",\"items\":[{\"text\":\"命令参考\",\"link\":\"/sillyspec/commands\"},{\"text\":\"生命周期\",\"link\":\"/sillyspec/lifecycle\"},{\"text\":\"目录结构\",\"link\":\"/sillyspec/structure\"},{\"text\":\"文件读写一览\",\"link\":\"/sillyspec/file-io\"}]},{\"text\":\"工具\",\"items\":[{\"text\":\"Dashboard\",\"link\":\"/sillyspec/dashboard\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/q512426816/sillyspec\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
53
|
-
|
|
54
|
-
</body>
|
|
55
|
-
</html>
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="zh-CN" dir="ltr">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
-
<title>目录结构 | SillySpec</title>
|
|
7
|
-
<meta name="description" content="规范驱动开发工具包">
|
|
8
|
-
<meta name="generator" content="VitePress v1.6.4">
|
|
9
|
-
<link rel="preload stylesheet" href="/assets/style.DFTx90Kk.css" as="style">
|
|
10
|
-
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
|
|
11
|
-
|
|
12
|
-
<script type="module" src="/assets/app.YytxICdd.js"></script>
|
|
13
|
-
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/assets/chunks/theme.DusTRZQk.js">
|
|
15
|
-
<link rel="modulepreload" href="/assets/chunks/framework.Czhw_PXq.js">
|
|
16
|
-
<link rel="modulepreload" href="/assets/sillyspec_structure.md.sVYS4zPs.lean.js">
|
|
17
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
18
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
|
|
19
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
20
|
-
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
21
|
-
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
|
22
|
-
</head>
|
|
23
|
-
<body>
|
|
24
|
-
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0b0ada53></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0b0ada53>Skip to content</a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar" data-v-ae24b3ad data-v-6aa21345><div class="wrapper" data-v-6aa21345><div class="container" data-v-6aa21345><div class="title" data-v-6aa21345><div class="VPNavBarTitle has-sidebar" data-v-6aa21345 data-v-1168a8e4><a class="title" href="/" data-v-1168a8e4><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.jpg" alt data-v-8426fc1a><!--]--><span data-v-1168a8e4>SillySpec</span><!--[--><!--]--></a></div></div><div class="content" data-v-6aa21345><div class="content-body" data-v-6aa21345><!--[--><!--]--><div class="VPNavBarSearch search" data-v-6aa21345><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6aa21345 data-v-dc692963><span id="main-nav-aria-label" class="visually-hidden" data-v-dc692963> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>首页</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/getting-started.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>快速上手</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/install.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>安装</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/commands.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>命令</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/lifecycle.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>生命周期</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/sillyspec/dashboard.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>Dashboard</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/sillyspec/structure.html" tabindex="0" data-v-dc692963 data-v-e56f3d57><!--[--><span data-v-e56f3d57>目录结构</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-6aa21345 data-v-6c893767><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-6c893767 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-6aa21345 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/q512426816/sillyspec" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-6aa21345 data-v-bb2aa2f0 data-v-cf11d7a2><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-cf11d7a2><span class="vpi-more-horizontal icon" data-v-cf11d7a2></span></button><div class="menu" data-v-cf11d7a2><div class="VPMenu" data-v-cf11d7a2 data-v-b98bc113><!----><!--[--><!--[--><!----><div class="group" data-v-bb2aa2f0><div class="item appearance" data-v-bb2aa2f0><p class="label" data-v-bb2aa2f0>Appearance</p><div class="appearance-action" data-v-bb2aa2f0><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-bb2aa2f0 data-v-5337faa4 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-5337faa4></span><span class="vpi-moon moon" data-v-5337faa4></span><!--]--></span></span></button></div></div></div><div class="group" data-v-bb2aa2f0><div class="item social-links" data-v-bb2aa2f0><div class="VPSocialLinks social-links-list" data-v-bb2aa2f0 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/q512426816/sillyspec" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-bd121fe5><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6aa21345 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-6aa21345><div class="divider-line" data-v-6aa21345></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-8a42e2b4><button data-v-8a42e2b4>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-319d5ca6><div class="curtain" data-v-319d5ca6></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-319d5ca6><span class="visually-hidden" id="sidebar-aria-label" data-v-319d5ca6> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>入门</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/getting-started.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>快速上手</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/install.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>安装指南</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0 has-active" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>核心</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/commands.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>命令参考</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/lifecycle.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>生命周期</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/structure.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>目录结构</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/file-io.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>文件读写一览</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c40bc020><section class="VPSidebarItem level-0" data-v-c40bc020 data-v-b3fd67f8><div class="item" role="button" tabindex="0" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><h2 class="text" data-v-b3fd67f8>工具</h2><!----></div><div class="items" data-v-b3fd67f8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b3fd67f8 data-v-b3fd67f8><div class="item" data-v-b3fd67f8><div class="indicator" data-v-b3fd67f8></div><a class="VPLink link link" href="/sillyspec/dashboard.html" data-v-b3fd67f8><!--[--><p class="text" data-v-b3fd67f8>Dashboard</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-3f215769 data-v-a5bbad30><div class="content" data-v-a5bbad30><div class="outline-marker" data-v-a5bbad30></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-a5bbad30>On this page</div><ul class="VPDocOutlineItem root" data-v-a5bbad30 data-v-b933a997><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _sillyspec_structure" data-v-39a288b8><div><h1 id="目录结构" tabindex="-1">目录结构 <a class="header-anchor" href="#目录结构" aria-label="Permalink to "目录结构""></a></h1><h2 id="sillyspec-完整结构" tabindex="-1">.sillyspec/ 完整结构 <a class="header-anchor" href="#sillyspec-完整结构" aria-label="Permalink to ".sillyspec/ 完整结构""></a></h2><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>.sillyspec/</span></span>
|
|
25
|
-
<span class="line"><span>├── changes/ ← 所有变更(design/proposal/tasks/requirements)</span></span>
|
|
26
|
-
<span class="line"><span>│ └── <change-name>/</span></span>
|
|
27
|
-
<span class="line"><span>│ ├── design.md # 设计文档(架构决策、文件变更清单)</span></span>
|
|
28
|
-
<span class="line"><span>│ ├── proposal.md # 变更提案(动机、范围、成功标准)</span></span>
|
|
29
|
-
<span class="line"><span>│ ├── requirements.md # 需求文档(功能需求、用户场景)</span></span>
|
|
30
|
-
<span class="line"><span>│ ├── plan.md # 实现计划总览(PM 视角,任务列表 + Wave 划分)</span></span>
|
|
31
|
-
<span class="line"><span>│ └── tasks/ # 任务蓝图目录</span></span>
|
|
32
|
-
<span class="line"><span>│ ├── task-01.md # 独立任务蓝图(接口定义、边界处理、TDD 步骤、验收标准)</span></span>
|
|
33
|
-
<span class="line"><span>│ ├── task-02.md</span></span>
|
|
34
|
-
<span class="line"><span>│ └── ...</span></span>
|
|
35
|
-
<span class="line"><span>├── docs/ ← 统一文档中心</span></span>
|
|
36
|
-
<span class="line"><span>│ └── <project>/</span></span>
|
|
37
|
-
<span class="line"><span>│ └── scan/ ← 代码扫描结果</span></span>
|
|
38
|
-
<span class="line"><span>│ ├── CONVENTIONS.md # 代码规范</span></span>
|
|
39
|
-
<span class="line"><span>│ └── ARCHITECTURE.md # 架构文档</span></span>
|
|
40
|
-
<span class="line"><span>├── knowledge/ ← 知识库(归档沉淀)</span></span>
|
|
41
|
-
<span class="line"><span>│ ├── INDEX.md # 知识索引</span></span>
|
|
42
|
-
<span class="line"><span>│ └── uncategorized.md # 未分类知识</span></span>
|
|
43
|
-
<span class="line"><span>├── projects/ ← 子项目注册(*.yaml)</span></span>
|
|
44
|
-
<span class="line"><span>├── local.yaml ← 本地配置(构建命令、测试命令、环境变量)</span></span>
|
|
45
|
-
<span class="line"><span>└── .runtime/ ← 运行时数据</span></span>
|
|
46
|
-
<span class="line"><span> ├── progress.json ← 唯一进度数据源</span></span>
|
|
47
|
-
<span class="line"><span> ├── artifacts/ ← 步骤输出完整内容</span></span>
|
|
48
|
-
<span class="line"><span> ├── logs/ ← 日志</span></span>
|
|
49
|
-
<span class="line"><span> └── history/ ← 历史快照</span></span></code></pre></div><h2 id="文档层级" tabindex="-1">文档层级 <a class="header-anchor" href="#文档层级" aria-label="Permalink to "文档层级""></a></h2><table tabindex="0"><thead><tr><th>文档</th><th>谁写</th><th>回答什么</th><th>详细程度</th></tr></thead><tbody><tr><td>design.md</td><td>brainstorm(架构师)</td><td>为什么这么设计?架构长什么样?</td><td>中</td></tr><tr><td>plan.md</td><td>plan(项目经理)</td><td>做哪些任务?什么顺序?</td><td>低(总览)</td></tr><tr><td>task-N.md</td><td>plan(项目经理)</td><td>这个任务具体怎么做?</td><td>高(蓝图级)</td></tr><tr><td>CONVENTIONS.md</td><td>scan</td><td>代码怎么写?风格、命名、模式?</td><td>高</td></tr><tr><td>local.yaml</td><td>用户</td><td>构建命令、测试命令、环境变量</td><td>配置</td></tr></tbody></table><h2 id="产出时机" tabindex="-1">产出时机 <a class="header-anchor" href="#产出时机" aria-label="Permalink to "产出时机""></a></h2><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>brainstorm → design.md + proposal.md + requirements.md + tasks.md</span></span>
|
|
50
|
-
<span class="line"><span>plan → plan.md + tasks/task-NN.md</span></span>
|
|
51
|
-
<span class="line"><span>execute → 代码 + 勾选 task-N.md 验收标准</span></span>
|
|
52
|
-
<span class="line"><span>verify → 对照 design.md + 检查 task-N.md 验收 + 测试</span></span>
|
|
53
|
-
<span class="line"><span>archive → 沉淀到 knowledge/</span></span></code></pre></div><h2 id="说明" tabindex="-1">说明 <a class="header-anchor" href="#说明" aria-label="Permalink to "说明""></a></h2><ul><li><strong>changes/</strong> — 所有变更规范统一存放</li><li><strong>tasks/</strong> — 每个任务独立蓝图,execute 子代理只读自己的蓝图就能干活</li><li><strong>projects/</strong> — 管理多个子项目</li><li><strong>docs/</strong> — 文档中心,主要存放代码扫描结果</li><li><strong>knowledge/</strong> — 归档沉淀的可复用知识</li><li><strong>local.yaml</strong> — 项目特有的构建/测试命令,所有阶段都会读取</li><li><strong>.runtime/</strong> — 运行时数据,progress.json 是唯一进度数据源</li></ul></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-e257564d><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-e257564d><span class="visually-hidden" id="doc-footer-aria-label" data-v-e257564d>Pager</span><div class="pager" data-v-e257564d><a class="VPLink link pager-link prev" href="/sillyspec/lifecycle.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Previous page</span><span class="title" data-v-e257564d>生命周期</span><!--]--></a></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/sillyspec/file-io.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>文件读写一览</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
54
|
-
<script>window.__VP_HASH_MAP__=JSON.parse("{\"index.md\":\"C3VCvtQA\",\"sillyspec_commands.md\":\"CXFFsj08\",\"sillyspec_dashboard.md\":\"BuPXHqjX\",\"sillyspec_file-io.md\":\"Cz3x7llx\",\"sillyspec_getting-started.md\":\"ClcvV8k3\",\"sillyspec_install.md\":\"CKuR2tiT\",\"sillyspec_lifecycle.md\":\"DY293cR1\",\"sillyspec_structure.md\":\"sVYS4zPs\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"SillySpec\",\"description\":\"规范驱动开发工具包\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.jpg\",\"nav\":[{\"text\":\"首页\",\"link\":\"/\"},{\"text\":\"快速上手\",\"link\":\"/sillyspec/getting-started\"},{\"text\":\"安装\",\"link\":\"/sillyspec/install\"},{\"text\":\"命令\",\"link\":\"/sillyspec/commands\"},{\"text\":\"生命周期\",\"link\":\"/sillyspec/lifecycle\"},{\"text\":\"Dashboard\",\"link\":\"/sillyspec/dashboard\"},{\"text\":\"目录结构\",\"link\":\"/sillyspec/structure\"}],\"sidebar\":[{\"text\":\"入门\",\"items\":[{\"text\":\"快速上手\",\"link\":\"/sillyspec/getting-started\"},{\"text\":\"安装指南\",\"link\":\"/sillyspec/install\"}]},{\"text\":\"核心\",\"items\":[{\"text\":\"命令参考\",\"link\":\"/sillyspec/commands\"},{\"text\":\"生命周期\",\"link\":\"/sillyspec/lifecycle\"},{\"text\":\"目录结构\",\"link\":\"/sillyspec/structure\"},{\"text\":\"文件读写一览\",\"link\":\"/sillyspec/file-io\"}]},{\"text\":\"工具\",\"items\":[{\"text\":\"Dashboard\",\"link\":\"/sillyspec/dashboard\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/q512426816/sillyspec\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
|
55
|
-
|
|
56
|
-
</body>
|
|
57
|
-
</html>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.vpi-social-github{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}
|
package/docs/index.md
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: home
|
|
3
|
-
hero:
|
|
4
|
-
name: "SillySpec"
|
|
5
|
-
text: "规范驱动开发工具包"
|
|
6
|
-
tagline: "Code is Cheap, Context is Expensive — 文档是核心资产,代码是文档的产物"
|
|
7
|
-
actions:
|
|
8
|
-
- theme: brand
|
|
9
|
-
text: 快速上手
|
|
10
|
-
link: /sillyspec/getting-started
|
|
11
|
-
- theme: alt
|
|
12
|
-
text: GitHub
|
|
13
|
-
link: https://github.com/q512426816/sillyspec
|
|
14
|
-
- theme: alt
|
|
15
|
-
text: npm
|
|
16
|
-
link: https://www.npmjs.com/package/sillyspec
|
|
17
|
-
features:
|
|
18
|
-
- title: 📋 规范驱动
|
|
19
|
-
details: "从 brainstorm 到 verify,每个阶段由 CLI 步骤驱动。文档是唯一 truth source——没有文档就没有代码。"
|
|
20
|
-
- title: 🎭 角色 Persona
|
|
21
|
-
details: "架构师(brainstorm)→ 项目经理(plan)→ 工程师(execute)→ QA(verify)→ 全栈老兵(quick),每个角色专注自己的事。"
|
|
22
|
-
- title: 📝 任务蓝图
|
|
23
|
-
details: "plan 阶段产出 plan.md 总览 + tasks/task-N.md 独立蓝图。execute 按蓝图搬砖,禁止发散思维,不增不减不改。"
|
|
24
|
-
- title: 🔄 Reverse Sync
|
|
25
|
-
details: "发现 Bug 先检查是代码错了还是文档有遗漏,有遗漏则先修文档再修代码。设计文档是唯一 truth source。"
|
|
26
|
-
- title: 🤖 多工具支持
|
|
27
|
-
details: "Claude Code、Cursor、Codex、OpenCode、OpenClaw — 你用哪个都行,流程一样。"
|
|
28
|
-
- title: 📊 进度管理
|
|
29
|
-
details: "progress.json 唯一进度数据源,支持批量进度展示。中断后无缝衔接。"
|
|
30
|
-
- title: 🖥️ 可视化面板
|
|
31
|
-
details: "Dashboard Web UI,项目发现、流水线视图、文档浏览,一目了然。"
|
|
32
|
-
- title: ⚡ 自动模式
|
|
33
|
-
details: "sillyspec run auto 全流程自动推进,阶段审核门控可选多角度子代理审查。"
|
|
34
|
-
---
|
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
# 命令参考
|
|
2
|
-
|
|
3
|
-
## 核心流程
|
|
4
|
-
|
|
5
|
-
### init — 绿地项目初始化
|
|
6
|
-
|
|
7
|
-
**用途:** 深度提问、调研、生成需求文档和路线图。
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
sillyspec init
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
适用于空目录或新项目。会通过一系列问题挖掘需求,生成项目路线图。
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
### scan — 代码库扫描
|
|
18
|
-
|
|
19
|
-
**用途:** 交互式引导扫描已有代码库,生成代码库文档。
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
sillyspec run scan
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
支持快速扫描和深度扫描两阶段。深度扫描会提取代码风格、注解、返回值等信息。
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
### brainstorm — 需求探索
|
|
30
|
-
|
|
31
|
-
**用途:** 结构化头脑风暴,直接产出 design.md + proposal.md + requirements.md + tasks.md。
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
sillyspec run brainstorm
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
创建性工作前的必用命令。合并了 propose 功能,一次性生成所有规范文件。包含批量/半批量模式检测。
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
### plan — 实现计划
|
|
42
|
-
|
|
43
|
-
**用途:** 编写实现计划,plan.md 总览 + tasks/task-N.md 独立蓝图。
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
sillyspec run plan
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
按 Wave 分组任务,每个任务产出独立的 task-N.md 蓝图(接口定义、数据结构、边界处理、TDD 步骤、验收标准)。plan.md 只放总览,不写实现细节。
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
### execute — 执行实现
|
|
54
|
-
|
|
55
|
-
**用途:** 波次执行,按 task 蓝图搬砖,禁止发散思维。
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
sillyspec run execute
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
CLI 自动注入 task-N.md 内容到 prompt。上下文分层加载(热/温/冷)。不频繁编译,只在必要时运行。
|
|
62
|
-
|
|
63
|
-
**铁律:**
|
|
64
|
-
- task-N.md 是唯一执行蓝图,只做蓝图里写的事,不增不减不改
|
|
65
|
-
- 发现问题停下来反馈,不要自己改方案
|
|
66
|
-
- Reverse Sync:发现 Bug 先检查文档是否有遗漏
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
### verify — 验证(可选)
|
|
71
|
-
|
|
72
|
-
**用途:** 对照文档检查 + 测试套件 + 代码审查 + 任务蓝图验收。
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
sillyspec run verify
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
分层验证:逐项检查任务 → 对照 design.md → 任务蓝图验收 → 运行测试 → 代码质量扫描。支持批量模式分层验证(L1 自动化 / L2 AI 抽查 / L3 模式性 bug 检测)。
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
### archive — 归档
|
|
83
|
-
|
|
84
|
-
**用途:** 规范沉淀到 knowledge/,可追溯。
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
sillyspec run archive
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
五道门禁:文件完整性、任务完成度、spec 沉淀、防覆盖。
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
### doctor — 项目自检
|
|
95
|
-
|
|
96
|
-
**用途:** 4 步自检,检查配置、构建环境和外部依赖。
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
sillyspec run doctor
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
步骤:SillySpec 内部检查 → 构建与测试检查 → 外部依赖检查 → 生成诊断报告。包含 deriveState 全量扫描。
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
### auto — 全流程自动推进
|
|
107
|
-
|
|
108
|
-
**用途:** 自动执行 brainstorm → plan → execute → verify。
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
sillyspec run auto "需求描述"
|
|
112
|
-
sillyspec run auto --input "需求" --done --output "摘要" # 推进下一步
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
自动模式,AI 按步骤自动推进。支持阶段审核门控——brainstorm/plan 完成后可选多角度子代理审查。
|
|
116
|
-
|
|
117
|
-
---
|
|
118
|
-
|
|
119
|
-
## 辅助工具
|
|
120
|
-
|
|
121
|
-
### quick — 快速模式
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
sillyspec run quick "任务描述"
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
跳过完整流程,直接做。3 步完成:理解任务 → 实现并验证 → 暂存和记录。支持 `--change xxx` 追加到变更 tasks.md。
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
### explore — 自由思考
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
sillyspec run explore "想法"
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
讨论、画图、调研,不写代码。
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
### commit — 智能提交
|
|
142
|
-
|
|
143
|
-
```bash
|
|
144
|
-
/sillyspec:commit
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
自动收集变更信息(QUICKLOG/tasks.md/阶段产出),生成 commit message。
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
### status / state — 查看进度
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
sillyspec progress show # 查看进度(含批量进度条)
|
|
155
|
-
/sillyspec:state # 显示 progress.json 内容
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
### resume / continue — 恢复工作
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
/sillyspec:resume # 从中断处继续
|
|
164
|
-
/sillyspec:continue # 自动判断下一步
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
---
|
|
168
|
-
|
|
169
|
-
### export — 导出模板
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
/sillyspec:export
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
导出成功方案为可复用模板。
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
### progress — 进度管理
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
sillyspec progress show # 查看进度
|
|
183
|
-
sillyspec progress reset # 重置进度
|
|
184
|
-
sillyspec progress validate # 校验修复
|
|
185
|
-
sillyspec progress batch --total 100 --completed 73 # 更新批量进度
|
|
186
|
-
sillyspec progress batch --status # 查看批量进度
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### run — 步骤驱动流程引擎
|
|
190
|
-
|
|
191
|
-
**用途:** CLI 控制的阶段流程,AI 通过此命令驱动每个阶段。
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
sillyspec run <stage> # 进入指定阶段
|
|
195
|
-
sillyspec run <stage> --status # 查看阶段进度
|
|
196
|
-
sillyspec run <stage> --done # 标记当前步骤完成
|
|
197
|
-
sillyspec run <stage> --done --output "摘要" # 标记完成 + 记录输出
|
|
198
|
-
sillyspec run <stage> --skip # 跳过可选步骤
|
|
199
|
-
sillyspec run <stage> --reset # 重置阶段
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
支持的阶段:`scan`、`brainstorm`、`plan`、`execute`、`verify`、`doctor`。
|
|
203
|
-
|
|
204
|
-
## 其他 CLI 命令
|
|
205
|
-
|
|
206
|
-
### dashboard — 启动面板
|
|
207
|
-
|
|
208
|
-
```bash
|
|
209
|
-
sillyspec dashboard # 默认端口 3456
|
|
210
|
-
sillyspec dashboard --port 8080 # 指定端口
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
### setup — MCP 工具安装
|
|
214
|
-
|
|
215
|
-
```bash
|
|
216
|
-
sillyspec setup # 安装推荐 MCP 工具
|
|
217
|
-
sillyspec setup --list # 查看状态
|
|
218
|
-
```
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Dashboard
|
|
2
|
-
|
|
3
|
-
## 启动
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
sillyspec dashboard # 默认端口 3456
|
|
7
|
-
sillyspec dashboard --port 8080 # 指定端口
|
|
8
|
-
sillyspec dashboard --no-open # 不自动打开浏览器
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## 功能
|
|
12
|
-
|
|
13
|
-
### 📂 项目发现
|
|
14
|
-
|
|
15
|
-
自动扫描当前目录及子目录中的 `.sillyspec/` 项目,显示项目列表和状态。
|
|
16
|
-
|
|
17
|
-
### 🔄 流水线视图
|
|
18
|
-
|
|
19
|
-
可视化展示项目的工作流阶段:
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
scan → brainstorm → plan → execute → verify → archive
|
|
23
|
-
✅ ✅ ✅ 🔄 ⏳
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
每个阶段的完成状态一目了然。
|
|
27
|
-
|
|
28
|
-
### 📄 文档浏览
|
|
29
|
-
|
|
30
|
-
浏览项目中 `.sillyspec/docs/` 下的所有文档,按类型分组:
|
|
31
|
-
|
|
32
|
-
- **scan/** — 代码库扫描文档
|
|
33
|
-
- **brainstorm/** — 头脑风暴和设计文档
|
|
34
|
-
- **plan/** — 实现计划
|
|
35
|
-
- **changes/** — 变更记录
|
|
36
|
-
- **archive/** — 归档文档
|
|
37
|
-
- **quicklog/** — 快速任务日志
|
|
38
|
-
|
|
39
|
-
## 统一文档管理
|
|
40
|
-
|
|
41
|
-
Dashboard 支持新的统一文档结构,所有项目文档集中管理在 `.sillyspec/docs/<project>/` 下。
|
|
42
|
-
|
|
43
|
-
### 迁移旧结构
|
|
44
|
-
|
|
45
|
-
如果你有旧版的 `.sillyspec/` 目录(codebase/、specs/、changes/ 等),可以迁移:
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
sillyspec docs migrate
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
会自动将旧路径的文档迁移到新的统一结构。
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# 各阶段文件读写一览
|
|
2
|
-
|
|
3
|
-
| 阶段 | 📥 读取 | 📤 产出 |
|
|
4
|
-
|------|---------|---------|
|
|
5
|
-
| **brainstorm** | CODEBASE-OVERVIEW.md<br>projects/*.yaml<br>local.yaml<br>STRUCTURE.md(棕地)<br>CONVENTIONS.md(棕地)<br>ARCHITECTURE.md(棕地)<br>changes/(进行中)<br>~/.sillyspec/templates/ | design.md<br>proposal.md<br>requirements.md<br>tasks.md |
|
|
6
|
-
| **plan** | CODEBASE-OVERVIEW.md<br>proposal.md<br>design.md<br>requirements.md<br>tasks.md<br>CONVENTIONS.md<br>ARCHITECTURE.md<br>STACK.md<br>local.yaml | plan.md(总览)<br>tasks/task-NN.md(蓝图) |
|
|
7
|
-
| **execute** | design.md<br>plan.md<br>tasks/task-NN.md(CLI 自动注入)<br>CONVENTIONS.md(按需)<br>ARCHITECTURE.md(按需)<br>local.yaml<br>CODEBASE-OVERVIEW.md<br>knowledge/INDEX.md | 代码文件<br>勾选 task-N.md + plan.md checkbox |
|
|
8
|
-
| **verify** | proposal.md<br>design.md<br>tasks.md<br>requirements.md<br>projects/*.yaml<br>local.yaml<br>CONVENTIONS.md<br>tasks/task-NN.md | 验证报告<br>可能更新 design.md(Reverse Sync) |
|
|
9
|
-
| **quick** | projects/*.yaml<br>CONVENTIONS.md<br>local.yaml<br>knowledge/INDEX.md<br>design.md(有 --change) | 代码文件<br>tasks.md(有 --change)<br>QUICKLOG |
|
|
10
|
-
| **scan** | projects/*.yaml<br>已有 scan/*.md<br>package.json / pom.xml 等<br>源文件(grep 搜索) | ARCHITECTURE.md<br>CONVENTIONS.md<br>STRUCTURE.md<br>INTEGRATIONS.md<br>TESTING.md<br>CONCERNS.md<br>PROJECT.md |
|
|
11
|
-
| **archive** | tasks.md<br>changes/<变更名>/ 目录下文件 | archive/YYYY-MM-DD-<变更名>/(移动)<br>更新 progress.json |
|
|
12
|
-
| **doctor** | progress.json<br>projects/*.yaml<br>local.yaml<br>MCP 配置<br>构建文件 | 无(只检查报告) |
|
|
13
|
-
|
|
14
|
-
## 全局注入(每个 step)
|
|
15
|
-
|
|
16
|
-
### Persona
|
|
17
|
-
|
|
18
|
-
| 阶段 | 角色 |
|
|
19
|
-
|------|------|
|
|
20
|
-
| brainstorm | 🎯 资深架构师 |
|
|
21
|
-
| plan | 📋 技术项目经理 |
|
|
22
|
-
| execute | 💻 高级工程师 |
|
|
23
|
-
| verify | 🔍 QA 专家 |
|
|
24
|
-
| quick | 💻 全栈老兵 |
|
|
25
|
-
|
|
26
|
-
### 铁律
|
|
27
|
-
|
|
28
|
-
1. 文档是核心资产,代码是文档的产物
|
|
29
|
-
2. 只做本步骤描述的操作,不得自行扩展或跳过
|
|
30
|
-
3. 不要回头修改已完成的步骤
|
|
31
|
-
4. 不要编造不存在的 CLI 子命令
|
|
32
|
-
5. 完成后立即执行 `--done` 命令
|
|
33
|
-
6. 文档类型文件头部必须包含 author 和 created_at
|
|
34
|
-
7. 执行构建/测试前必须先读 local.yaml
|