@praneeth_54/agentdoctor 1.1.0 → 1.1.1
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/CHANGELOG.md +29 -3
- package/README.md +462 -254
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/package.json +7 -4
package/CHANGELOG.md
CHANGED
|
@@ -9,8 +9,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Notes
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
|
|
12
|
+
- Vitest 3 → 4/5 major upgrade remains deferred (dev-only moderate advisory).
|
|
13
|
+
- Do **not** auto-publish from CI agents.
|
|
14
|
+
|
|
15
|
+
## [1.1.1] — 2026-09-20
|
|
16
|
+
|
|
17
|
+
Patch release: Marketplace Action naming + dependency security pins. npm, git tag,
|
|
18
|
+
GitHub Release, and Action default are aligned on **`1.1.1`**.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- GitHub Action Marketplace display name is now `AgentDoctor Safety`.
|
|
23
|
+
- npm overrides pin patched transitive versions: `js-yaml@4.3.2`, `fast-uri@3.1.8`,
|
|
24
|
+
`hono@4.13.8`, `qs@6.16.0`.
|
|
25
|
+
- Fixture `fixtures/multi-agent-project` pins `next@15.5.24` (scan fixture only).
|
|
26
|
+
- Action default `version` input and CI smoke pins use `1.1.1`.
|
|
27
|
+
|
|
28
|
+
### Security
|
|
29
|
+
|
|
30
|
+
- Clears known high/moderate advisories on transitive lint/MCP stack dependencies
|
|
31
|
+
without changing the Safety CLI public API.
|
|
32
|
+
- Vitest / `@vitest/mocker` moderate advisory deferred (requires major upgrade).
|
|
33
|
+
|
|
34
|
+
### Docs
|
|
35
|
+
|
|
36
|
+
- [docs/DEPENDENCY_SECURITY_AUDIT.md](docs/DEPENDENCY_SECURITY_AUDIT.md)
|
|
37
|
+
- [docs/DEPENDABOT_PR_REVIEW.md](docs/DEPENDABOT_PR_REVIEW.md)
|
|
38
|
+
- [docs/release-notes-v1.1.1.md](docs/release-notes-v1.1.1.md)
|
|
14
39
|
|
|
15
40
|
## [1.1.0] — 2026-08-13
|
|
16
41
|
|
|
@@ -273,7 +298,8 @@ First public beta.
|
|
|
273
298
|
- Not a complete secret scanner
|
|
274
299
|
- Git “tracked secret” detection deferred
|
|
275
300
|
|
|
276
|
-
[Unreleased]: https://github.com/pranee54/AgentDoctor/compare/v1.1.
|
|
301
|
+
[Unreleased]: https://github.com/pranee54/AgentDoctor/compare/v1.1.1...HEAD
|
|
302
|
+
[1.1.1]: https://github.com/pranee54/AgentDoctor/releases/tag/v1.1.1
|
|
277
303
|
[1.1.0]: https://github.com/pranee54/AgentDoctor/releases/tag/v1.1.0
|
|
278
304
|
[1.0.0]: https://github.com/pranee54/AgentDoctor/releases/tag/v1.0.0
|
|
279
305
|
[0.3.0-beta]: https://github.com/pranee54/AgentDoctor/releases/tag/v0.3.0-beta
|
package/README.md
CHANGED
|
@@ -1,280 +1,418 @@
|
|
|
1
1
|
# AgentDoctor
|
|
2
2
|
|
|
3
|
+
Evidence-backed Project Brain for AI Coding Agents
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
AI coding agents can read files. They still lack reliable **repository-level** understanding — what is in a project, what evidence supports a claim, what is dangerous to change, and what must stay **UNKNOWN**.
|
|
8
|
+
|
|
9
|
+
AgentDoctor analyzes a repository, builds a structured **Project Brain** (claims, evidence, confidence, ownership, risks, snapshots, deltas), and exposes it to agents through local **STDIO MCP**.
|
|
10
|
+
|
|
3
11
|
[](https://www.npmjs.com/package/@praneeth_54/agentdoctor)
|
|
4
|
-
[](https://github.com/pranee54/AgentDoctor/actions)
|
|
12
|
+
[](https://github.com/pranee54/AgentDoctor/actions/workflows/ci.yml)
|
|
6
13
|
[](https://nodejs.org)
|
|
7
14
|
[](LICENSE)
|
|
8
15
|
|
|
9
|
-
|
|
16
|
+
[Documentation](docs/README.md) · [Project Brain](docs/project-brain.md) · [MCP](docs/mcp/brain-mcp.md) · [GitHub Action](#github-action) · [Demo](docs/demo/brain-mcp-demo.md) · [Security](SECURITY.md) · [Roadmap](ROADMAP.md)
|
|
10
17
|
|
|
11
|
-
|
|
18
|
+
```text
|
|
19
|
+
Repository
|
|
20
|
+
↓
|
|
21
|
+
Project Understanding
|
|
22
|
+
↓
|
|
23
|
+
Project Brain
|
|
24
|
+
↓
|
|
25
|
+
Evidence / Claims / Confidence
|
|
26
|
+
↓
|
|
27
|
+
MCP
|
|
28
|
+
↓
|
|
29
|
+
AI Coding Agent
|
|
30
|
+
```
|
|
12
31
|
|
|
13
|
-
|
|
32
|
+
Also ships **Safety V1**: Scan → Fix → Verify → Policy → CI for Cursor, Claude Code, and Codex configuration. Brain risk is **change-danger analysis**, not vulnerability scanning.
|
|
14
33
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## What is AgentDoctor?
|
|
37
|
+
|
|
38
|
+
Local developer infrastructure for AI coding agents (`@praneeth_54/agentdoctor`, CLI `agentdoctor`, **1.1.0**, Node.js **20+**).
|
|
18
39
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
40
|
+
It:
|
|
41
|
+
|
|
42
|
+
- analyzes repositories with deterministic discovery passes
|
|
43
|
+
- builds a structured Project Brain
|
|
44
|
+
- represents claims with typed evidence and confidence
|
|
45
|
+
- preserves **UNKNOWN** when evidence is missing
|
|
46
|
+
- persists snapshots and computes deltas
|
|
47
|
+
- exposes Brain capabilities through MCP (`agentdoctor brain-mcp --root <path>`)
|
|
48
|
+
|
|
49
|
+
It is **not** an autonomous coding agent, chatbot, RAG memory product, AGI claim, or vulnerability scanner. It does not claim universal or perfect repository understanding.
|
|
22
50
|
|
|
23
51
|
---
|
|
24
52
|
|
|
25
|
-
##
|
|
53
|
+
## Why Project Brain?
|
|
26
54
|
|
|
27
|
-
|
|
55
|
+
Agents edit with fragmented context. Ownership gets invented. Blast radius stays implicit. “Why should I trust that?” rarely has an answer with a snapshot id.
|
|
28
56
|
|
|
29
|
-
|
|
57
|
+
Project Brain structures understanding that exists in this codebase:
|
|
30
58
|
|
|
31
|
-
|
|
32
|
-
$ npx @praneeth_54/agentdoctor
|
|
59
|
+
architecture · domains · components · entrypoints · dependencies · relationships · ownership · change-danger risks · claims · evidence · confidence · snapshots · deltas
|
|
33
60
|
|
|
34
|
-
|
|
61
|
+
Details: [docs/project-brain.md](docs/project-brain.md)
|
|
35
62
|
|
|
36
|
-
|
|
63
|
+
---
|
|
37
64
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
65
|
+
## Architecture
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
|
|
69
|
+
| Layer | Location |
|
|
70
|
+
| ------------------------- | ----------------------------------------------------------- |
|
|
71
|
+
| Understanding / discovery | `src/core/understanding/` |
|
|
72
|
+
| Project Brain | `src/core/understanding/brain/` |
|
|
73
|
+
| MCP bridge | `src/mcp/brain/` |
|
|
74
|
+
| CLI | `src/cli/commands/brain-mcp.ts` |
|
|
75
|
+
| Safety (separate path) | `src/core/{scanner,rules,fix,verify,policy}/`, `action.yml` |
|
|
43
76
|
|
|
44
|
-
|
|
77
|
+
MCP depends on Brain. Brain does not depend on MCP.
|
|
45
78
|
|
|
46
|
-
|
|
47
|
-
✓ Claude Code configured
|
|
48
|
-
✓ Codex configured
|
|
79
|
+
---
|
|
49
80
|
|
|
50
|
-
|
|
81
|
+
## Project Brain
|
|
51
82
|
|
|
52
|
-
|
|
83
|
+

|
|
53
84
|
|
|
54
|
-
|
|
55
|
-
.env
|
|
56
|
-
Affected: Claude Code, Codex
|
|
57
|
-
Fix: Add an agent-specific exclusion (for example .cursorignore or a
|
|
58
|
-
Claude Code Read deny rule), keep the file out of version control,
|
|
59
|
-
and rotate any credentials that may have been exposed.
|
|
85
|
+
### Evidence & provenance
|
|
60
86
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
87
|
+
```text
|
|
88
|
+
Claim
|
|
89
|
+
↓
|
|
90
|
+
Evidence
|
|
91
|
+
↓
|
|
92
|
+
Snapshot
|
|
93
|
+
```
|
|
64
94
|
|
|
65
|
-
|
|
95
|
+
Successful MCP tools return a provenance envelope: `result`, `evidenceIds`, `confidence` (`[0,1]`, rule-derived / uncalibrated), `snapshot` (`id` + `contentHash`), and `claimStatus` when applicable.
|
|
66
96
|
|
|
67
|
-
|
|
68
|
-
.claude/settings.json
|
|
97
|
+
Claim lifecycle: `ACTIVE` · `INVALIDATED` · `SUPERSEDED` · `CONTRADICTED`
|
|
69
98
|
|
|
70
|
-
|
|
99
|
+
Epistemics on evidence: `observed` | `inferred`. ACTIVE claims must reference evidence. Serialization redacts secret-like values.
|
|
71
100
|
|
|
72
|
-
|
|
73
|
-
1 warning
|
|
74
|
-
0 info
|
|
101
|
+
### UNKNOWN semantics
|
|
75
102
|
|
|
76
|
-
|
|
77
|
-
|
|
103
|
+
```text
|
|
104
|
+
Ownership evidence unavailable
|
|
105
|
+
↓
|
|
106
|
+
UNKNOWN
|
|
78
107
|
```
|
|
79
108
|
|
|
80
|
-
|
|
109
|
+
No invented owners. Contract: `preserve-unknown-never-invent`.
|
|
110
|
+
|
|
111
|
+
Local runtime store (not committed product source): `<repo>/.agentdoctor/project-brain/`.
|
|
81
112
|
|
|
82
113
|
---
|
|
83
114
|
|
|
84
|
-
##
|
|
115
|
+
## MCP
|
|
85
116
|
|
|
86
|
-
|
|
117
|
+

|
|
87
118
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
- MCP filesystem scopes that are broader than intended
|
|
92
|
-
- Generated directories and large logs that waste context
|
|
93
|
-
- Credential-like files that may be readable by agents
|
|
94
|
-
- Conflicting assumptions about what each agent can see
|
|
119
|
+
```text
|
|
120
|
+
AI Coding Agent → MCP client → agentdoctor brain-mcp --root <abs> → Project Brain
|
|
121
|
+
```
|
|
95
122
|
|
|
96
|
-
|
|
123
|
+
STDIO only. No API key. No upload. `--root` is required. Diagnostics on **stderr**; protocol on **stdout**.
|
|
97
124
|
|
|
98
|
-
|
|
99
|
-
| --------------- | -------------------------------- |
|
|
100
|
-
| Lighthouse | Web pages |
|
|
101
|
-
| `npm audit` | Dependencies |
|
|
102
|
-
| ESLint | Source code |
|
|
103
|
-
| **AgentDoctor** | **AI coding agent environments** |
|
|
125
|
+
### Tools (from `src/mcp/brain/tools/registry.ts`)
|
|
104
126
|
|
|
105
|
-
|
|
127
|
+
| Tool | Purpose |
|
|
128
|
+
| ----------------- | ------------------------------------------------------ |
|
|
129
|
+
| `brain_overview` | Compact summary + confidence envelope |
|
|
130
|
+
| `brain_query` | Typed `BrainQueryEngine` queries |
|
|
131
|
+
| `brain_explain` | Evidence-backed `explainClaim` |
|
|
132
|
+
| `brain_trace` | Capped deterministic `traceBrain` |
|
|
133
|
+
| `brain_claims` | Claim lifecycle (default ACTIVE + CONTRADICTED) |
|
|
134
|
+
| `brain_evidence` | Typed redacted evidence |
|
|
135
|
+
| `brain_ownership` | Explicit CODEOWNERS / MAINTAINERS / package only |
|
|
136
|
+
| `brain_risk` | Change-danger risk (not SAST / CVE) |
|
|
137
|
+
| `brain_delta` | Read-only snapshot comparison |
|
|
138
|
+
| `brain_snapshot` | `current` · `history` · `compare` · `load` · `rebuild` |
|
|
106
139
|
|
|
107
|
-
|
|
140
|
+
Only controlled write: `brain_snapshot` `rebuild` under `<root>/.agentdoctor/project-brain/`.
|
|
108
141
|
|
|
109
|
-
|
|
142
|
+
Contract: [docs/mcp/brain-mcp.md](docs/mcp/brain-mcp.md)
|
|
110
143
|
|
|
111
|
-
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Real Cursor Agent Validation
|
|
112
147
|
|
|
113
|
-
|
|
148
|
+

|
|
114
149
|
|
|
115
150
|
```text
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
151
|
+
Cursor Agent
|
|
152
|
+
↓
|
|
153
|
+
MCP discovery (agentdoctor-brain)
|
|
154
|
+
↓
|
|
155
|
+
brain_* tool call
|
|
156
|
+
↓
|
|
157
|
+
Project Brain
|
|
158
|
+
↓
|
|
159
|
+
Evidence-backed result (+ provenance)
|
|
122
160
|
```
|
|
123
161
|
|
|
124
|
-
|
|
162
|
+
Harness: `validation/mcp-agent` on `fixtures/understanding-dependencies-project`.
|
|
125
163
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
164
|
+
| Q | Focus | Expected tools |
|
|
165
|
+
| --- | -------------- | ------------------------------------------------- |
|
|
166
|
+
| Q1 | Overview | `brain_overview` |
|
|
167
|
+
| Q2 | Entrypoints | `brain_query` |
|
|
168
|
+
| Q3 | Change risk | `brain_risk` |
|
|
169
|
+
| Q4 | Ownership | `brain_ownership` |
|
|
170
|
+
| Q5 | Impact / trace | `brain_trace` |
|
|
171
|
+
| Q6 | Provenance | `brain_explain`, `brain_claims`, `brain_evidence` |
|
|
172
|
+
| Q7 | Delta | `brain_delta`, `brain_snapshot` |
|
|
130
173
|
|
|
131
|
-
|
|
174
|
+
Documented harness results ([validation/mcp-agent/README.md](validation/mcp-agent/README.md), 2026-08-13, AgentDoctor 1.1.0):
|
|
132
175
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
176
|
+
- Deterministic Brain tool exercise: **10/10** succeeded (actual tool calls, not prose inference)
|
|
177
|
+
- Cursor MCP tools discovered: **PASS** (all 10 listed)
|
|
178
|
+
- Security checks: **10/10**
|
|
179
|
+
- Provenance (tool-level): **PASS**
|
|
180
|
+
- Authenticated LLM Q1–Q7 grading: **BLOCKED** without agent login — kept separate from MCP contract PASS
|
|
181
|
+
|
|
182
|
+
Checks include grounding, UNKNOWN ownership guard, risk semantics, provenance, snapshot/delta semantics — not “zero hallucinations.”
|
|
136
183
|
|
|
137
|
-
|
|
184
|
+
Demo: [docs/demo/brain-mcp-demo.md](docs/demo/brain-mcp-demo.md)
|
|
185
|
+
|
|
186
|
+
---
|
|
138
187
|
|
|
139
|
-
|
|
188
|
+
## Built Through Real Validation
|
|
140
189
|
|
|
141
|
-
|
|
142
|
-
- evidence paths
|
|
143
|
-
- affected agents when exposure claims are supported
|
|
144
|
-
- conservative recommendations
|
|
145
|
-
- readiness score (`scores.overall` in JSON; overall line in the terminal)
|
|
190
|
+
1.1.0 was hardened under real MCP, CI, and Windows pressure — not README theater.
|
|
146
191
|
|
|
147
|
-
|
|
192
|
+
| Problem | What we learned |
|
|
193
|
+
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
194
|
+
| MCP cold start | Session loads latest snapshot or, by default, **compiles on first connect** (`buildIfMissing`). Large roots make host MCP timeouts more likely — prefer an existing snapshot / explicit `rebuild` before attaching an agent. |
|
|
195
|
+
| Large Brain init | First compile writes under `.agentdoctor/project-brain/`; local Brain state ≠ committed source. |
|
|
196
|
+
| STDIO discipline | Protocol on stdout only; logs on stderr (`src/mcp/brain/server.ts`, `tests/unit/mcp/`). |
|
|
197
|
+
| Cross-process MCP tests | Unit STDIO client + protocol tests matter more than assuming tool use from answer quality. |
|
|
198
|
+
| Windows CLI | `.cmd` / POSIX shim pitfalls → invoke via `node` + `npm-cli.js`; native `cmd` quoting. |
|
|
199
|
+
| Argument escaping | CodeQL-driven hardening of Windows command argument escaping in test helpers. |
|
|
200
|
+
| CI matrix | Ubuntu + Windows quality job; Project Brain laboratory requires `npm run build` before spawn (`f3cd550`). |
|
|
201
|
+
| Snapshots | Atomic writes, checksum fail-closed, refuse divergent overwrite of the same snapshot id. |
|
|
202
|
+
| Terminal / injection surface | Findings must not become escape channels; Security policy calls out terminal escape injection. |
|
|
203
|
+
| UNKNOWN | Inventing ownership is a product failure mode. |
|
|
148
204
|
|
|
149
205
|
---
|
|
150
206
|
|
|
151
|
-
##
|
|
207
|
+
## Repository Structure
|
|
152
208
|
|
|
153
|
-
|
|
209
|
+

|
|
154
210
|
|
|
155
|
-
```
|
|
156
|
-
|
|
211
|
+
```text
|
|
212
|
+
src/
|
|
213
|
+
├── core/
|
|
214
|
+
│ └── understanding/ # discovery + Project Brain
|
|
215
|
+
├── mcp/
|
|
216
|
+
│ └── brain/ # STDIO MCP bridge
|
|
217
|
+
└── cli/
|
|
218
|
+
└── commands/
|
|
219
|
+
└── brain-mcp.ts
|
|
220
|
+
|
|
221
|
+
tests/
|
|
222
|
+
└── unit/
|
|
223
|
+
├── understanding/
|
|
224
|
+
└── mcp/
|
|
225
|
+
|
|
226
|
+
validation/
|
|
227
|
+
├── project-brain/
|
|
228
|
+
├── software-understanding/
|
|
229
|
+
├── real-world/
|
|
230
|
+
└── mcp-agent/
|
|
231
|
+
|
|
232
|
+
docs/
|
|
233
|
+
├── assets/ # README diagrams (this landing page)
|
|
234
|
+
├── mcp/
|
|
235
|
+
├── demo/
|
|
236
|
+
└── project-brain.md
|
|
237
|
+
|
|
238
|
+
examples/mcp/ # Cursor / Claude Code / Codex config samples
|
|
157
239
|
```
|
|
158
240
|
|
|
159
|
-
|
|
241
|
+
Do not treat `.agentdoctor/` or project-local agent config dirs as committed AgentDoctor source.
|
|
160
242
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Validation
|
|
164
246
|
|
|
165
|
-
|
|
247
|
+

|
|
166
248
|
|
|
167
249
|
```bash
|
|
168
|
-
npm
|
|
169
|
-
|
|
250
|
+
npm run verify # typecheck · lint · format · unit · build
|
|
251
|
+
npm run verify:understanding
|
|
252
|
+
npm run verify:mcp
|
|
253
|
+
npm run verify:project-brain # understanding + validate:project-brain + benchmark
|
|
254
|
+
npm run validate:mcp-agent
|
|
170
255
|
```
|
|
171
256
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
257
|
+
| Layer | How verified | Current note |
|
|
258
|
+
| ---------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
|
259
|
+
| Core / Safety | `npm run verify` + CI quality (Ubuntu/Windows) | Live [CI badge](https://github.com/pranee54/AgentDoctor/actions/workflows/ci.yml) |
|
|
260
|
+
| Understanding | `npm run verify:understanding` | Unit surface under `tests/unit/understanding/` |
|
|
261
|
+
| Project Brain | `npm run verify:project-brain` + CI `project-brain` job | Requires built CLI |
|
|
262
|
+
| MCP | `npm run verify:mcp` | Protocol + STDIO client tests |
|
|
263
|
+
| Agent validation | `npm run validate:mcp-agent` | MCP discovery **PASS**; LLM Q1–Q7 **BLOCKED** (see report) |
|
|
264
|
+
| Benchmark | `benchmark:project-brain` | Part of `verify:project-brain` |
|
|
265
|
+
| Package | npm `@praneeth_54/agentdoctor` | Published **1.1.0** |
|
|
266
|
+
| Security | mcp-agent security suite + [SECURITY.md](SECURITY.md) | Tool-level **10/10** in report |
|
|
177
267
|
|
|
178
|
-
|
|
179
|
-
npx @praneeth_54/agentdoctor fix . --dry-run
|
|
180
|
-
npx @praneeth_54/agentdoctor fix . -y
|
|
268
|
+
Re-run the commands above for live status; do not treat this table as a substitute for CI.
|
|
181
269
|
|
|
182
|
-
|
|
183
|
-
npx @praneeth_54/agentdoctor verify . --baseline agentdoctor-report.json
|
|
184
|
-
```
|
|
270
|
+
---
|
|
185
271
|
|
|
186
|
-
|
|
187
|
-
(`permissions.deny` Read rules in `.claude/settings.json`), and Codex (filesystem `deny`
|
|
188
|
-
keys under a permissions profile in `.codex/config.toml`) for findings such as unignored
|
|
189
|
-
`build/` or large logs. Review/manual security findings are listed as skipped — address those
|
|
190
|
-
yourself, then re-run `verify`.
|
|
272
|
+
## Installation
|
|
191
273
|
|
|
192
|
-
|
|
274
|
+
```bash
|
|
275
|
+
npx @praneeth_54/agentdoctor@1.1.1
|
|
276
|
+
# or
|
|
277
|
+
npm install -g @praneeth_54/agentdoctor
|
|
278
|
+
agentdoctor --help
|
|
279
|
+
```
|
|
193
280
|
|
|
194
281
|
```bash
|
|
282
|
+
agentdoctor brain-mcp --root /ABSOLUTE/PATH/TO/YOUR/PROJECT
|
|
283
|
+
|
|
195
284
|
agentdoctor .
|
|
196
285
|
agentdoctor scan . --json
|
|
197
286
|
agentdoctor fix . --dry-run
|
|
198
|
-
agentdoctor verify . --
|
|
287
|
+
agentdoctor verify . --baseline agentdoctor-report.json
|
|
199
288
|
agentdoctor explain security/env-file-exposure
|
|
200
289
|
agentdoctor doctor
|
|
201
290
|
```
|
|
202
291
|
|
|
203
|
-
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## GitHub Action
|
|
204
295
|
|
|
205
|
-
|
|
296
|
+
AgentDoctor can run repository-level AI coding-agent configuration audits inside GitHub Actions and enforce CI policy gates.
|
|
206
297
|
|
|
207
|
-
|
|
208
|
-
npm install @praneeth_54/agentdoctor
|
|
209
|
-
```
|
|
298
|
+
This Action is the **Safety / CI** surface (`action.yml`): Scan → policy gates → JSON report. It does **not** expose Project Brain or MCP. For Brain/MCP, use the CLI and [docs/mcp/brain-mcp.md](docs/mcp/brain-mcp.md).
|
|
210
299
|
|
|
211
|
-
|
|
212
|
-
import { scan, verify, buildFixPlan, applyFixPlan } from "@praneeth_54/agentdoctor";
|
|
300
|
+
Recommended pin:
|
|
213
301
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
console.log(result.scores?.overall);
|
|
217
|
-
console.log(result.agentSecurityAnalysis); // "full" | "limited"
|
|
302
|
+
```yaml
|
|
303
|
+
uses: pranee54/AgentDoctor@v1.1.0
|
|
218
304
|
```
|
|
219
305
|
|
|
220
|
-
|
|
306
|
+
For maximum supply-chain pinning, pin a full commit SHA of this repository. Do not use `@main`.
|
|
221
307
|
|
|
222
|
-
|
|
308
|
+
### CLI version default (intentional)
|
|
223
309
|
|
|
224
|
-
|
|
310
|
+
| Surface | Value |
|
|
311
|
+
| ---------------------------------- | -------------------------------------------- |
|
|
312
|
+
| Action release tag | `v1.1.0` (this repository’s Action metadata) |
|
|
313
|
+
| Action input `version` **default** | **`1.0.0`** |
|
|
225
314
|
|
|
226
|
-
|
|
227
|
-
| --------------- | ---------------------------------------------------------------------- |
|
|
228
|
-
| **Cursor** | `.cursor/rules/*.mdc`, `.cursorignore`, Cursor MCP config, `AGENTS.md` |
|
|
229
|
-
| **Claude Code** | `CLAUDE.md`, `.claude/settings*.json`, `.claude/rules`, MCP config |
|
|
230
|
-
| **Codex** | `AGENTS.md` / overrides, project `.codex/` configuration |
|
|
315
|
+
The `v1.1.0` Action release still defaults to the published AgentDoctor **CLI `1.0.0`** for compatibility. That is intentional.
|
|
231
316
|
|
|
232
|
-
|
|
317
|
+
- Omit `version` (or set `version: "1.0.0"`) → install `@praneeth_54/agentdoctor@1.0.0`
|
|
318
|
+
- Set `version: "1.1.1"` explicitly when you want the newer CLI in CI
|
|
319
|
+
- `version: workspace` runs this repo’s built `dist/cli/index.js` (maintainers / local CI after `npm run build`)
|
|
320
|
+
- `latest` / `beta` dist-tags are also accepted
|
|
233
321
|
|
|
234
|
-
|
|
322
|
+
Project Brain and MCP are **not** started by this Action even when `version: "1.1.1"`. The Action still runs Safety scan/verify only.
|
|
235
323
|
|
|
236
|
-
|
|
324
|
+
The Action is report-only until you set a policy input (`minimum-score`, `fail-on-severity`, `fail-on-rule`, or `fail-on-new` with `verify-baseline`).
|
|
237
325
|
|
|
238
|
-
|
|
239
|
-
| ---------------- | --------------------------------------------------------------------- |
|
|
240
|
-
| **Security** | Env-file exposure, private-key filenames, broad MCP filesystem scopes |
|
|
241
|
-
| **Context** | Large instruction files, large logs, unignored generated directories |
|
|
242
|
-
| **Instructions** | Empty instructions, duplicate content, missing path references |
|
|
243
|
-
| **MCP** | Malformed MCP config, high-risk filesystem path arguments |
|
|
326
|
+
### Examples
|
|
244
327
|
|
|
245
|
-
|
|
328
|
+
**1. Basic scan** (report-only; default CLI `1.0.0`):
|
|
246
329
|
|
|
247
|
-
|
|
330
|
+
```yaml
|
|
331
|
+
permissions:
|
|
332
|
+
contents: read
|
|
248
333
|
|
|
249
|
-
|
|
250
|
-
|
|
334
|
+
steps:
|
|
335
|
+
- uses: actions/checkout@v4
|
|
336
|
+
|
|
337
|
+
- name: Audit coding-agent configuration
|
|
338
|
+
id: agentdoctor
|
|
339
|
+
uses: pranee54/AgentDoctor@v1.1.0
|
|
340
|
+
with:
|
|
341
|
+
path: .
|
|
251
342
|
```
|
|
252
343
|
|
|
253
|
-
|
|
344
|
+
**2. Minimum readiness score:**
|
|
254
345
|
|
|
255
|
-
|
|
346
|
+
```yaml
|
|
347
|
+
- uses: pranee54/AgentDoctor@v1.1.0
|
|
348
|
+
with:
|
|
349
|
+
path: .
|
|
350
|
+
minimum-score: "70"
|
|
351
|
+
```
|
|
256
352
|
|
|
257
|
-
**
|
|
353
|
+
**3. Severity gate:**
|
|
258
354
|
|
|
259
|
-
|
|
355
|
+
```yaml
|
|
356
|
+
- uses: pranee54/AgentDoctor@v1.1.0
|
|
357
|
+
with:
|
|
358
|
+
path: .
|
|
359
|
+
fail-on-severity: critical
|
|
360
|
+
```
|
|
260
361
|
|
|
261
|
-
|
|
262
|
-
- does not upload repository contents by default
|
|
263
|
-
- does not call an LLM for core scanning
|
|
264
|
-
- does not execute MCP servers
|
|
265
|
-
- does not execute project code
|
|
266
|
-
- never prints secret values from files it flags by name
|
|
267
|
-
- enforces repository boundary checks for path references and symlink escape
|
|
362
|
+
**4. Rule gate:**
|
|
268
363
|
|
|
269
|
-
|
|
364
|
+
```yaml
|
|
365
|
+
- uses: pranee54/AgentDoctor@v1.1.0
|
|
366
|
+
with:
|
|
367
|
+
path: .
|
|
368
|
+
fail-on-rule: security/env-file-exposure
|
|
369
|
+
```
|
|
270
370
|
|
|
271
|
-
|
|
371
|
+
**5. Baseline verification:**
|
|
272
372
|
|
|
273
|
-
|
|
373
|
+
```yaml
|
|
374
|
+
- uses: pranee54/AgentDoctor@v1.1.0
|
|
375
|
+
with:
|
|
376
|
+
path: .
|
|
377
|
+
verify-baseline: agentdoctor-report.json
|
|
378
|
+
fail-on-new: "true"
|
|
379
|
+
```
|
|
274
380
|
|
|
275
|
-
|
|
381
|
+
**6. JSON report** (default `json-output: "true"`; customize path):
|
|
276
382
|
|
|
277
|
-
|
|
383
|
+
```yaml
|
|
384
|
+
- uses: pranee54/AgentDoctor@v1.1.0
|
|
385
|
+
id: agentdoctor
|
|
386
|
+
with:
|
|
387
|
+
path: .
|
|
388
|
+
json-output: "true"
|
|
389
|
+
output-file: agentdoctor-report.json
|
|
390
|
+
|
|
391
|
+
- uses: actions/upload-artifact@v4
|
|
392
|
+
with:
|
|
393
|
+
name: agentdoctor-report
|
|
394
|
+
path: ${{ steps.agentdoctor.outputs.report-path }}
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
**7. GitHub summary:**
|
|
398
|
+
|
|
399
|
+
```yaml
|
|
400
|
+
- uses: pranee54/AgentDoctor@v1.1.0
|
|
401
|
+
with:
|
|
402
|
+
path: .
|
|
403
|
+
summary: "true"
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**8. GitHub annotations:**
|
|
407
|
+
|
|
408
|
+
```yaml
|
|
409
|
+
- uses: pranee54/AgentDoctor@v1.1.0
|
|
410
|
+
with:
|
|
411
|
+
path: .
|
|
412
|
+
annotations: "true"
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**Combined policy example** (explicit newer CLI):
|
|
278
416
|
|
|
279
417
|
```yaml
|
|
280
418
|
permissions:
|
|
@@ -285,149 +423,219 @@ steps:
|
|
|
285
423
|
|
|
286
424
|
- name: Audit coding-agent configuration
|
|
287
425
|
id: agentdoctor
|
|
288
|
-
uses: pranee54/AgentDoctor@v1.
|
|
426
|
+
uses: pranee54/AgentDoctor@v1.1.0
|
|
289
427
|
with:
|
|
290
428
|
path: .
|
|
291
|
-
version: "1.
|
|
429
|
+
version: "1.1.1"
|
|
292
430
|
output-file: agentdoctor-report.json
|
|
431
|
+
json-output: "true"
|
|
293
432
|
minimum-score: "70"
|
|
294
433
|
fail-on-severity: critical
|
|
295
434
|
summary: "true"
|
|
435
|
+
annotations: "true"
|
|
296
436
|
|
|
297
437
|
- name: Upload AgentDoctor report
|
|
438
|
+
if: always()
|
|
298
439
|
uses: actions/upload-artifact@v4
|
|
299
440
|
with:
|
|
300
441
|
name: agentdoctor-report
|
|
301
442
|
path: ${{ steps.agentdoctor.outputs.report-path }}
|
|
302
443
|
```
|
|
303
444
|
|
|
304
|
-
|
|
305
|
-
`verify-baseline`, `summary`, `annotations`. The Action stays report-only until you set a
|
|
306
|
-
policy input. The Action default `version` is `1.0.0`. For local CI against this repo, use
|
|
307
|
-
`version: workspace` after `npm run build`. The action installs `@praneeth_54/agentdoctor`,
|
|
308
|
-
runs scan (or `verify` when `verify-baseline` is set) with `--json`, and writes the report
|
|
309
|
-
inside the workspace.
|
|
445
|
+
### Inputs
|
|
310
446
|
|
|
311
|
-
|
|
447
|
+
From [`action.yml`](action.yml):
|
|
312
448
|
|
|
313
|
-
|
|
449
|
+
| Input | Required | Default | Description |
|
|
450
|
+
| ------------------ | -------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
451
|
+
| `path` | no | `.` | Repository-relative directory to scan. |
|
|
452
|
+
| `version` | no | `1.0.0` | Published AgentDoctor npm version or dist-tag (`latest` \| `beta`), or `workspace` to run the checked-out repository’s built CLI at `dist/cli/index.js`. |
|
|
453
|
+
| `output-file` | no | `agentdoctor-report.json` | Repository-relative path for the JSON report. |
|
|
454
|
+
| `minimum-score` | no | _(empty)_ | Fail when overall readiness score is below this integer (0–100). Empty skips the gate. |
|
|
455
|
+
| `fail-on-severity` | no | _(empty)_ | Fail when any finding has this severity or higher (`critical` \| `warning` \| `info`). Empty skips the gate. |
|
|
456
|
+
| `fail-on-rule` | no | _(empty)_ | Comma-separated rule IDs that fail CI when present (e.g. `security/env-file-exposure`). |
|
|
457
|
+
| `fail-on-new` | no | _(empty)_ | When `verify-baseline` is set, fail on new findings vs the baseline. Defaults to true whenever `verify-baseline` is non-empty unless set to `false`. |
|
|
458
|
+
| `verify-baseline` | no | _(empty)_ | Repository-relative path to a prior scan JSON baseline. When set, runs `agentdoctor verify` instead of scan. |
|
|
459
|
+
| `json-output` | no | `true` | Write a JSON report to `output-file` (`true`/`false`). |
|
|
460
|
+
| `summary` | no | `false` | Write a GitHub Actions job step summary (requires CLI with `--summary` support). |
|
|
461
|
+
| `annotations` | no | `false` | Emit GitHub Actions annotations for findings (requires CLI with `--annotations` support). |
|
|
314
462
|
|
|
315
|
-
|
|
316
|
-
# Report-only (exit 0 even when findings exist; scores still in JSON)
|
|
317
|
-
npx @praneeth_54/agentdoctor --json
|
|
463
|
+
### Outputs
|
|
318
464
|
|
|
319
|
-
|
|
320
|
-
|
|
465
|
+
| Output | Description |
|
|
466
|
+
| --------------- | ------------------------------------------------------------------------------- |
|
|
467
|
+
| `report-path` | Absolute path to the generated JSON report (empty when `json-output` is false). |
|
|
468
|
+
| `outcome` | `success` \| `policy-failure` \| `configuration-error` \| `internal-failure` |
|
|
469
|
+
| `overall-score` | Overall readiness score from the scan/verify result when available. |
|
|
321
470
|
|
|
322
|
-
|
|
323
|
-
|
|
471
|
+
| `outcome` value | Meaning |
|
|
472
|
+
| --------------------- | ----------------------------------------------------- |
|
|
473
|
+
| `success` | Scan/verify completed without a failing policy gate. |
|
|
474
|
+
| `policy-failure` | A configured policy gate failed (exit `1`). |
|
|
475
|
+
| `configuration-error` | Invalid Action/CLI configuration or usage (exit `2`). |
|
|
476
|
+
| `internal-failure` | Unexpected failure during execution. |
|
|
324
477
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
478
|
+
Exit-code details: [docs/exit-codes.md](docs/exit-codes.md). Scoring: [docs/scoring.md](docs/scoring.md).
|
|
479
|
+
|
|
480
|
+
### Action security notes
|
|
481
|
+
|
|
482
|
+
Controls implemented in `action.yml`:
|
|
328
483
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
484
|
+
- Paths must stay inside `GITHUB_WORKSPACE` (`realpath` + containment checks)
|
|
485
|
+
- Traversal and parent-escape attempts are rejected
|
|
486
|
+
- Symlink escapes for `output-file` parents / final file and for `verify-baseline` are rejected
|
|
487
|
+
- Newlines in Action path inputs are rejected
|
|
488
|
+
- `output-file` must resolve to a regular file path inside the workspace (not a directory or symlink)
|
|
489
|
+
- `verify-baseline` must exist, realpath back into the workspace, and remain a file
|
|
490
|
+
- `version` must match an exact npm semver, `latest`/`beta`, or `workspace`
|
|
491
|
+
- No Action-level credential inputs
|
|
332
492
|
|
|
333
|
-
|
|
493
|
+
Boundary (honest): the Action executes AgentDoctor against repository contents (treated as untrusted) and, except for `version: workspace`, may invoke `npm exec` against the public npm registry. This is not a claim of universal security.
|
|
334
494
|
|
|
335
|
-
|
|
495
|
+
Related: [SECURITY.md](SECURITY.md)
|
|
336
496
|
|
|
337
|
-
|
|
338
|
-
(overall, categories, agents). The terminal prints overall readiness; category and agent
|
|
339
|
-
scores are in JSON (`--json`).
|
|
497
|
+
### Action versioning
|
|
340
498
|
|
|
341
|
-
|
|
342
|
-
|
|
499
|
+
| Recommendation | Value |
|
|
500
|
+
| -------------- | ----------------------------------- |
|
|
501
|
+
| Preferred tag | `uses: pranee54/AgentDoctor@v1.1.0` |
|
|
502
|
+
| Stronger pin | Full commit SHA of this repository |
|
|
503
|
+
| Avoid | `@main` |
|
|
504
|
+
|
|
505
|
+
The existing `v1.1.0` product tag is the Action metadata consumers should pin today. Changing the Action’s default CLI `version` input is a separate, explicit decision and is **not** done in this documentation update.
|
|
343
506
|
|
|
344
507
|
---
|
|
345
508
|
|
|
346
|
-
##
|
|
509
|
+
## Try it yourself
|
|
347
510
|
|
|
348
|
-
|
|
511
|
+
1. **Install:** `npx @praneeth_54/agentdoctor@1.1.1 --help`
|
|
512
|
+
2. **Run Brain MCP:** `agentdoctor brain-mcp --root /ABSOLUTE/PATH/TO/YOUR/PROJECT`
|
|
513
|
+
3. **Connect MCP:** copy [examples/mcp/cursor.mcp.json](examples/mcp/cursor.mcp.json) (or Claude / Codex siblings) with absolute paths
|
|
514
|
+
4. **First query:** call `brain_overview`
|
|
515
|
+
5. **Demo:** [docs/demo/first-5-minutes.md](docs/demo/first-5-minutes.md)
|
|
349
516
|
|
|
350
|
-
|
|
351
|
-
| --------------------------- | ------------------------------------------------------------------------------- |
|
|
352
|
-
| Automatic fixes | Safe Cursor / Claude Code / Codex context exclusions only |
|
|
353
|
-
| Security findings | Review/manual — Fix does not rewrite secrets or security modes |
|
|
354
|
-
| Secret-content scanning | Filename / config heuristics only |
|
|
355
|
-
| Detection style | Intentionally conservative; false security findings are avoided |
|
|
356
|
-
| Agent coverage | Cursor, Claude Code, Codex project configs |
|
|
357
|
-
| Missing-path residual noise | Broad path-lattice expansion deferred; instruction-directory resolution shipped |
|
|
517
|
+
### Built for developers who care about repository understanding
|
|
358
518
|
|
|
359
|
-
|
|
519
|
+
| Link | Purpose |
|
|
520
|
+
| ------------------------------------------------------------------------------ | ------------------------------ |
|
|
521
|
+
| [docs/quickstart.md](docs/quickstart.md) | 5-minute path to MCP |
|
|
522
|
+
| [docs/demo/first-5-minutes.md](docs/demo/first-5-minutes.md) | Practical walkthrough |
|
|
523
|
+
| [docs/demo/architecture-walkthrough.md](docs/demo/architecture-walkthrough.md) | Architecture for evaluators |
|
|
524
|
+
| [docs/why-agentdoctor.md](docs/why-agentdoctor.md) | Why this exists |
|
|
525
|
+
| [docs/engineering-lessons.md](docs/engineering-lessons.md) | Real 1.1.0 engineering lessons |
|
|
526
|
+
| [CONTRIBUTING.md](CONTRIBUTING.md) | Dev setup + gates |
|
|
527
|
+
| [docs/community/good-first-issues.md](docs/community/good-first-issues.md) | Starter contributions |
|
|
528
|
+
| [ROADMAP.md](ROADMAP.md) | Shipped vs planned |
|
|
529
|
+
| [docs/mcp/brain-mcp.md](docs/mcp/brain-mcp.md) | MCP contract |
|
|
360
530
|
|
|
361
|
-
|
|
531
|
+
Primary ask: run AgentDoctor on a repository you know well. If the Brain is wrong or incomplete, [file a Brain-quality issue](.github/ISSUE_TEMPLATE/brain-quality.md).
|
|
362
532
|
|
|
363
|
-
|
|
533
|
+
---
|
|
364
534
|
|
|
365
|
-
|
|
366
|
-
|
|
535
|
+
## MCP Quick Start
|
|
536
|
+
|
|
537
|
+
Configs: [examples/mcp/](examples/mcp/). Use placeholders — never commit machine paths.
|
|
538
|
+
|
|
539
|
+
**Cursor** ([examples/mcp/cursor.mcp.json](examples/mcp/cursor.mcp.json)):
|
|
540
|
+
|
|
541
|
+
```json
|
|
542
|
+
{
|
|
543
|
+
"mcpServers": {
|
|
544
|
+
"agentdoctor-brain": {
|
|
545
|
+
"command": "node",
|
|
546
|
+
"args": [
|
|
547
|
+
"/ABSOLUTE/PATH/TO/AgentDoctor/dist/cli/index.js",
|
|
548
|
+
"brain-mcp",
|
|
549
|
+
"--root",
|
|
550
|
+
"/ABSOLUTE/PATH/TO/YOUR/PROJECT"
|
|
551
|
+
]
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
367
555
|
```
|
|
368
556
|
|
|
369
|
-
|
|
557
|
+
Also: [examples/mcp/claude-code.mcp.json](examples/mcp/claude-code.mcp.json), [examples/mcp/codex.config.toml](examples/mcp/codex.config.toml).
|
|
558
|
+
|
|
559
|
+
Tip: rebuild or ensure a snapshot exists before attaching an agent if the repository is large.
|
|
560
|
+
|
|
561
|
+
---
|
|
562
|
+
|
|
563
|
+
## Design Boundaries
|
|
564
|
+
|
|
565
|
+
| AgentDoctor IS | AgentDoctor IS NOT |
|
|
566
|
+
| ------------------------ | ---------------------------------- |
|
|
567
|
+
| Repository understanding | Chatbot |
|
|
568
|
+
| Structured Project Brain | Generic RAG / AI memory |
|
|
569
|
+
| Evidence-backed claims | Autonomous coding agent |
|
|
570
|
+
| MCP interface | Vulnerability scanner |
|
|
571
|
+
| Change-danger analysis | “Understands every repo perfectly” |
|
|
572
|
+
| Snapshots / deltas | Zero-hallucination guarantee |
|
|
573
|
+
|
|
574
|
+
---
|
|
575
|
+
|
|
576
|
+
## Release 1.1.0
|
|
577
|
+
|
|
578
|
+
Version verified in `package.json` / `PACKAGE_VERSION`: **1.1.0** (also on npm).
|
|
579
|
+
|
|
580
|
+
Shipped: Project Brain packaging, `brain-mcp`, ten provenance tools, snapshots/delta, agent validation harness + docs. Safety V1 unchanged.
|
|
581
|
+
|
|
582
|
+
[docs/release-notes-v1.1.0.md](docs/release-notes-v1.1.0.md) · [CHANGELOG.md](CHANGELOG.md)
|
|
583
|
+
|
|
584
|
+
GitHub Action usage and the intentional CLI `version` default (`1.0.0`): [GitHub Action](#github-action).
|
|
370
585
|
|
|
371
586
|
---
|
|
372
587
|
|
|
373
588
|
## Documentation
|
|
374
589
|
|
|
375
|
-
| Doc
|
|
376
|
-
|
|
|
377
|
-
| [docs/
|
|
378
|
-
| [docs/
|
|
379
|
-
| [docs/
|
|
380
|
-
| [docs/
|
|
381
|
-
| [docs/
|
|
382
|
-
| [docs/
|
|
383
|
-
| [docs/
|
|
384
|
-
| [docs/
|
|
385
|
-
| [
|
|
386
|
-
| [
|
|
387
|
-
| [
|
|
388
|
-
| [CHANGELOG.md](CHANGELOG.md) | Release history |
|
|
590
|
+
| Doc | Contents |
|
|
591
|
+
| ------------------------------------------------------------ | ------------------------- |
|
|
592
|
+
| [docs/quickstart.md](docs/quickstart.md) | Developer quickstart |
|
|
593
|
+
| [docs/project-brain.md](docs/project-brain.md) | Project Brain model |
|
|
594
|
+
| [docs/mcp/brain-mcp.md](docs/mcp/brain-mcp.md) | MCP contract |
|
|
595
|
+
| [docs/demo/brain-mcp-demo.md](docs/demo/brain-mcp-demo.md) | Fixture-backed MCP demo |
|
|
596
|
+
| [docs/demo/first-5-minutes.md](docs/demo/first-5-minutes.md) | 5-minute walkthrough |
|
|
597
|
+
| [docs/why-agentdoctor.md](docs/why-agentdoctor.md) | Product rationale |
|
|
598
|
+
| [docs/engineering-lessons.md](docs/engineering-lessons.md) | 1.1.0 engineering lessons |
|
|
599
|
+
| [docs/release-notes-v1.1.0.md](docs/release-notes-v1.1.0.md) | 1.1.0 notes |
|
|
600
|
+
| [SECURITY.md](SECURITY.md) | Vulnerability reporting |
|
|
601
|
+
| [ROADMAP.md](ROADMAP.md) | Shipped vs planned |
|
|
602
|
+
| [docs/README.md](docs/README.md) | Full index |
|
|
389
603
|
|
|
390
604
|
---
|
|
391
605
|
|
|
392
|
-
##
|
|
606
|
+
## Roadmap
|
|
393
607
|
|
|
394
|
-
|
|
608
|
+
From [ROADMAP.md](ROADMAP.md):
|
|
395
609
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
610
|
+
| Status | Focus |
|
|
611
|
+
| -------------- | --------------------------------------------------------------------------------- |
|
|
612
|
+
| 🟢 Shipped | Safety `1.0.x`; Project Brain → MCP → Agent (`1.1.0`) |
|
|
613
|
+
| 🟡 Next | Developer adoption: feedback, Brain quality, docs/ecosystem (not a new Brain API) |
|
|
614
|
+
| 🟡 Planned | Agent Context layer; change-aware / reliable agent context; Brain Delta workflows |
|
|
615
|
+
| 🔵 Exploratory | CI/PR Brain analysis; team-scale intelligence; additional MCP transports |
|
|
399
616
|
|
|
400
|
-
|
|
401
|
-
git clone https://github.com/pranee54/AgentDoctor.git
|
|
402
|
-
cd AgentDoctor
|
|
403
|
-
npm install
|
|
404
|
-
npm run verify
|
|
405
|
-
node dist/cli/index.js ./fixtures/clean-configured-project
|
|
406
|
-
```
|
|
617
|
+
Non-goals: chatbot / RAG memory, autonomous coding agent, vulnerability-scanner replacement, fabricated ownership.
|
|
407
618
|
|
|
408
619
|
---
|
|
409
620
|
|
|
410
|
-
##
|
|
621
|
+
## Contributing
|
|
411
622
|
|
|
412
|
-
|
|
623
|
+
[CONTRIBUTING.md](CONTRIBUTING.md) · [Code of Conduct](CODE_OF_CONDUCT.md) · [good first issues](docs/good-first-issues.md)
|
|
413
624
|
|
|
414
625
|
```bash
|
|
415
|
-
|
|
626
|
+
git clone https://github.com/pranee54/AgentDoctor.git
|
|
627
|
+
cd AgentDoctor
|
|
628
|
+
npm install
|
|
629
|
+
npm run verify
|
|
416
630
|
```
|
|
417
631
|
|
|
418
|
-
Tools: overview, query, explain, trace, claims, evidence, ownership, risk, delta, snapshot.
|
|
419
|
-
Local STDIO only — no API key, no upload. Docs: [docs/mcp/brain-mcp.md](docs/mcp/brain-mcp.md).
|
|
420
|
-
Examples: [examples/mcp/](examples/mcp/).
|
|
421
|
-
|
|
422
632
|
---
|
|
423
633
|
|
|
424
|
-
##
|
|
634
|
+
## Security
|
|
635
|
+
|
|
636
|
+
Local analysis. No API key for core Brain/Safety. No default upload. Redacted Brain serialization.
|
|
425
637
|
|
|
426
|
-
|
|
427
|
-
- **Report a false positive / false negative:** use the issue templates (include version, rule ID, anonymized evidence — no secrets)
|
|
428
|
-
- **Propose a rule or adapter:** [feature request](.github/ISSUE_TEMPLATE/feature_request.md) / [rule proposal](.github/ISSUE_TEMPLATE/rule_proposal.md)
|
|
429
|
-
- **Contribute:** [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
430
|
-
- **Useful?** Star or watch the repository so you see updates
|
|
638
|
+
Report privately via [SECURITY.md](SECURITY.md).
|
|
431
639
|
|
|
432
640
|
---
|
|
433
641
|
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "1.1.
|
|
1
|
+
export declare const PACKAGE_VERSION = "1.1.1";
|
|
2
2
|
export declare const DEFAULT_MAX_FILE_SIZE_BYTES: number;
|
|
3
3
|
/** Directories skipped during normal discovery (unless a rule needs them later). */
|
|
4
4
|
export declare const DEFAULT_IGNORE_DIRECTORIES: Set<string>;
|
package/dist/constants.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const PACKAGE_VERSION = "1.1.
|
|
1
|
+
export const PACKAGE_VERSION = "1.1.1";
|
|
2
2
|
export const DEFAULT_MAX_FILE_SIZE_BYTES = 2 * 1024 * 1024; // 2 MiB
|
|
3
3
|
/** Directories skipped during normal discovery (unless a rule needs them later). */
|
|
4
4
|
export const DEFAULT_IGNORE_DIRECTORIES = new Set([
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praneeth_54/agentdoctor",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Audit AI coding agent configuration in a repository — local, deterministic, no API key.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -84,12 +84,15 @@
|
|
|
84
84
|
"@types/node": "^22.19.1",
|
|
85
85
|
"eslint": "^9.39.2",
|
|
86
86
|
"prettier": "^3.7.4",
|
|
87
|
-
"tsx": "^4.
|
|
87
|
+
"tsx": "^4.23.13",
|
|
88
88
|
"typescript": "^5.9.3",
|
|
89
|
-
"typescript-eslint": "^8.
|
|
89
|
+
"typescript-eslint": "^8.70.0",
|
|
90
90
|
"vitest": "^3.2.4"
|
|
91
91
|
},
|
|
92
92
|
"overrides": {
|
|
93
|
-
"js-yaml": "4.3.
|
|
93
|
+
"js-yaml": "4.3.2",
|
|
94
|
+
"fast-uri": "3.1.8",
|
|
95
|
+
"hono": "4.13.8",
|
|
96
|
+
"qs": "6.16.0"
|
|
94
97
|
}
|
|
95
98
|
}
|