sillyspec 3.8.5 → 3.8.7
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/README.md +0 -6
- package/docs/.vitepress/config.mts +45 -0
- package/docs/.vitepress/dist/404.html +25 -0
- package/docs/.vitepress/dist/assets/app.YytxICdd.js +1 -0
- package/docs/.vitepress/dist/assets/chunks/framework.Czhw_PXq.js +19 -0
- package/docs/.vitepress/dist/assets/chunks/theme.DusTRZQk.js +1 -0
- package/docs/.vitepress/dist/assets/index.md.C3VCvtQA.js +1 -0
- package/docs/.vitepress/dist/assets/index.md.C3VCvtQA.lean.js +1 -0
- 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 +15 -0
- package/docs/.vitepress/dist/assets/sillyspec_commands.md.CXFFsj08.lean.js +1 -0
- package/docs/.vitepress/dist/assets/sillyspec_dashboard.md.BuPXHqjX.js +4 -0
- package/docs/.vitepress/dist/assets/sillyspec_dashboard.md.BuPXHqjX.lean.js +1 -0
- package/docs/.vitepress/dist/assets/sillyspec_file-io.md.Cz3x7llx.js +1 -0
- package/docs/.vitepress/dist/assets/sillyspec_file-io.md.Cz3x7llx.lean.js +1 -0
- package/docs/.vitepress/dist/assets/sillyspec_getting-started.md.ClcvV8k3.js +4 -0
- package/docs/.vitepress/dist/assets/sillyspec_getting-started.md.ClcvV8k3.lean.js +1 -0
- package/docs/.vitepress/dist/assets/sillyspec_install.md.CKuR2tiT.js +5 -0
- package/docs/.vitepress/dist/assets/sillyspec_install.md.CKuR2tiT.lean.js +1 -0
- package/docs/.vitepress/dist/assets/sillyspec_lifecycle.md.DY293cR1.js +28 -0
- package/docs/.vitepress/dist/assets/sillyspec_lifecycle.md.DY293cR1.lean.js +1 -0
- package/docs/.vitepress/dist/assets/sillyspec_structure.md.sVYS4zPs.js +30 -0
- package/docs/.vitepress/dist/assets/sillyspec_structure.md.sVYS4zPs.lean.js +1 -0
- package/docs/.vitepress/dist/assets/style.DFTx90Kk.css +1 -0
- package/docs/.vitepress/dist/hashmap.json +1 -0
- package/docs/.vitepress/dist/index.html +28 -0
- package/docs/.vitepress/dist/sillyspec/commands.html +42 -0
- package/docs/.vitepress/dist/sillyspec/dashboard.html +31 -0
- package/docs/.vitepress/dist/sillyspec/file-io.html +28 -0
- package/docs/.vitepress/dist/sillyspec/getting-started.html +31 -0
- package/docs/.vitepress/dist/sillyspec/install.html +32 -0
- package/docs/.vitepress/dist/sillyspec/lifecycle.html +55 -0
- package/docs/.vitepress/dist/sillyspec/structure.html +57 -0
- package/docs/.vitepress/dist/vp-icons.css +1 -0
- package/docs/index.md +34 -0
- package/docs/sillyspec/commands.md +218 -0
- package/docs/sillyspec/dashboard.md +51 -0
- package/docs/sillyspec/file-io.md +34 -0
- package/docs/sillyspec/getting-started.md +61 -0
- package/docs/sillyspec/install.md +51 -0
- package/docs/sillyspec/lifecycle.md +146 -0
- package/docs/sillyspec/structure.md +62 -0
- package/package.json +11 -9
- package/packages/dashboard/dist/assets/index-Bh-GPjKY.css +1 -0
- package/packages/dashboard/dist/assets/index-CrCn5Gg6.js +17 -0
- package/packages/dashboard/dist/index.html +2 -2
- package/packages/dashboard/package-lock.json +0 -220
- package/packages/dashboard/package.json +5 -8
- package/packages/dashboard/server/index.js +106 -255
- package/packages/dashboard/server/parser.js +29 -333
- package/packages/dashboard/server/watcher.js +131 -203
- package/packages/dashboard/src/App.vue +10 -181
- package/packages/dashboard/src/components/ActionBar.vue +42 -26
- package/packages/dashboard/src/components/CommandPalette.vue +65 -40
- package/packages/dashboard/src/components/DetailPanel.vue +53 -68
- package/packages/dashboard/src/components/LogStream.vue +33 -13
- package/packages/dashboard/src/components/PipelineStage.vue +8 -8
- package/packages/dashboard/src/components/PipelineView.vue +45 -80
- package/packages/dashboard/src/components/ProjectList.vue +45 -103
- package/packages/dashboard/src/components/StageBadge.vue +13 -13
- package/packages/dashboard/src/components/StepCard.vue +15 -15
- package/packages/dashboard/src/composables/useDashboard.js +6 -20
- package/packages/dashboard/src/composables/useKeyboard.js +4 -6
- package/packages/dashboard/src/main.js +1 -4
- package/packages/dashboard/src/style.css +17 -17
- package/src/index.js +12 -123
- package/src/init.js +227 -86
- package/src/setup.js +9 -1
- package/templates/archive.md +120 -0
- package/templates/brainstorm.md +170 -0
- package/{.claude/skills/sillyspec-commit/SKILL.md → templates/commit.md} +45 -29
- package/templates/continue.md +32 -0
- package/templates/execute.md +304 -0
- package/templates/explore.md +59 -0
- package/templates/export.md +21 -0
- package/templates/init.md +61 -0
- package/templates/plan.md +146 -0
- package/templates/quick.md +135 -0
- package/templates/scan-quick.md +49 -0
- package/templates/scan.md +156 -0
- package/templates/skills/playwright-e2e/SKILL.md +340 -0
- package/templates/status.md +75 -0
- package/templates/verify.md +236 -0
- package/templates/workspace-sync.md +99 -0
- package/templates/workspace.md +70 -0
- package/.claude/skills/sillyspec-archive/SKILL.md +0 -17
- package/.claude/skills/sillyspec-auto/SKILL.md +0 -77
- package/.claude/skills/sillyspec-brainstorm/SKILL.md +0 -17
- package/.claude/skills/sillyspec-continue/SKILL.md +0 -44
- package/.claude/skills/sillyspec-doctor/SKILL.md +0 -22
- package/.claude/skills/sillyspec-execute/SKILL.md +0 -17
- package/.claude/skills/sillyspec-explore/SKILL.md +0 -96
- package/.claude/skills/sillyspec-export/SKILL.md +0 -53
- package/.claude/skills/sillyspec-init/SKILL.md +0 -170
- package/.claude/skills/sillyspec-plan/SKILL.md +0 -52
- package/.claude/skills/sillyspec-propose/SKILL.md +0 -17
- package/.claude/skills/sillyspec-quick/SKILL.md +0 -17
- package/.claude/skills/sillyspec-resume/SKILL.md +0 -111
- package/.claude/skills/sillyspec-scan/SKILL.md +0 -17
- package/.claude/skills/sillyspec-state/SKILL.md +0 -54
- package/.claude/skills/sillyspec-status/SKILL.md +0 -17
- package/.claude/skills/sillyspec-verify/SKILL.md +0 -17
- package/.claude/skills/sillyspec-workspace/SKILL.md +0 -149
- package/.sillyspec/changes/archive/2026-04-08-derive-state/design.md +0 -97
- package/.sillyspec/changes/archive/2026-04-08-derive-state/plan.md +0 -51
- package/.sillyspec/changes/archive/2026-04-08-derive-state/proposal.md +0 -29
- package/.sillyspec/changes/archive/2026-04-08-derive-state/requirements.md +0 -34
- package/.sillyspec/changes/archive/2026-04-08-derive-state/tasks.md +0 -13
- package/.sillyspec/changes/archive/2026-04-08-derive-state/verify-result.md +0 -43
- package/.sillyspec/changes/auto-mode/design.md +0 -50
- package/.sillyspec/changes/auto-mode/proposal.md +0 -19
- package/.sillyspec/changes/auto-mode/requirements.md +0 -21
- package/.sillyspec/changes/auto-mode/tasks.md +0 -7
- package/.sillyspec/changes/brainstorm-archive/2026-04-05-unified-docs-design.md +0 -199
- package/.sillyspec/changes/dashboard/design.md.braindraft +0 -206
- package/.sillyspec/changes/run-command-design/design.md +0 -1230
- package/.sillyspec/changes/unified-docs-design/design.md +0 -199
- package/.sillyspec/docs/sillyspec/scan/.gitkeep +0 -0
- package/.sillyspec/knowledge/INDEX.md +0 -8
- package/.sillyspec/knowledge/uncategorized.md +0 -3
- package/.sillyspec/projects/sillyspec.yaml +0 -3
- package/packages/dashboard/dist/assets/index-D1EVTLmc.js +0 -7446
- package/packages/dashboard/dist/assets/index-DGe8CqeP.css +0 -1
- package/packages/dashboard/public/logo.jpg +0 -0
- package/packages/dashboard/src/components/DocPreview.vue +0 -160
- package/packages/dashboard/src/components/DocTree.vue +0 -58
- package/packages/dashboard/src/components/ProjectOverview.vue +0 -178
- package/packages/dashboard/src/components/detail/DocsDetail.vue +0 -48
- package/packages/dashboard/src/components/detail/GitDetail.vue +0 -61
- package/packages/dashboard/src/components/detail/TechDetail.vue +0 -43
- package/src/derive.js +0 -147
- package/src/migrate.js +0 -117
- package/src/progress.js +0 -495
- package/src/run.js +0 -640
- package/src/stages/archive.js +0 -54
- package/src/stages/brainstorm.js +0 -239
- package/src/stages/doctor.js +0 -312
- package/src/stages/execute.js +0 -259
- package/src/stages/index.js +0 -35
- package/src/stages/plan.js +0 -259
- package/src/stages/propose.js +0 -115
- package/src/stages/quick.js +0 -64
- package/src/stages/scan.js +0 -141
- package/src/stages/status.js +0 -65
- package/src/stages/verify.js +0 -135
- /package/.sillyspec/{changes/brainstorm-archive → specs}/2026-04-05-dashboard-design.md +0 -0
- /package/{packages/dashboard → docs/.vitepress}/dist/favicon.jpg +0 -0
- /package/{logo.jpg → docs/.vitepress/dist/logo.jpg} +0 -0
- /package/{packages/dashboard → docs}/public/favicon.jpg +0 -0
- /package/{packages/dashboard/dist → docs/public}/logo.jpg +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
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_file-io.md.Cz3x7llx.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" 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_file-io" data-v-39a288b8><div><h1 id="各阶段文件读写一览" tabindex="-1">各阶段文件读写一览 <a class="header-anchor" href="#各阶段文件读写一览" aria-label="Permalink to "各阶段文件读写一览""></a></h1><table tabindex="0"><thead><tr><th>阶段</th><th>📥 读取</th><th>📤 产出</th></tr></thead><tbody><tr><td><strong>brainstorm</strong></td><td>CODEBASE-OVERVIEW.md<br>projects/*.yaml<br>local.yaml<br>STRUCTURE.md(棕地)<br>CONVENTIONS.md(棕地)<br>ARCHITECTURE.md(棕地)<br>changes/(进行中)<br>~/.sillyspec/templates/</td><td>design.md<br>proposal.md<br>requirements.md<br>tasks.md</td></tr><tr><td><strong>plan</strong></td><td>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</td><td>plan.md(总览)<br>tasks/task-NN.md(蓝图)</td></tr><tr><td><strong>execute</strong></td><td>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</td><td>代码文件<br>勾选 task-N.md + plan.md checkbox</td></tr><tr><td><strong>verify</strong></td><td>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</td><td>验证报告<br>可能更新 design.md(Reverse Sync)</td></tr><tr><td><strong>quick</strong></td><td>projects/*.yaml<br>CONVENTIONS.md<br>local.yaml<br>knowledge/INDEX.md<br>design.md(有 --change)</td><td>代码文件<br>tasks.md(有 --change)<br>QUICKLOG</td></tr><tr><td><strong>scan</strong></td><td>projects/<em>.yaml<br>已有 scan/</em>.md<br>package.json / pom.xml 等<br>源文件(grep 搜索)</td><td>ARCHITECTURE.md<br>CONVENTIONS.md<br>STRUCTURE.md<br>INTEGRATIONS.md<br>TESTING.md<br>CONCERNS.md<br>PROJECT.md</td></tr><tr><td><strong>archive</strong></td><td>tasks.md<br>changes/<变更名>/ 目录下文件</td><td>archive/YYYY-MM-DD-<变更名>/(移动)<br>更新 progress.json</td></tr><tr><td><strong>doctor</strong></td><td>progress.json<br>projects/*.yaml<br>local.yaml<br>MCP 配置<br>构建文件</td><td>无(只检查报告)</td></tr></tbody></table><h2 id="全局注入-每个-step" tabindex="-1">全局注入(每个 step) <a class="header-anchor" href="#全局注入-每个-step" aria-label="Permalink to "全局注入(每个 step)""></a></h2><h3 id="persona" tabindex="-1">Persona <a class="header-anchor" href="#persona" aria-label="Permalink to "Persona""></a></h3><table tabindex="0"><thead><tr><th>阶段</th><th>角色</th></tr></thead><tbody><tr><td>brainstorm</td><td>🎯 资深架构师</td></tr><tr><td>plan</td><td>📋 技术项目经理</td></tr><tr><td>execute</td><td>💻 高级工程师</td></tr><tr><td>verify</td><td>🔍 QA 专家</td></tr><tr><td>quick</td><td>💻 全栈老兵</td></tr></tbody></table><h3 id="铁律" tabindex="-1">铁律 <a class="header-anchor" href="#铁律" aria-label="Permalink to "铁律""></a></h3><ol><li>文档是核心资产,代码是文档的产物</li><li>只做本步骤描述的操作,不得自行扩展或跳过</li><li>不要回头修改已完成的步骤</li><li>不要编造不存在的 CLI 子命令</li><li>完成后立即执行 <code>--done</code> 命令</li><li>文档类型文件头部必须包含 author 和 created_at</li><li>执行构建/测试前必须先读 local.yaml</li></ol></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/structure.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/dashboard.html" data-v-e257564d><!--[--><span class="desc" data-v-e257564d>Next page</span><span class="title" data-v-e257564d>Dashboard</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
|
|
25
|
+
<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>
|
|
26
|
+
|
|
27
|
+
</body>
|
|
28
|
+
</html>
|
|
@@ -0,0 +1,31 @@
|
|
|
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_getting-started.md.ClcvV8k3.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 active" 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" 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 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/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" 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_getting-started" 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><p><strong>推荐全局安装</strong>,直接使用 <code>sillyspec</code> 命令:</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;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> i</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -g</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sillyspec@latest</span></span></code></pre></div><blockquote><p>⚠️ 需要 Node.js >= 18。</p></blockquote><h2 id="初始化项目" tabindex="-1">初始化项目 <a class="header-anchor" href="#初始化项目" aria-label="Permalink to "初始化项目""></a></h2><p>进入你的项目目录,运行:</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</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> init</span></span></code></pre></div><p>零交互,自动检测你用的 AI 工具并安装对应模板。</p><p><strong>指定工具:</strong></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</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> init</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tool</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claude</span></span>
|
|
25
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> init</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tool</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cursor</span></span>
|
|
26
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> init</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tool</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> openclaw</span></span></code></pre></div><h2 id="选择入口" tabindex="-1">选择入口 <a class="header-anchor" href="#选择入口" aria-label="Permalink to "选择入口""></a></h2><p>根据你的情况,选一个开始:</p><table tabindex="0"><thead><tr><th>场景</th><th>命令</th><th>说明</th></tr></thead><tbody><tr><td>🟢 绿地项目(空目录)</td><td><code>/sillyspec:init</code></td><td>深度提问 → 需求文档 → 路线图</td></tr><tr><td>🟤 棕地项目(有代码)</td><td><code>/sillyspec:scan</code></td><td>交互式扫描代码库</td></tr><tr><td>💡 自由思考</td><td><code>/sillyspec:explore "想法"</code></td><td>讨论、画图、调研,不写代码</td></tr><tr><td>🧩 大模块</td><td><code>/sillyspec:brainstorm</code></td><td>直接贴原型图</td></tr><tr><td>🩺 项目自检</td><td><code>sillyspec run doctor</code></td><td>4 步自检环境</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>绿地:init → brainstorm → plan → execute → [verify] → archive</span></span>
|
|
27
|
+
<span class="line"><span>棕地:scan → brainstorm → plan → execute → [verify] → archive</span></span></code></pre></div><p>AI 通过 <code>sillyspec run <stage></code> 命令驱动流程,每个阶段的进度由 progress.json 自动追踪。</p><p>也可以跳过流程:</p><ul><li>小 bug:<code>/sillyspec:quick "修复 xxx"</code></li><li>不确定要做什么:<code>/sillyspec:explore "想法"</code></li><li>中断恢复:<code>/sillyspec:resume</code></li><li>不知道下一步:<code>/sillyspec:continue</code></li></ul><h2 id="skills-说明" tabindex="-1">Skills 说明 <a class="header-anchor" href="#skills-说明" aria-label="Permalink to "Skills 说明""></a></h2><p>SillySpec 的 skills 已精简为核心流程,每个 skill 对应一个明确阶段,不再有多余的中间层。</p></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><!----></div><div class="pager" data-v-e257564d><a class="VPLink link pager-link next" href="/sillyspec/install.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>
|
|
28
|
+
<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>
|
|
29
|
+
|
|
30
|
+
</body>
|
|
31
|
+
</html>
|
|
@@ -0,0 +1,32 @@
|
|
|
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_install.md.CKuR2tiT.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 active" 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" 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 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/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" 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_install" 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><ul><li><strong>Node.js</strong> >= 18</li><li>支持 macOS / Linux / Windows</li></ul><h2 id="安装" tabindex="-1">安装 <a class="header-anchor" href="#安装" aria-label="Permalink to "安装""></a></h2><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;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> i</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -g</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sillyspec@latest</span></span></code></pre></div><blockquote><p>💡 <strong>推荐全局安装</strong>,安装后直接使用 <code>sillyspec</code> 命令。</p></blockquote><h2 id="升级" tabindex="-1">升级 <a class="header-anchor" href="#升级" aria-label="Permalink to "升级""></a></h2><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;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> i</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -g</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> sillyspec@latest</span></span></code></pre></div><p>就这么简单,覆盖安装即可。</p><h2 id="支持的-ai-工具" tabindex="-1">支持的 AI 工具 <a class="header-anchor" href="#支持的-ai-工具" aria-label="Permalink to "支持的 AI 工具""></a></h2><table tabindex="0"><thead><tr><th>工具</th><th><code>--tool</code> 参数</th><th>输出目录</th><th>格式</th></tr></thead><tbody><tr><td>Claude Code (commands)</td><td><code>claude</code></td><td><code>.claude/commands/sillyspec/</code></td><td>slash commands</td></tr><tr><td>Claude Code (skills)</td><td><code>claude_skills</code></td><td><code>.claude/skills/sillyspec-<name>/</code></td><td>SKILL.md</td></tr><tr><td>Cursor</td><td><code>cursor</code></td><td><code>.cursor/commands/</code></td><td>custom commands</td></tr><tr><td>Codex</td><td><code>codex</code></td><td><code>~/.agents/skills/sillyspec-<name>/</code></td><td>SKILL.md</td></tr><tr><td>OpenCode</td><td><code>opencode</code></td><td><code>.opencode/skills/sillyspec-<name>/</code></td><td>SKILL.md</td></tr><tr><td>OpenClaw</td><td><code>openclaw</code></td><td><code>.openclaw/skills/sillyspec-<name>/</code></td><td>SKILL.md</td></tr></tbody></table><h2 id="init-选项" tabindex="-1">init 选项 <a class="header-anchor" href="#init-选项" aria-label="Permalink to "init 选项""></a></h2><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;"> init</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 自动检测工具</span></span>
|
|
25
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> init</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --tool</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> claude</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 指定工具</span></span>
|
|
26
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> init</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --interactive</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 交互式引导</span></span>
|
|
27
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> init</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /path/to</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 指定目录</span></span></code></pre></div><h2 id="mcp-增强" tabindex="-1">MCP 增强 <a class="header-anchor" href="#mcp-增强" aria-label="Permalink to "MCP 增强""></a></h2><p>安装推荐的 MCP 工具(如 Playwright、文件搜索等):</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</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> setup</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 安装</span></span>
|
|
28
|
+
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sillyspec</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> setup</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --list</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 查看已安装状态</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/getting-started.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/commands.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>
|
|
29
|
+
<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>
|
|
30
|
+
|
|
31
|
+
</body>
|
|
32
|
+
</html>
|
|
@@ -0,0 +1,55 @@
|
|
|
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>
|
|
@@ -0,0 +1,57 @@
|
|
|
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>
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
---
|