Skip to content

Commit 6bd79c5

Browse files
authored
Merge pull request #13 from DataRecce/feat/plugin-rename-and-recce-dev
refactor(plugin): rename recce-dev to recce, add recce-dev for internal tooling
2 parents a2b6c04 + 1776a01 commit 6bd79c5

39 files changed

Lines changed: 2214 additions & 273 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,20 @@
1818
"email": "support@datarecce.io"
1919
}
2020
},
21+
{
22+
"name": "recce",
23+
"source": "./plugins/recce",
24+
"description": "Intelligent data review workflow for dbt developers",
25+
"version": "0.2.0",
26+
"author": {
27+
"name": "DataRecce",
28+
"email": "support@datarecce.io"
29+
}
30+
},
2131
{
2232
"name": "recce-dev",
2333
"source": "./plugins/recce-dev",
24-
"description": "Intelligent data review workflow for dbt developers",
34+
"description": "Internal development and testing tools for the Recce project",
2535
"version": "0.1.0",
2636
"author": {
2737
"name": "DataRecce",
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Validates that committed bundles match what would be produced from current source.
2+
# Fails PRs where packages/recce-docs-mcp/src/** changed but dist/cli.js was not rebuilt.
3+
#
4+
# Pattern: check-dist (canonical from actions/typescript-action)
5+
# Ref: https://github.com/actions/typescript-action/blob/main/.github/workflows/check-dist.yml
6+
name: Check Bundle Freshness
7+
8+
on:
9+
push:
10+
paths:
11+
- 'packages/recce-docs-mcp/src/**'
12+
pull_request:
13+
paths:
14+
- 'packages/recce-docs-mcp/src/**'
15+
16+
permissions:
17+
contents: read
18+
19+
jobs:
20+
bundle-freshness:
21+
name: bundle-freshness
22+
runs-on: ubuntu-latest
23+
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Setup Node.js
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: '20'
32+
33+
- name: Install dependencies
34+
run: npm ci --prefix packages/recce-docs-mcp
35+
36+
- name: Rebuild bundle
37+
run: bash packages/recce-docs-mcp/scripts/build-bundle.sh
38+
39+
- name: Check bundle freshness
40+
id: diff
41+
run: |
42+
DIFF_LINES=$(git diff --ignore-space-at-eol --text -- "plugins/*/servers/recce-docs-mcp/dist/cli.js" | wc -l)
43+
if [ "$DIFF_LINES" -gt "0" ]; then
44+
echo "ERROR: bundle is stale after rebuild. Did you forget to commit the updated bundle?"
45+
echo ""
46+
echo "Rebuild with:"
47+
echo " cd packages/recce-docs-mcp && npm run build:bundle"
48+
echo " git add plugins/recce/servers/recce-docs-mcp/dist/cli.js"
49+
echo " git add plugins/recce-quickstart/servers/recce-docs-mcp/dist/cli.js"
50+
echo " git commit -m 'chore: rebuild bundle'"
51+
git diff --stat -- "plugins/*/servers/recce-docs-mcp/dist/cli.js"
52+
exit 1
53+
fi
54+
echo "Bundle is fresh."
55+
56+
- name: Upload expected bundle on failure
57+
if: failure() && steps.diff.outcome == 'failure'
58+
uses: actions/upload-artifact@v4
59+
with:
60+
name: expected-bundle
61+
path: |
62+
plugins/recce/servers/recce-docs-mcp/dist/cli.js
63+
plugins/recce-quickstart/servers/recce-docs-mcp/dist/cli.js

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Design documents (personal drafts, not for version control)
22
docs/plans/
33

4+
# Root node_modules (esbuild installed here is not tracked; use packages/recce-docs-mcp/node_modules)
5+
node_modules/
6+
47
# GSD planning (local-only)
58
.planning/
69

README.md

Lines changed: 43 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,110 +1,99 @@
1-
# Recce Quickstart Plugin for Claude Code
1+
# Recce Plugins for Claude Code
22

3-
A Claude Code plugin that helps dbt users quickly onboard to [Recce](https://datarecce.io) - the open-source data validation and diff tool for dbt.
3+
Official [Recce](https://datarecce.io) plugins for Claude Code — data validation and diff tools for dbt developers.
44

5-
## Features
5+
## Plugins
66

7-
- **Guided Setup** - `/recce-setup` walks you through environment configuration
8-
- **PR Analysis** - `/recce-pr` analyzes data impact of pull requests
9-
- **Data Checks** - `/recce-check` runs validation checks between environments
10-
- **CI/CD Setup** - `/recce-ci` generates GitHub Actions workflows for Recce Cloud
7+
| Plugin | Description | Audience |
8+
|--------|-------------|----------|
9+
| **recce-quickstart** | Guided onboarding — `/recce-setup`, `/recce-pr`, `/recce-check`, `/recce-ci` | New Recce users |
10+
| **recce** | Intelligent data review workflow — auto-tracks model changes, triggers progressive validation via MCP | dbt developers using Recce daily |
11+
| **recce-dev** | Internal MCP E2E validation and benchmarking (`/mcp-e2e-validate`) | Recce project developers |
1112

1213
## Installation
1314

14-
### Method 1: From GitHub Marketplace (Recommended)
15+
### From GitHub Marketplace (Recommended)
1516

1617
**Step 1: Add the Recce marketplace to Claude Code**
1718

18-
In Claude Code, run:
1919
```
2020
/plugin marketplace add DataRecce/recce-claude-plugin
2121
```
2222

23-
**Step 2: Install the plugin**
23+
**Step 2: Install a plugin**
24+
2425
```
2526
/plugin install recce-quickstart@recce-claude-plugin
27+
/plugin install recce@recce-claude-plugin
2628
```
2729

2830
Or use the interactive installer:
2931
```
3032
/plugin
3133
```
32-
Then navigate to **Discover** tab, find `recce-quickstart`, and press Enter to install.
34+
Then navigate to **Discover** tab and select the plugin to install.
3335

34-
### Method 2: Local Installation (For Development)
36+
### Local Installation (For Development)
3537

36-
**Step 1: Clone the repository**
3738
```bash
3839
git clone https://github.com/DataRecce/recce-claude-plugin.git
3940
cd recce-claude-plugin
4041
```
4142

42-
**Step 2: Add as local marketplace**
43-
44-
In Claude Code, run:
43+
In Claude Code:
4544
```
4645
/plugin marketplace add /path/to/recce-claude-plugin
47-
```
48-
49-
**Step 3: Install the plugin**
50-
```
51-
/plugin install recce-quickstart@recce-claude-plugin
46+
/plugin install recce@recce-claude-plugin
5247
```
5348

5449
### Installation Scopes
5550

56-
You can install the plugin at different scopes:
57-
5851
| Scope | Command | Description |
5952
|-------|---------|-------------|
6053
| User (default) | `/plugin install ...` | Available across all your projects |
6154
| Project | `/plugin install ... --scope project` | Shared with team via `.claude/settings.json` |
6255
| Local | `/plugin install ... --scope local` | Only for current repository, not shared |
6356

64-
### Verify Installation
65-
66-
After installation, verify the plugin is working:
67-
```
68-
/plugin
69-
```
70-
Navigate to the **Installed** tab to see `recce-quickstart`.
71-
72-
## Quick Start
57+
## Plugin Details
7358

74-
1. Navigate to your dbt project directory
75-
2. Run `/recce-setup` to configure your environment
76-
3. Use `/recce-pr` or `/recce-check` to analyze data changes
59+
### recce-quickstart
7760

78-
## Commands
61+
Guided setup for new Recce users:
7962

8063
| Command | Description |
8164
|---------|-------------|
82-
| `/recce-setup` | Guided environment setup (installs dependencies, generates artifacts, starts MCP server) |
65+
| `/recce-setup` | Environment setup (installs dependencies, generates artifacts, starts MCP server) |
8366
| `/recce-pr [url]` | Analyze PR data changes (auto-detects PR from current branch) |
8467
| `/recce-check [type] [selector]` | Run data validation checks (row-count, schema, profile, query-diff) |
85-
| `/recce-ci` | Set up Recce Cloud CI/CD for GitHub Actions (PR review + main branch workflows) |
68+
| `/recce-ci` | Set up Recce Cloud CI/CD for GitHub Actions |
69+
70+
### recce
71+
72+
Automated data review workflow for daily dbt development:
73+
74+
- **Skill:** `/recce-review` — dispatches the recce-reviewer agent with tracked model context
75+
- **Agent:** `recce-reviewer` — runs progressive diff analysis (lineage, row count, schema) and produces a risk-assessed summary
76+
- **Hooks:** auto-tracks model file changes, suggests review after `dbt run`, warns before unreviewed commits
77+
- **MCP Servers:** `recce` (SSE, localhost:8081), `recce-docs` (stdio)
78+
79+
### recce-dev
80+
81+
Internal tools for Recce project developers:
82+
83+
- **Skill:** `/mcp-e2e-validate` — full event chain validation + benchmark report
84+
- **Script:** `resolve-recce-root.sh` — cross-plugin path resolution (monorepo + cache layouts)
85+
- **Requires:** the `recce` plugin installed alongside
8686

8787
## Requirements
8888

8989
- **Python 3.8+**
9090
- **dbt** (any adapter: duckdb, postgres, bigquery, snowflake, etc.)
9191
- **Git**
92+
- **Recce >= 1.39.0**`pip install "recce>=1.39.0"` (SSE transport requires this version)
9293

93-
The plugin will guide you to install these if missing:
94-
- `pip install recce` - Recce CLI
95-
- `pip install 'recce[mcp]'` - Recce MCP Server (for AI-powered analysis)
94+
## MCP Server Tools
9695

97-
## How It Works
98-
99-
This plugin:
100-
1. **Detects** when you're in a dbt project (via `dbt_project.yml`)
101-
2. **Guides** you to set up base and current dbt artifacts
102-
3. **Starts** a Recce MCP server for AI-powered analysis
103-
4. **Provides** Claude with tools to analyze data changes
104-
105-
### MCP Server Tools
106-
107-
When the Recce MCP server is running, Claude has access to these tools:
96+
When the Recce MCP server is running, Claude has access to:
10897

10998
| Tool | Description |
11099
|------|-------------|
@@ -114,36 +103,6 @@ When the Recce MCP server is running, Claude has access to these tools:
114103
| `profile_diff` | Statistical profiling comparison |
115104
| `query_diff` | Run custom SQL queries for comparison |
116105

117-
## Managing the Plugin
118-
119-
**Disable the plugin:**
120-
```
121-
/plugin disable recce-quickstart@recce-claude-plugin
122-
```
123-
124-
**Re-enable the plugin:**
125-
```
126-
/plugin enable recce-quickstart@recce-claude-plugin
127-
```
128-
129-
**Uninstall the plugin:**
130-
```
131-
/plugin uninstall recce-quickstart@recce-claude-plugin
132-
```
133-
134-
**Update marketplace:**
135-
```
136-
/plugin marketplace update recce-claude-plugin
137-
```
138-
139-
## Recce Cloud
140-
141-
Want to automate data validation in CI/CD? [Recce Cloud](https://cloud.datarecce.io) offers:
142-
- Automatic PR analysis
143-
- Data quality gates
144-
- Team collaboration
145-
- Historical tracking
146-
147106
## Troubleshooting
148107

149108
### Plugin not loading?
@@ -155,11 +114,9 @@ Want to automate data validation in CI/CD? [Recce Cloud](https://cloud.datarecce
155114
1. Ensure you're in a dbt project directory (has `dbt_project.yml`)
156115
2. Verify Recce is installed: `pip install 'recce[mcp]'`
157116
3. Check if port 8081 is available (or set `RECCE_MCP_PORT=8085`)
158-
4. Run the setup command: `/recce-setup`
159117

160-
### Commands not recognized?
161-
1. Ensure plugin is enabled: `/plugin`**Installed** tab → check status
162-
2. Restart Claude Code to reload plugins
118+
### Mid-session plugin install?
119+
Hooks and MCP tools require a fresh session to activate. Restart Claude Code after installing plugins.
163120

164121
## Links
165122

packages/recce-docs-mcp/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
node_modules/
22
cache/*.json
33
cache/pages/
4+
dist-bundle/

0 commit comments

Comments
 (0)