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 +247 -44
- package/SKILL.md +405 -396
- package/adapters/AGENTS-SNIPPET.md +32 -0
- package/adapters/checkmyvibe.mdc +18 -0
- package/adapters/opencode-checkmyvibe.md +19 -0
- package/commands/checkmyvibe-auth.md +15 -9
- package/commands/checkmyvibe-backend.md +24 -14
- package/commands/checkmyvibe-db.md +32 -14
- package/commands/checkmyvibe-frontend.md +23 -9
- package/commands/checkmyvibe-payment.md +53 -14
- package/commands/checkmyvibe-secrets.md +22 -13
- package/commands/checkmyvibe.md +12 -11
- package/install.js +58 -0
- package/package.json +2 -1
- package/references/vibe_risk_patterns.md +65 -21
- package/scripts/check_auth_patterns.py +27 -2
- package/scripts/check_db_config.py +72 -23
- package/scripts/check_gitignore.py +92 -14
- package/scripts/check_payment_config.py +146 -0
- package/scripts/scan_secrets.py +43 -0
package/README.md
CHANGED
|
@@ -1,77 +1,280 @@
|
|
|
1
|
-
# checkmyvibe
|
|
1
|
+
# checkmyvibe π‘οΈ
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<div align="center">
|
|
4
4
|
|
|
5
|
-
|
|
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
|
+
[](https://www.npmjs.com/package/checkmyvibe)
|
|
10
|
+
[](LICENSE)
|
|
11
|
+
[](package.json)
|
|
12
|
+
[](#-zero-dependencies--100-local-privacy)
|
|
13
|
+
[](#-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
|
-
##
|
|
21
|
+
## β‘ Quick Start
|
|
22
|
+
|
|
23
|
+
Install and configure `checkmyvibe` in under 30 seconds:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx checkmyvibe
|
|
27
|
+
```
|
|
10
28
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
##
|
|
41
|
+
## π‘ Why checkmyvibe?
|
|
21
42
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
##
|
|
60
|
+
## βοΈ How It Works
|
|
29
61
|
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
|
|
40
|
-
If you prefer not to use `npx`, copy the files manually:
|
|
144
|
+
## π Sample Report Preview
|
|
41
145
|
|
|
42
|
-
|
|
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
|
|
45
|
-
2.
|
|
46
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
270
|
+
Have you encountered a new AI coding footgun, framework trap, or unhandled payment provider pattern? Contributions are warmly welcome!
|
|
70
271
|
|
|
71
|
-
|
|
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).
|