@api-doctor/cli 0.0.3 → 0.0.4
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 +36 -46
- package/dist/cli.cjs +2920 -1413
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.mjs +2920 -1413
- package/dist/cli.mjs.map +1 -1
- package/dist/plugin.d.ts +475 -0
- package/dist/plugin.js +2723 -1414
- package/dist/plugin.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -3,29 +3,39 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@api-doctor/cli)
|
|
4
4
|
[](https://www.npmjs.com/package/@api-doctor/cli)
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
api-doctor scans AI-generated code for bad API integrations.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Deterministic AST rules. Not a prompt. Same input, same output, every time.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
→ **[Full story and examples at apidoctor.co](https://apidoctor.co)**
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
[https://github.com/user-attachments/assets/53dab24f-528b-4f1b-87a9-8870002053d8](https://github.com/user-attachments/assets/53dab24f-528b-4f1b-87a9-8870002053d8)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
11
17
|
|
|
12
18
|
```bash
|
|
19
|
+
# Scan your project
|
|
13
20
|
npx @api-doctor/cli .
|
|
21
|
+
|
|
22
|
+
# Or install as an agent skill (Claude Code, Cursor, Windsurf)
|
|
23
|
+
npx @api-doctor/cli install
|
|
14
24
|
```
|
|
15
25
|
|
|
16
|
-
https://github.com/user-attachments/assets/53dab24f-528b-4f1b-87a9-8870002053d8
|
|
17
26
|
|
|
18
|
-
## Supported
|
|
27
|
+
## 📦 Supported Providers
|
|
19
28
|
|
|
20
|
-
| Provider
|
|
21
|
-
|
|
|
22
|
-
| [Resend](https://resend.com/docs)
|
|
23
|
-
| [Supabase](https://supabase.com/docs)
|
|
24
|
-
| [Auth0](https://auth0.com/docs)
|
|
25
|
-
| [Firebase](https://firebase.google.com/docs)
|
|
26
|
-
| [Lovable](https://docs.lovable.dev)
|
|
27
|
-
| [Browserbase](https://docs.browserbase.com)
|
|
28
|
-
| [OpenAI Computer Use](https://developers.openai.com/api/docs/guides/tools-computer-use) | [7 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/openai-cua/README.md)
|
|
29
|
+
| Provider | Rules |
|
|
30
|
+
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
31
|
+
| [Resend](https://resend.com/docs) | [13 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/resend/README.md) |
|
|
32
|
+
| [Supabase](https://supabase.com/docs) | [12 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/supabase/README.md) |
|
|
33
|
+
| [Auth0](https://auth0.com/docs) | [4 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/auth0/README.md) |
|
|
34
|
+
| [Firebase](https://firebase.google.com/docs) | [8 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/firebase/README.md) |
|
|
35
|
+
| [Lovable](https://docs.lovable.dev) | [4 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/lovable/README.md) |
|
|
36
|
+
| [Browserbase](https://docs.browserbase.com) | [11 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/browserbase/README.md) |
|
|
37
|
+
| [OpenAI Computer Use](https://developers.openai.com/api/docs/guides/tools-computer-use) | [7 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/openai-cua/README.md) |
|
|
38
|
+
| [TipTap](https://tiptap.dev/docs) | [11 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/tiptap/README.md) |
|
|
29
39
|
|
|
30
40
|
Full rule catalogs live in the [GitHub repo](https://github.com/qualtyco/api-doctor/tree/main/src/providers) under `src/providers/<name>/README.md`.
|
|
31
41
|
|
|
@@ -33,38 +43,20 @@ Full rule catalogs live in the [GitHub repo](https://github.com/qualtyco/api-doc
|
|
|
33
43
|
|
|
34
44
|
## What it catches
|
|
35
45
|
|
|
36
|
-
|
|
37
|
-
| --- | --- | --- |
|
|
38
|
-
| **Security** | Issues that expose you to compromise. Mapped to CWE and OWASP audits. | Hardcoded API keys, secrets in the client bundle, webhooks read before signature verification |
|
|
39
|
-
| **Correctness** | Wrong endpoint or API for the job. | Marketing email via batch send, missing unsubscribe links, test domain in production |
|
|
40
|
-
| **Reliability** | Production failure modes the provider docs warn about. | Missing idempotency keys, batch limits not enforced, error codes not mapped |
|
|
41
|
-
| **Integration** | Wiring gaps your agent won't add on its own. | No tags, no request ID logging, bare `from` address instead of `"Name <email>"` |
|
|
46
|
+
Rules cover four categories: security (CWE/OWASP mapped), correctness (wrong endpoints), reliability (production failure modes), and integration (wiring gaps).
|
|
42
47
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
npx @api-doctor/cli .
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Prints a score to the terminal and writes `.api-doctor/report.json` in the project you scanned.
|
|
54
|
-
|
|
55
|
-
Install the agent skill once so your coding agent knows how to read the report and fix issues:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
npx @api-doctor/cli install
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Works with Claude Code, Cursor, Codex, OpenCode, and other agents that read project skills. No model calls. **100% deterministic rules.**
|
|
48
|
+
| Category | What it means | Examples |
|
|
49
|
+
| --------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
|
|
50
|
+
| **Security** | Issues that expose you to compromise. Mapped to CWE and OWASP audits. | Hardcoded API keys, secrets in the client bundle, webhooks read before signature verification |
|
|
51
|
+
| **Correctness** | Wrong endpoint or API for the job. | Marketing email via batch send, missing unsubscribe links, test domain in production |
|
|
52
|
+
| **Reliability** | Production failure modes the provider docs warn about. | Missing idempotency keys, batch limits not enforced, error codes not mapped |
|
|
53
|
+
| **Integration** | Wiring gaps your agent won't add on its own. | No tags, no request ID logging, bare `from` address instead of `"Name <email>"` |
|
|
62
54
|
|
|
63
55
|
---
|
|
64
56
|
|
|
65
|
-
##
|
|
57
|
+
## Why deterministic matters
|
|
66
58
|
|
|
67
|
-
|
|
59
|
+
You can't test AI code with AI. api-doctor breaks that loop. Same rules, same output, every time. Not a model call. Not a prompt.
|
|
68
60
|
|
|
69
61
|
---
|
|
70
62
|
|
|
@@ -102,10 +94,8 @@ Or set `API_DOCTOR_TELEMETRY=0` or `DO_NOT_TRACK=1` in your environment.
|
|
|
102
94
|
|
|
103
95
|
---
|
|
104
96
|
|
|
105
|
-
##
|
|
106
|
-
|
|
107
|
-
Found a bug or want a new provider? [Open an issue](https://github.com/qualtyco/api-doctor/issues).
|
|
97
|
+
## Help
|
|
108
98
|
|
|
109
|
-
|
|
99
|
+
- **New provider?** [Open an issue](https://github.com/qualtyco/api-doctor/issues)
|
|
110
100
|
|
|
111
|
-
|
|
101
|
+
MIT © Qualty
|