checkmyvibe 1.2.0 β†’ 1.3.0

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 CHANGED
@@ -1,77 +1,280 @@
1
- # checkmyvibe
1
+ # checkmyvibe πŸ›‘οΈ
2
2
 
3
- A structured, zero-dependency, local production readiness and code quality workflow packaged as an Agent Skill for AI coding assistants. Built for Claude Code today; the skill and command files can be adapted to other agents' rule/command formats.
3
+ <div align="center">
4
4
 
5
- AI-generated ("vibe-coded") applications built on modern AI tools frequently ship with serious, well-documented configuration and quality issuesβ€”such as exposed API keys, fake authentication stubs, permissive default database rules, and client-side pricing logic. **checkmyvibe** solves this by packaging readiness and verification checks directly into an Agent Skill. When you ask your coding agent to "run checkmyvibe" or "perform a readiness check", the agent uses checkmyvibe's local helper scripts and its own reasoning capabilities to analyze your codebase, producing a prioritized report detailing what configuration issues or gaps exist, why they matter, and how to fix them.
5
+ **Production Readiness & Code Quality Agent Skill for AI Coding Assistants**
6
+
7
+ *Catch scaffolding traps, exposed secrets, fake auth, database misconfigurations, and client-side pricing leaks before your users or attackers do.*
8
+
9
+ [![npm version](https://img.shields.io/npm/v/checkmyvibe?color=blue&style=flat-square)](https://www.npmjs.com/package/checkmyvibe)
10
+ [![License](https://img.shields.io/badge/license-Apache--2.0-green?style=flat-square)](LICENSE)
11
+ [![Zero Dependencies](https://img.shields.io/badge/dependencies-0-success?style=flat-square)](package.json)
12
+ [![Privacy](https://img.shields.io/badge/privacy-100%25%20local-blueviolet?style=flat-square)](#-zero-dependencies--100-local-privacy)
13
+ [![Harnesses](https://img.shields.io/badge/agents-Claude%20Code%20%7C%20Cursor%20%7C%20Codex%20%7C%20Gemini%20%7C%20OpenCode-orange?style=flat-square)](#-multi-agent--platform-support)
14
+
15
+ [Quick Start](#-quick-start) β€’ [Why checkmyvibe?](#-why-checkmyvibe) β€’ [How It Works](#-how-it-works) β€’ [What It Checks](#-the-7-deep-readiness-checks) β€’ [Scoped Scans](#-targeted--scoped-scanning) β€’ [Sample Report](#-sample-report-preview) β€’ [Agent Setup](#-multi-agent--platform-support)
16
+
17
+ </div>
6
18
 
7
19
  ---
8
20
 
9
- ## What This Checks For
21
+ ## ⚑ Quick Start
22
+
23
+ Install and configure `checkmyvibe` in under 30 seconds:
24
+
25
+ ```bash
26
+ npx checkmyvibe
27
+ ```
10
28
 
11
- * **Exposed Secrets & API Keys:** Identifies hardcoded API keys, JWT secrets, database credentials, and high-entropy strings across your files (using standard prefixes like `sk_live`, `AIza`, `AKIA`, and `ghp_`).
12
- * **Version Control Leakage:** Verifies if sensitive files (like `.env`) exist in the project but are not properly excluded in your `.gitignore` file.
13
- * **Fake & Stubbed Authentication:** Greps for common mock authentication markers (such as functions named `mockAuth`, `fakeLogin`, `tempAuth`, or logic that returns `true` unconditionally to bypass authentication checks).
14
- * **Database Misconfigurations:** Identifies permissive default rules (such as `allow read, write: if true;` in Firebase/Firestore configs) and checks if Row-Level Security (RLS) is enabled on Supabase database schemas.
15
- * **Broken Object-Level Authorization (BOLA/IDOR):** Analyzes API routes to check if endpoints fetch resources by ID without validating that the authenticated user owns or has permission to access that resource.
16
- * **Client-Side Payment & Pricing Logic:** Scans checkout routes and payment integrations to check if prices or transaction values are calculated or accepted directly from client-side parameters rather than securely fetched on the server, and verifies that payment webhooks validate provider signatures before trusting event payloads.
29
+ The interactive installer detects your environment (Claude Code, Cursor, OpenCode, Codex, Gemini CLI) and installs the skill and slash commands locally or globally.
30
+
31
+ Then ask your AI coding assistant:
32
+
33
+ ```text
34
+ /checkmyvibe
35
+ ```
36
+ *or simply prompt:*
37
+ > *"Check my vibe and verify if this codebase is ready to ship to production."*
17
38
 
18
39
  ---
19
40
 
20
- ## What This Does NOT Check For (Disclaimer)
41
+ ## πŸ’‘ Why checkmyvibe?
21
42
 
22
- > [!WARNING]
23
- > **checkmyvibe is not a substitute for a full professional external security audit.**
24
- > This tool is a first-pass quality and readiness checklist meant to highlight common mistakes and temporary scaffolding shortcuts made by AI coding models during rapid prototyping. It does not perform dynamic runtime analysis, penetration testing, deep static analysis, dependency vulnerability checks, or comprehensive logic auditing. Do not rely solely on checkmyvibe to declare your application hardened for production.
43
+ AI coding assistantsβ€”like Claude Code, Cursor, Windsurf, Copilot, v0, Bolt, Lovable, and Replitβ€”have made it possible to build full-stack web applications in a single afternoon.
44
+
45
+ However, **AI models optimize for "it works right now", not "it is production-ready."**
46
+
47
+ A feature can pass every manual test you runβ€”sign up, log in, create a record, complete a checkoutβ€”while harboring catastrophic scaffolding shortcuts under the hood:
48
+
49
+ * πŸ”‘ **Inlined API Keys & Service Roles:** Hardcoded `sk-proj-...` tokens or Supabase `service_role` secrets leaked into client-side bundles or React Server Component HTML payloads.
50
+ * πŸšͺ **Fake & Stubbed Authentication:** Mock handlers (`function isAuthenticated() { return true; }`), dummy user objects (`{ id: "mock-id", role: "admin" }`), or middleware calling `next()` unconditionally.
51
+ * πŸ”“ **Permissive Database Rules:** Supabase tables with Row-Level Security (RLS) disabled or set to `USING (true)`, or Firebase rules left on default-allow / expired test mode.
52
+ * πŸ•΅οΈ **Broken Object-Level Authorization (IDOR/BOLA):** Endpoints (`/api/orders/:id`, Next.js Server Actions) that fetch or mutate records by ID without checking if the active user actually owns them.
53
+ * πŸ’³ **Client-Controlled Pricing:** Checkout routes trusting `price` or `amount` sent directly from client request bodies instead of resolving them server-side.
54
+ * 🎣 **Unverified Webhooks:** Payment webhooks (Stripe, Lemon Squeezy, Dodo Payments, Polar, Razorpay) processing events without validating cryptographic HMAC signatures.
55
+
56
+ **`checkmyvibe` bridges the gap between rapid vibe-prototyping and real-world engineering.** It provides your coding agent with deterministic helper scripts, architectural patterns, and a strict verification workflow so it can audit your code, point out the exact flaws in plain English, and provide drop-in patches.
25
57
 
26
58
  ---
27
59
 
28
- ## Installation
60
+ ## βš™οΈ How It Works
29
61
 
30
- ### Method 1: Using npx (Recommended)
31
- You can install and copy the skill automatically to your project or global environment by running:
62
+ `checkmyvibe` combines deterministic Python inspection scripts with the contextual reasoning of your AI coding assistant:
32
63
 
33
- ```bash
34
- npx checkmyvibe
35
64
  ```
65
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
66
+ β”‚ You run: /checkmyvibe (or a scoped scan) β”‚
67
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
68
+ β”‚
69
+ β–Ό
70
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
71
+ β”‚ Agent discovers checkmyvibe & reads SKILL.md β”‚
72
+ β”‚ - Understands repository stack, architecture & data β”‚
73
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
74
+ β”‚
75
+ β–Ό
76
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
77
+ β”‚ Runs Local Python Verification Scripts (scripts/*.py) β”‚
78
+ β”‚ - scan_secrets.py - check_auth_patterns.py β”‚
79
+ β”‚ - check_gitignore.py - check_db_config.py β”‚
80
+ β”‚ - check_payment_config.py β”‚
81
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
82
+ β”‚
83
+ β–Ό
84
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
85
+ β”‚ Agent Performs Semantic Code & Architecture Review β”‚
86
+ β”‚ - Traces IDOR / BOLA across routes & Server Actions β”‚
87
+ β”‚ - Audits SSRF, AI markdown DOM XSS, mass assignment β”‚
88
+ β”‚ - Validates webhook idempotency & subscription state β”‚
89
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
90
+ β”‚
91
+ β–Ό
92
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
93
+ β”‚ Generates Prioritized Executive & Developer Report β”‚
94
+ β”‚ - Plain-English breakdown (What's wrong & Why it hurts)β”‚
95
+ β”‚ - Exact file paths, line numbers & drop-in fixes β”‚
96
+ β”‚ - Writes detailed report to checkmyvibe-report.md β”‚
97
+ β”‚ - Post-fix verification before & after metric β”‚
98
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
99
+ ```
100
+
101
+ 1. **Deterministic Speed:** Bundled zero-dependency Python 3 scripts scan regex patterns, file trees, `.gitignore` entries, and AST configs in milliseconds.
102
+ 2. **Contextual Reasoning:** Your AI agent inspects data flow, cross-file references, multi-tenant boundaries, and complex framework idioms (e.g. Next.js App Router Server Actions vs Client Components).
103
+ 3. **Actionable Remediation:** Issues are categorized into **Critical**, **Should Fix**, and **Worth Reviewing** with exact code diffs so you can fix them in your next commit.
104
+ 4. **Persistent Markdown Report (`checkmyvibe-report.md`):** Automatically saves a complete, formatted audit document in your project root for easy viewing, client sharing, and issue tracking.
105
+
106
+ ---
107
+
108
+ ## πŸ” The 7 Deep Readiness Checks
109
+
110
+ | # | Category | What is Checked | High-Risk Patterns Flagged |
111
+ | :-: | :--- | :--- | :--- |
112
+ | **1** | **Exposed Secrets & Credential Hygiene** | Server-side & client-side source code, bundles, and config files | OpenAI (`sk-proj-`), Anthropic (`sk-ant-`), Groq, Resend, Supabase `service_role` JWTs, database connection URIs (`postgres://`), live Stripe keys (`sk_live_`), Next.js RSC server-to-client prop leaks, and secrets exposed via `NEXT_PUBLIC_*` / `VITE_*`. |
113
+ | **2** | **Version Control & Container Leakage** | Repository configuration, `.gitignore`, `.dockerignore`, and commit history | Sensitive `.env*` files present in working directory but omitted from `.gitignore`; Dockerfile `COPY . .` without `.dockerignore` (secrets baked into image layers); committed `.npmrc` auth tokens; `.env` files lingering in git history. |
114
+ | **3** | **Authentication & Session Guards** | Route guards, middleware, session checks, and auth provider configurations | Mock auth stubs (`mockAuth`, `fakeLogin`, `return true`), dummy user returns, Clerk v5 matcher exclusions & missing `auth.protect()`, NextAuth missing secrets, Supabase server using insecure `getSession()` instead of `getUser()`, unverified Firebase client tokens, and plaintext password hashing. |
115
+ | **4** | **Database & BaaS Misconfiguration** | Supabase, Firebase, Neon, Prisma, Drizzle, MongoDB, and embedded DBs | Supabase tables with Row-Level Security (RLS) disabled or set to `USING (true)`; Firestore default-allow or expiring test rules; Neon unpooled connections in serverless functions; missing SSL transport encryption; public SQLite database files in `public/`; and NoSQL/MongoDB query selector injection. |
116
+ | **5** | **Broken Object-Level Authorization (IDOR / BOLA)** | REST endpoints, Next.js Server Actions (`'use server'`), and tRPC / GraphQL resolvers | Missing user/tenant ownership filters (`WHERE id = $1` instead of `WHERE id = $1 AND user_id = $2`); unsecured Server Actions invoked directly as public RPCs; multi-tenant organization boundary bypasses where user membership in `orgId` is not verified. |
117
+ | **6** | **Server Input Handling, SSRF & DOM XSS** | Form handlers, API endpoints, proxy routes, and AI markdown rendering | Server-Side Request Forgery (SSRF) in link scrapers/image proxies without private RFC1918 / AWS metadata IP blocking; DOM XSS in AI markdown rendering (`react-markdown` without `rehype-sanitize`); raw SQL concatenation; Prisma/Mongoose mass assignment; and wildcard CORS (`origin: '*', credentials: true`). |
118
+ | **7** | **Payment, Webhook & Subscription Integrity** | Checkout flows, webhook handlers, and subscription lifecycle management | Client-side price tampering (trusting `req.body.price`); missing cryptographic HMAC webhook verification across Stripe, Dodo Payments, Lemon Squeezy, Polar.sh, Paddle, and Razorpay; missing webhook idempotency (`event.id` deduplication); and unhandled subscription cancellation events (`customer.subscription.deleted`). |
36
119
 
37
- The installer will detect if you have a `.claude` configuration directory in your project root and offer to install it either locally (project-level) or globally for your user.
120
+ ---
121
+
122
+ ## 🎯 Targeted / Scoped Scanning
123
+
124
+ Need fast feedback on a specific subsystem without running the entire test suite? Use scoped scans during active development:
125
+
126
+ | Slash Command | Scope Keyword | Checks Executed | Best For |
127
+ | :--- | :--- | :--- | :--- |
128
+ | `/checkmyvibe-secrets` | `/checkmyvibe secrets` | **Checks 1a + 1b + 2** | Pre-commit sanity check: API keys, env vars, `.gitignore` & Docker protection |
129
+ | `/checkmyvibe-auth` | `/checkmyvibe auth` | **Check 3** | Reviewing login/signup flows, session validation, route guards, and middleware |
130
+ | `/checkmyvibe-db` | `/checkmyvibe db` | **Check 4** | Auditing Supabase RLS policies, Firebase security rules, and database connection pooling |
131
+ | `/checkmyvibe-backend` | `/checkmyvibe backend` | **Checks 1a, 3, 4, 5, 6 (srv), 7 (srv)** | Comprehensive audit of server routes, Server Actions, IDOR/BOLA, and webhook handlers |
132
+ | `/checkmyvibe-frontend` | `/checkmyvibe frontend` | **Checks 1b, 3 (cli), 6 (XSS), 7 (cli)** | Inspecting client bundles, RSC prop serialization, AI markdown XSS, and UI pricing logic |
133
+ | `/checkmyvibe-payment` | `/checkmyvibe payment` | **Check 7** | Reviewing checkout routes, payment gateway webhooks, and subscription lifecycle |
134
+ | `/checkmyvibe` | *(no argument)* | **All Checks (1a – 7)** | Complete pre-launch production readiness audit across your entire project |
135
+
136
+ > **Pro-Tip:** You can also pass a directory target to any command:
137
+ > ```text
138
+ > /checkmyvibe src/app/api
139
+ > /checkmyvibe secrets .
140
+ > ```
141
+
142
+ ---
38
143
 
39
- ### Method 2: Manual Installation
40
- If you prefer not to use `npx`, copy the files manually:
144
+ ## πŸ“‹ Sample Report Preview
41
145
 
42
- 1. Create a `checkmyvibe` directory inside your agent's skills path:
146
+ When `checkmyvibe` completes its review, your agent produces a structured, human-readable report designed for both engineers and non-technical founders:
147
+
148
+ ````markdown
149
+ ## πŸ›‘οΈ checkmyvibe Production Readiness Review
150
+
151
+ **Stack:** Next.js 14 (App Router) + Supabase + Stripe + Tailwind CSS
152
+ **Findings:** 🚨 2 Critical, ⚠️ 1 Should Fix, ℹ️ 1 Worth Reviewing
153
+ **Verdict:** πŸ›‘ **Not ready to ship** β€” fix the Critical items before deploying to production.
154
+
155
+ ---
156
+
157
+ ### 🚨 [Critical] Insecure Supabase Server Session Verification
158
+ * **What's wrong:** The route handler uses `supabase.auth.getSession()` inside a Server Action to verify the user.
159
+ * **Why it matters:** `getSession()` reads local cookie data without revalidating the cryptographic signature with the Supabase Auth server. Spoofed or expired cookies can be accepted as valid.
160
+ * **The fix:** Switch to `await supabase.auth.getUser()`, which validates the authentication token against the Supabase Auth API:
161
+ ```ts
162
+ // Before
163
+ const { data: { session } } = await supabase.auth.getSession();
164
+ // After
165
+ const { data: { user }, error } = await supabase.auth.getUser();
166
+ if (error || !user) return { error: "Unauthorized" };
167
+ ```
168
+ * **File:** `src/app/actions/documents.ts:18-24`
169
+
170
+ ---
171
+
172
+ ### 🚨 [Critical] Missing Object-Level Authorization (IDOR) on Invoice Route
173
+ * **What's wrong:** The `/api/invoices/[id]` endpoint fetches invoices purely by `params.id` without checking if the invoice belongs to the requesting user.
174
+ * **Why it matters:** Any authenticated user can view any other customer's billing history and address simply by incrementing the ID in the URL.
175
+ * **The fix:** Add a user ownership constraint to the database query:
176
+ ```ts
177
+ const invoice = await db.query(
178
+ 'SELECT * FROM invoices WHERE id = $1 AND user_id = $2',
179
+ [params.id, sessionUser.id]
180
+ );
181
+ if (!invoice) return new Response('Not Found', { status: 404 });
182
+ ```
183
+ * **File:** `src/app/api/invoices/[id]/route.ts:12-28`
184
+
185
+ ---
186
+
187
+ ### ⚠️ [Should Fix] Webhook Handler Missing Idempotency Check
188
+ * **What's wrong:** The Stripe webhook handler does not track processed `event.id` values.
189
+ * **Why it matters:** If Stripe retries a webhook due to a temporary network timeout, your endpoint will grant duplicate credits or generate duplicate orders.
190
+ * **The fix:** Record `event.id` in your database within a transaction and return early if it has already been processed.
191
+ * **File:** `src/app/api/webhooks/stripe/route.ts:45-62`
192
+ ````
193
+
194
+ ---
195
+
196
+ ## πŸ€– Multi-Agent & Platform Support
197
+
198
+ `checkmyvibe` is built on open standardsβ€”plain Markdown instructions and standard Python 3 scripts. Any coding agent that can read files and execute shell commands can run it natively:
199
+
200
+ ### 1. Claude Code
201
+ Native zero-config support. Running `npx checkmyvibe` installs the skill into `.claude/skills/checkmyvibe` and registers all `/checkmyvibe*` slash commands in `.claude/commands/`.
202
+
203
+ ### 2. Cursor
204
+ When a `.cursor/` folder exists, `npx checkmyvibe` copies `adapters/checkmyvibe.mdc` into `.cursor/rules/checkmyvibe.mdc`.
205
+ * **Manual Setup:** Copy `adapters/checkmyvibe.mdc` into `.cursor/rules/`. Cursor will automatically trigger `checkmyvibe` when asked about code quality or production readiness.
206
+
207
+ ### 3. Codex CLI, Gemini CLI & Antigravity
208
+ The installer automatically appends the `adapters/AGENTS-SNIPPET.md` block to your `AGENTS.md` (or `GEMINI.md`).
209
+ * **Manual Setup:** Add this snippet to your `AGENTS.md`:
210
+ ```markdown
211
+ ## checkmyvibe (production readiness & code quality audit)
212
+ When the user asks to "check my vibe", run a production readiness check, review code quality,
213
+ or run a scoped check (`secrets`, `auth`, `db`, `backend`, `frontend`, `payment`) β€” locate and
214
+ follow `.claude/skills/checkmyvibe/SKILL.md` or `~/.claude/skills/checkmyvibe/SKILL.md`.
215
+ ```
216
+
217
+ ### 4. OpenCode
218
+ When `.opencode/` is detected, the installer places `adapters/opencode-checkmyvibe.md` into `.opencode/command/checkmyvibe.md`, enabling the `/checkmyvibe <scope>` command directly in OpenCode.
219
+
220
+ ### 5. Windsurf, Roo Code, Cline & GitHub Copilot
221
+ Point your agent to `SKILL.md` or place `SKILL.md` in your project's agent instructions folder.
222
+
223
+ ---
224
+
225
+ ## πŸ“¦ Manual Installation
226
+
227
+ If you prefer not to use `npx`, install manually:
228
+
229
+ 1. Clone or copy this repository into your agent's skills directory:
43
230
  * **Project-level (Claude Code):** `.claude/skills/checkmyvibe/`
44
- * **Global/Personal (Claude Code):** `~/.claude/skills/checkmyvibe/`
45
- 2. Copy `SKILL.md`, the `scripts/` folder, `references/` folder, and `commands/` folder into that directory.
46
- 3. (Optional for slash command support) Copy the files from `commands/` directly into `.claude/commands/` (or `~/.claude/commands/`).
231
+ * **Global-level (Claude Code):** `~/.claude/skills/checkmyvibe/`
232
+ 2. Ensure the following files are present:
233
+ ```text
234
+ checkmyvibe/
235
+ β”œβ”€β”€ SKILL.md
236
+ β”œβ”€β”€ scripts/
237
+ β”‚ β”œβ”€β”€ check_auth_patterns.py
238
+ β”‚ β”œβ”€β”€ check_db_config.py
239
+ β”‚ β”œβ”€β”€ check_gitignore.py
240
+ β”‚ β”œβ”€β”€ check_payment_config.py
241
+ β”‚ └── scan_secrets.py
242
+ β”œβ”€β”€ references/
243
+ β”‚ └── vibe_risk_patterns.md
244
+ β”œβ”€β”€ commands/
245
+ └── adapters/
246
+ ```
247
+ 3. *(Optional)* Copy the files from `commands/` into `.claude/commands/` (or `~/.claude/commands/`) to enable slash commands.
47
248
 
48
249
  ---
49
250
 
50
- ## Usage
251
+ ## πŸ”’ Zero Dependencies & 100% Local Privacy
252
+
253
+ * **0 Runtime npm Dependencies:** `checkmyvibe` has zero npm package dependencies. No dependency bloat, no supply-chain risks.
254
+ * **100% Local & Private:** Nothing is sent to third-party verification servers. All code analysis occurs directly on your machine using your own AI assistant and local Python 3.
255
+ * **Cross-Platform:** Runs seamlessly on macOS, Linux, and Windows. Automatically adapts between `python` and `python3` executables.
51
256
 
52
- ### Full Production Readiness Audit
53
- Run a complete audit across all categories before deploying or shipping:
54
- * Command: `/checkmyvibe`
55
- * Or prompt: *"Run checkmyvibe on this project"*
257
+ ---
56
258
 
57
- ### Focused / Scoped Scanning
58
- When actively developing a specific feature, run focused scans for fast, targeted feedback without running the entire test suite:
259
+ ## ⚠️ Scope & Disclaimer
59
260
 
60
- | Slash Command | Scope / Keyword | Included Checks | Use Case |
61
- | :--- | :--- | :--- | :--- |
62
- | `/checkmyvibe-secrets` | `/checkmyvibe secrets` | Checks 1a + 1b + 2 | Server-side and client-exposed API keys/credentials, plus `.gitignore` hygiene |
63
- | `/checkmyvibe-auth` | `/checkmyvibe auth` | Check 3 | Missing, mock, stubbed, or bypassed authentication guards |
64
- | `/checkmyvibe-db` | `/checkmyvibe db` | Check 4 | Database & BaaS rules, Supabase RLS policies, Firebase permissions |
65
- | `/checkmyvibe-backend` | `/checkmyvibe backend` | Checks 1a, 3, 4, 5, 6 (server), 7 (server) | All server-side logic: hardcoded server credentials, auth, DB/RLS, IDOR/BOLA, SQLi/input validation/mass assignment, payment & webhook processing |
66
- | `/checkmyvibe-frontend` | `/checkmyvibe frontend` | Checks 1b, 3 (client), 7 (client) | Client bundle key leaks, UI-only auth hiding, client-side pricing overrides |
67
- | `/checkmyvibe-payment` | `/checkmyvibe payment` | Check 7 | Client-side payment tampering, price overrides, unverified webhooks, checkout integrity |
261
+ > [!WARNING]
262
+ > **`checkmyvibe` is not a replacement for a formal external security audit, penetration test, or SOC2 compliance certification.**
263
+ >
264
+ > `checkmyvibe` is an automated first-pass readiness filter engineered to catch common architectural shortcuts, configuration bugs, and scaffolded placeholders introduced by AI models during rapid development. If your application handles sensitive personal data, medical records, or high-volume payment processing, a comprehensive human security review is strongly recommended before launching.
265
+
266
+ ---
267
+
268
+ ## 🀝 Contributing
68
269
 
69
- Each scoped command file contains its complete operating instructions inline β€” it only falls back to `SKILL.md` for the report format and severity rubric β€” so scoped scans work reliably even when skill auto-discovery fails.
270
+ Have you encountered a new AI coding footgun, framework trap, or unhandled payment provider pattern? Contributions are warmly welcome!
70
271
 
71
- The agent will walk through the scoped checks, execute relevant local helper scripts, and print a prioritized markdown report (Critical / Should Fix / Worth Reviewing) with concrete remediation steps.
272
+ 1. Fork the repository: [github.com/Sarthakpatil23/checkmyvibe](https://github.com/Sarthakpatil23/checkmyvibe)
273
+ 2. Add the pattern or script test case to `scripts/` or `SKILL.md`.
274
+ 3. Submit a Pull Request.
72
275
 
73
276
  ---
74
277
 
75
- ## License
278
+ ## πŸ“„ License
76
279
 
77
280
  This project is open-source and licensed under the [Apache 2.0 License](LICENSE).