Skip to content

Commit 4f5c51f

Browse files
chore: add GitHub Pages docs site and deploy workflow
Adds website/ with 10 external-facing documentation pages (getting started, core concepts, CLI reference, MCP server, web dashboard, CLAUDE.md generator, Claude Code plugin, configuration, self-hosting, contributing) built with Jekyll and the Just the Docs theme. Adds .github/workflows/docs.yml to auto-deploy on pushes to main.
1 parent 1bbe1f5 commit 4f5c51f

14 files changed

Lines changed: 2418 additions & 0 deletions

.github/workflows/docs.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Deploy docs to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "website/**"
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: read
13+
pages: write
14+
id-token: write
15+
16+
concurrency:
17+
group: "pages"
18+
cancel-in-progress: false
19+
20+
jobs:
21+
build:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v4
26+
27+
- name: Setup Ruby
28+
uses: ruby/setup-ruby@v1
29+
with:
30+
ruby-version: "3.3"
31+
bundler-cache: true
32+
working-directory: website
33+
34+
- name: Setup Pages
35+
id: pages
36+
uses: actions/configure-pages@v5
37+
38+
- name: Build with Jekyll
39+
working-directory: website
40+
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
41+
env:
42+
JEKYLL_ENV: production
43+
44+
- name: Upload artifact
45+
uses: actions/upload-pages-artifact@v3
46+
with:
47+
path: website/_site
48+
49+
deploy:
50+
environment:
51+
name: github-pages
52+
url: ${{ steps.deployment.outputs.page_url }}
53+
runs-on: ubuntu-latest
54+
needs: build
55+
steps:
56+
- name: Deploy to GitHub Pages
57+
id: deployment
58+
uses: actions/deploy-pages@v4

website/Gemfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
source "https://rubygems.org"
2+
3+
gem "jekyll", "~> 4.3"
4+
gem "just-the-docs", "~> 0.10"
5+
gem "jekyll-seo-tag"
6+
gem "jekyll-github-metadata"

website/_config.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
title: repowise
2+
description: Codebase intelligence for developers and AI.
3+
baseurl: ""
4+
url: "https://repowise-dev.github.io"
5+
6+
theme: just-the-docs
7+
8+
logo: "/assets/images/logo.png"
9+
10+
# Aux links for the upper right navigation
11+
aux_links:
12+
"GitHub":
13+
- "https://github.com/repowise-dev/repowise"
14+
"PyPI":
15+
- "https://pypi.org/project/repowise/"
16+
17+
aux_links_new_tab: true
18+
19+
# Footer content
20+
footer_content: "Copyright &copy; 2025 repowise. Distributed under the <a href=\"https://github.com/repowise-dev/repowise/blob/main/LICENSE\">AGPL-3.0 License</a>."
21+
22+
# Color scheme
23+
color_scheme: dark
24+
25+
# Enable search
26+
search_enabled: true
27+
search:
28+
heading_level: 2
29+
previews: 2
30+
preview_words_before: 3
31+
preview_words_after: 3
32+
tokenizer_separator: /[\s/]+/
33+
rel_url: true
34+
button: false
35+
36+
# Navigation
37+
nav_sort: order
38+
39+
# Callouts
40+
callouts_level: quiet
41+
callouts:
42+
highlight:
43+
color: yellow
44+
important:
45+
title: Important
46+
color: blue
47+
new:
48+
title: New
49+
color: green
50+
note:
51+
title: Note
52+
color: purple
53+
warning:
54+
title: Warning
55+
color: red
56+
57+
# Back to top button
58+
back_to_top: true
59+
back_to_top_text: "Back to top"
60+
61+
# Last edit timestamp
62+
last_edit_timestamp: true
63+
last_edit_time_format: "%b %e %Y at %I:%M %p"
64+
65+
# Heading anchors
66+
heading_anchors: true
67+
68+
# Plugins
69+
plugins:
70+
- jekyll-seo-tag
71+
- jekyll-github-metadata
72+
73+
# Exclude from processing
74+
exclude:
75+
- "*.gemspec"
76+
- "Gemfile"
77+
- "Gemfile.lock"
78+
- "node_modules"
79+
- "vendor"

website/claude-code-plugin.md

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
---
2+
layout: default
3+
title: Claude Code Plugin
4+
nav_order: 8
5+
---
6+
7+
# Claude Code Plugin
8+
{: .no_toc }
9+
10+
The fastest way to get repowise — Claude handles everything.
11+
{: .fs-6 .fw-300 }
12+
13+
---
14+
15+
## Table of contents
16+
{: .no_toc .text-delta }
17+
18+
1. TOC
19+
{:toc}
20+
21+
---
22+
23+
## Overview
24+
25+
The Claude Code plugin integrates repowise directly into Claude Code. It handles installation, API key setup, MCP server registration, and teaches Claude to use repowise tools proactively — without manual configuration.
26+
27+
---
28+
29+
## Installation
30+
31+
Open Claude Code and run:
32+
33+
```
34+
/plugin marketplace add repowise-dev/repowise-plugin
35+
/plugin install repowise@repowise
36+
```
37+
38+
That's the entire installation. The plugin:
39+
40+
- Installs `repowise` via pip if not already installed
41+
- Registers the MCP server with Claude Code
42+
- Loads the slash commands
43+
- Configures Claude to use repowise tools automatically
44+
45+
---
46+
47+
## Slash commands
48+
49+
### `/repowise:init`
50+
51+
Interactive setup and indexing for the current repository.
52+
53+
Claude will guide you through:
54+
55+
1. **Mode selection** — choose between:
56+
- **Full** — complete wiki generation with LLM docs (requires API key)
57+
- **Index-only** — graph + git + dead code, no LLM (free)
58+
- **Advanced** — manual control over provider, concurrency, exclude patterns
59+
60+
2. **Provider selection** — Anthropic, OpenAI, Gemini, or local Ollama
61+
62+
3. **API key entry** — saved to `.repowise/.env` (gitignored)
63+
64+
4. **Indexing** — runs in the background with live progress updates
65+
66+
When done, Claude confirms the MCP server is active and the codebase is queryable.
67+
68+
---
69+
70+
### `/repowise:status`
71+
72+
Show the current state of the repowise index.
73+
74+
Output includes:
75+
- Last sync commit and timestamp
76+
- Total pages, symbols, decisions indexed
77+
- Provider and model in use
78+
- Pages marked stale (need regeneration)
79+
- MCP server connection status
80+
81+
---
82+
83+
### `/repowise:update`
84+
85+
Incrementally sync the wiki after code changes.
86+
87+
Claude detects which files have changed since the last indexed commit, regenerates only the affected pages, updates CLAUDE.md, and confirms when done.
88+
89+
---
90+
91+
### `/repowise:search`
92+
93+
Search the indexed wiki from within Claude Code.
94+
95+
Claude will ask for your query and search mode (fulltext, semantic, or symbol), then display results inline with links to relevant pages.
96+
97+
---
98+
99+
### `/repowise:reindex`
100+
101+
Rebuild the vector search index without making LLM calls.
102+
103+
Use this after switching embedding providers, or if semantic search results seem off.
104+
105+
---
106+
107+
## Automatic behaviors
108+
109+
Beyond the slash commands, the plugin teaches Claude skills it uses automatically — without being asked.
110+
111+
### Codebase exploration
112+
113+
Before reading raw source files, Claude calls:
114+
115+
- `get_overview()` at the start of new tasks to orient itself
116+
- `search_codebase(query)` to locate code instead of using grep
117+
- `get_context(targets)` to get docs and ownership before opening files
118+
119+
### Pre-modification checks
120+
121+
Before editing any file, Claude calls `get_risk(targets)` to assess:
122+
123+
- Whether the file is a hotspot (high churn)
124+
- How many other files depend on it
125+
- Whether there are co-change patterns to be aware of
126+
127+
If the risk is high, Claude surfaces this before making changes.
128+
129+
### Architectural decision queries
130+
131+
When facing "why is this structured this way" questions, Claude calls `get_why(query)` to check decision records and git archaeology before suggesting changes that might conflict with existing decisions.
132+
133+
### Dead code awareness
134+
135+
During refactoring or cleanup tasks, Claude calls `get_dead_code()` to find confirmed unused code rather than guessing.
136+
137+
---
138+
139+
## How skills work
140+
141+
Skills in Claude Code are prompt instructions that modify Claude's behavior. The repowise plugin registers four skills that Claude loads when working in an indexed repo.
142+
143+
You don't need to trigger them manually. When Claude detects it's working in a repo with a connected repowise MCP server, the skills activate automatically.
144+
145+
The CLAUDE.md generator reinforces these skills by writing the mandatory MCP tool workflow directly into your project's context file — so even without the plugin, any Claude session that reads your CLAUDE.md will follow the same workflow.
146+
147+
---
148+
149+
## Requirements
150+
151+
- Claude Code (desktop app, CLI, or IDE extension)
152+
- Python 3.11+
153+
- An LLM API key (for full mode — not needed for index-only)

0 commit comments

Comments
 (0)