import{_ as s,o as e,c as i,a2 as t}from"./chunks/framework.CJEbdX1t.js";const k=JSON.parse('{"title":"Installation","description":"","frontmatter":{},"headers":[],"relativePath":"getting-started/installation.md","filePath":"getting-started/installation.md"}'),n={name:"getting-started/installation.md"};function l(d,a,o,p,r,h){return e(),i("div",null,[...a[0]||(a[0]=[t(`<h1 id="installation" tabindex="-1">Installation <a class="header-anchor" href="#installation" aria-label="Permalink to &quot;Installation&quot;">​</a></h1><p>Specwright can be installed in four ways: as a GitHub App, a Claude Code plugin, an MCP server, or self-hosted on Kubernetes.</p><h2 id="github-app" tabindex="-1">GitHub App <a class="header-anchor" href="#github-app" aria-label="Permalink to &quot;GitHub App&quot;">​</a></h2><p>The GitHub App provides automated PR analysis, spec tracking, ticket sync, and doc maintenance.</p><h3 id="_1-install-the-app" tabindex="-1">1. Install the App <a class="header-anchor" href="#_1-install-the-app" aria-label="Permalink to &quot;1. Install the App&quot;">​</a></h3><p>Visit the <a href="https://github.com/apps/specwright" target="_blank" rel="noreferrer">Specwright GitHub App</a> page and click <strong>Install</strong>. Select your organization and choose which repositories to enable.</p><h3 id="_2-add-specwright-yaml" tabindex="-1">2. Add SPECWRIGHT.yaml <a class="header-anchor" href="#_2-add-specwright-yaml" aria-label="Permalink to &quot;2. Add SPECWRIGHT.yaml&quot;">​</a></h3><p>Create a <code>SPECWRIGHT.yaml</code> file in your repository root:</p><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;1&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">specs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">  doc_paths</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;docs/specs/*.md&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">agents</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">  pr_analysis</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">  doc_updates</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">  realization_check</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span></span></code></pre></div><h3 id="_3-add-a-spec" tabindex="-1">3. Add a Spec <a class="header-anchor" href="#_3-add-a-spec" aria-label="Permalink to &quot;3. Add a Spec&quot;">​</a></h3><p>Create your first spec in <code>docs/specs/</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;">mkdir</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs/specs</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs/specs/_template.md</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs/specs/my-feature.md</span></span></code></pre></div><h3 id="_4-open-a-pr" tabindex="-1">4. Open a PR <a class="header-anchor" href="#_4-open-a-pr" aria-label="Permalink to &quot;4. Open a PR&quot;">​</a></h3><p>The Specwright bot will analyze your PR against the relevant specs and post a comment with spec references, discrepancies, and realization status.</p><h2 id="claude-code-plugin" tabindex="-1">Claude Code Plugin <a class="header-anchor" href="#claude-code-plugin" aria-label="Permalink to &quot;Claude Code Plugin {#claude-code-plugin}&quot;">​</a></h2><p>The Claude Code plugin adds spec-driven development commands to your Claude Code sessions.</p><h3 id="install" tabindex="-1">Install <a class="header-anchor" href="#install" aria-label="Permalink to &quot;Install&quot;">​</a></h3><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;">claude</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> plugin</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Gerner-Ventures/gv-exp-specwright</span></span></code></pre></div><h3 id="available-commands" tabindex="-1">Available Commands <a class="header-anchor" href="#available-commands" aria-label="Permalink to &quot;Available Commands&quot;">​</a></h3><table tabindex="0"><thead><tr><th>Command</th><th>Description</th></tr></thead><tbody><tr><td><code>/sw:context</code></td><td>Load spec context for your current task</td></tr><tr><td><code>/sw:task</code></td><td>Pick up a task, implement ACs, mark done</td></tr><tr><td><code>/sw:verify</code></td><td>Verify code against spec acceptance criteria</td></tr><tr><td><code>/sw:new</code></td><td>Create a new spec from template</td></tr><tr><td><code>/sw:review</code></td><td>Review changes against all documentation</td></tr><tr><td><code>/sw:status</code></td><td>Show spec coverage dashboard</td></tr><tr><td><code>/sw:plan</code></td><td>Spec-driven planning workflow</td></tr><tr><td><code>/sw:update</code></td><td>Update spec statuses from code evidence</td></tr></tbody></table><h2 id="mcp-server" tabindex="-1">MCP Server <a class="header-anchor" href="#mcp-server" aria-label="Permalink to &quot;MCP Server {#mcp-server}&quot;">​</a></h2><p>The MCP server connects any MCP-compatible coding agent to the Specwright knowledge base.</p><h3 id="configure-in-claude-code" tabindex="-1">Configure in Claude Code <a class="header-anchor" href="#configure-in-claude-code" aria-label="Permalink to &quot;Configure in Claude Code&quot;">​</a></h3><p>Add to your Claude Code MCP settings:</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>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">  &quot;mcpServers&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;specwright&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;command&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;uvx&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">      &quot;args&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;specwright&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;mcp&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h3 id="available-tools" tabindex="-1">Available Tools <a class="header-anchor" href="#available-tools" aria-label="Permalink to &quot;Available Tools&quot;">​</a></h3><ul><li><code>search</code> — Hybrid search (vector + BM25) across all indexed specs and docs</li><li><code>get_spec</code> / <code>get_section</code> — Read parsed spec data with frontmatter, sections, and ACs</li><li><code>create_spec</code> — Create new specs from templates</li><li><code>update_section_status</code> — Update section statuses</li><li><code>add_realization</code> — Link code evidence to acceptance criteria</li><li><code>sync_spec_status</code> — Bulk updates in one commit</li></ul><h3 id="configure-in-cursor-vs-code" tabindex="-1">Configure in Cursor / VS Code <a class="header-anchor" href="#configure-in-cursor-vs-code" aria-label="Permalink to &quot;Configure in Cursor / VS Code&quot;">​</a></h3><p>MCP configuration varies by editor. Consult your editor&#39;s MCP documentation and point it at the Specwright MCP server endpoint.</p><h2 id="self-hosted" tabindex="-1">Self-Hosted <a class="header-anchor" href="#self-hosted" aria-label="Permalink to &quot;Self-Hosted {#self-hosted}&quot;">​</a></h2><p>For full control over your data and configuration, deploy Specwright to your own Kubernetes cluster.</p><p>See the <a href="/docs/guides/self-hosting.html">Self-Hosting Guide</a> for detailed instructions covering:</p><ul><li>GitHub App creation</li><li>Kubernetes secret management</li><li>Helm chart installation</li><li>Jira/Linear/GitHub Issues configuration</li><li>DevSpace dev environment setup</li></ul>`,33)])])}const u=s(n,[["render",l]]);export{k as __pageData,u as default};
