You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,22 @@
2
2
3
3
All notable changes to FixMap are documented here.
4
4
5
+
## 0.6.0 - 2026-07-22
6
+
7
+
### Added
8
+
9
+
- CLI and MCP users can paste a canonical public GitHub issue URL as the issue input. FixMap anonymously fetches its title and body and infers the matching repository when no repository is supplied.
10
+
- A `remote-issue-fetched` diagnostic records the exact issue source and whether its body was truncated before ranking.
11
+
12
+
### Security
13
+
14
+
- Issue URL inputs accept only credential-free canonical HTTPS URLs on `github.com`; queries, fragments, encoded separators, and mismatched explicit repository URLs are rejected.
15
+
- Issue content is fetched only from the fixed `api.github.com` endpoint without redirects or credentials, with a 15-second timeout, a bounded API response, a 20,000-character body cap, stable rate-limit errors, and explicit pull-request rejection.
16
+
17
+
### Changed
18
+
19
+
- The README, npm package page, MCP tool description, growth kit, and production quick start now lead with the single-input public issue workflow.
@@ -30,15 +30,21 @@ FixMap is a transparent routing layer for that gap. It needs no account or API k
30
30
31
31
## Quick start
32
32
33
-
Try FixMap on any public GitHub repository without cloning it first:
33
+
Paste a public GitHub issue URL. FixMap fetches its title and body, infers the repository, and returns a repo map without making you clone anything first:
34
+
35
+
```bash
36
+
npx -y @aryam/fixmap plan --issue https://github.com/aryamthecodebreaker/FixMap/issues/59
37
+
```
38
+
39
+
Or describe a task and point FixMap at any public GitHub repository:
34
40
35
41
```bash
36
42
npx -y @aryam/fixmap plan \
37
-
--issue "support public GitHub repository inputs" \
Or run it from a local JavaScript or TypeScript repository:
47
+
For private source or working-tree changes, run it from a local JavaScript or TypeScript repository:
42
48
43
49
```bash
44
50
npx @aryam/fixmap plan --issue "password reset emails fail"
@@ -56,9 +62,11 @@ Machine-readable output:
56
62
npx @aryam/fixmap plan --base main --head HEAD --format json --output fixmap-report.json
57
63
```
58
64
59
-
### Public GitHub repository inputs
65
+
### Public GitHub issue and repository inputs
66
+
67
+
CLI and MCP users can pass a canonical `https://github.com/owner/repository/issues/123` URL as the issue. FixMap anonymously fetches the public issue title and body and infers the matching repository when `--repo` / `repo` is omitted. A separately supplied public repository URL must match the issue; an explicit local checkout is allowed.
60
68
61
-
CLI and MCP users can pass a canonical `https://github.com/owner/repository`URL to `--repo` / `repo`. FixMap anonymously shallow-clones the default branch into an isolated OS temporary directory, disables credentials, hooks, submodules, symlinks, and LFS smudging, scans without running install/build/test scripts, and removes the checkout before returning the report.
69
+
Repository inputs use the canonical `https://github.com/owner/repository`form. FixMap anonymously shallow-clones the default branch into an isolated OS temporary directory, disables credentials, hooks, submodules, symlinks, and LFS smudging, scans without running install/build/test scripts, and removes the checkout before returning the report. Issue fetches use GitHub's fixed public API host with no redirects or credentials, a 15-second timeout, bounded response and task sizes, and a clear anonymous rate-limit error.
62
70
63
71
Remote URL mode is deliberately issue-only in this first release. Clone the repository locally when you need `--diff`, `--base`, or `--head`. Paths and test commands in a remote report are informational because the temporary checkout no longer exists after analysis.
64
72
@@ -137,7 +145,7 @@ jobs:
137
145
with:
138
146
fetch-depth: 0
139
147
- id: fixmap
140
-
uses: aryamthecodebreaker/FixMap@v0.5.1
148
+
uses: aryamthecodebreaker/FixMap@v0.6.0
141
149
with:
142
150
github-token: ${{ secrets.GITHUB_TOKEN }}
143
151
```
@@ -201,7 +209,7 @@ npm run ci
201
209
202
210
## Status and roadmap
203
211
204
-
FixMap is an early public release focused on JavaScript and TypeScript repositories. The [changelog](CHANGELOG.md) records what each release shipped, including cross-repository evaluation, MCP support, and one-command public GitHub repository analysis. Near-term work:
212
+
FixMap is an early public release focused on JavaScript and TypeScript repositories. The [changelog](CHANGELOG.md) records what each release shipped, including cross-repository evaluation, MCP support, and one-command public GitHub issue analysis. Near-term work:
205
213
206
214
- git co-change and ownership signals
207
215
- adapters and examples for popular monorepo layouts
description: "Turn an issue or git diff into ranked files, test routes, risk notes, and explainable diagnostics. Local-first and open source.",
18
+
description: "Paste a public GitHub issue URL and get ranked files, test routes, risk notes, and explainable diagnostics. Local-first and open source.",
The report ranks likely files with reasons, suggests test routes, and names risks and diagnostics. Public URL analysis is issue-only; diff analysis still requires a local checkout.
@@ -18,7 +17,7 @@ The report ranks likely files with reasons, suggests test routes, and names risk
18
17
19
18
- MIT licensed, deterministic, local-first analysis with no model call or account.
20
19
- CLI, MCP server, and GitHub Action share the same core ranker.
21
-
- Public GitHub repositories work through an isolated anonymous shallow checkout that is removed after analysis.
20
+
- Public GitHub issue URLs supply both task context and the repository in one input; source is scanned in an isolated anonymous shallow checkout that is removed after analysis.
22
21
- A frozen external evaluation uses six real fixed issues at pinned pre-fix commits.
- The remaining Zod miss and every ranked output are public in [`benchmarks/external/`](../benchmarks/external/).
@@ -32,7 +31,7 @@ Do not say:
32
31
33
32
- “FixMap is 83% accurate” or “finds the right file 83% of the time.”
34
33
- “FixMap runs or verifies the tests.” It suggests test routes; it does not execute them.
35
-
- “Any GitHub URL works.” Only canonical public `https://github.com/owner/repository` inputs are supported.
34
+
- “Any GitHub URL works.” Only canonical public repository and issue URLs are supported.
36
35
- “Your code never leaves your machine” without the remote-mode nuance: FixMap downloads public source from GitHub, but does not upload analyzed source to a FixMap service.
37
36
- “5,000 stars is expected.” It is the goal, not a promised outcome.
38
37
@@ -42,7 +41,7 @@ Keep the documented miss visible. If a scheduled evaluation regresses, pause pro
42
41
43
42
-[ ] The latest GitHub release, npm CLI, npm core package, and official MCP Registry entry show the same version.
44
43
-[ ]`npx -y @aryam/fixmap@latest --version` returns that version from a fresh cache outside the repository.
45
-
-[ ] The public GitHub URL command above succeeds from a fresh cache.
44
+
-[ ] The public GitHub issue URL command above succeeds from a fresh cache.
46
45
-[ ] Main CI and the manual external-evaluation workflow are green at the release commit.
47
46
-[ ] The production site shows the public URL command and current product language.
48
47
-[ ] The README, changelog, benchmark page, Action pin, and release notes agree.
@@ -118,7 +117,7 @@ Points for the maintainer to explain personally:
118
117
119
118
1. The recurring problem that made you build it: agents lose time before the first edit because they start in the wrong module or miss the owning test.
120
119
2. The one-sentence solution: deterministic repo context—ranked files, test routes, risks, and diagnostics.
121
-
3. The fastest trial: include the public GitHub URL command.
120
+
3. The fastest trial: include the one-input public GitHub issue URL command.
122
121
4. The technical mechanism: path/content signals, real git diff signals, bounded static import proximity, file-kind priors, and workspace boundaries.
123
122
5. The honest evidence: six frozen real bugs, `3/6` top-1 and `5/6` top-3/top-5, with the Zod miss linked.
124
123
6. The scope: JavaScript/TypeScript today; remote URLs are issue-only; suggested tests are not executed.
Or run from a local JavaScript or TypeScript repository:
23
+
For private source or working-tree changes, run from a local JavaScript or TypeScript repository:
18
24
19
25
```bash
20
26
npx @aryam/fixmap plan --issue "password reset emails fail"
@@ -32,7 +38,7 @@ Machine-readable output:
32
38
npx @aryam/fixmap plan --base main --head HEAD --format json --output fixmap-report.json
33
39
```
34
40
35
-
Public GitHub URL mode is available in the CLI and MCP server for issue-only analysis. FixMap anonymously shallow-clones the default branch into an isolated temporary directory, disables credentials and repository execution surfaces, and removes the checkout before returning. Clone locally to use `--diff`, `--base`, or `--head`.
41
+
Public GitHub issue and repository URL modes are available in the CLI and MCP server for issue-only analysis. FixMap fetches issue context anonymously, shallow-clones the default branch into an isolated temporary directory, disables credentials and repository execution surfaces, and removes the checkout before returning. Clone locally to use `--diff`, `--base`, or `--head`.
36
42
37
43
## MCP server
38
44
@@ -63,7 +69,7 @@ Cursor, Windsurf, or any MCP client:
63
69
fixmap plan Generate a FixMap report for a task or diff
64
70
fixmap mcp Run FixMap as an MCP server over stdio
65
71
66
-
--issue <text> Issue, prompt, or task description
72
+
--issue <text|url> Issue text, task description, or public GitHub issue URL
67
73
--diff <spec> Git diff spec, such as main...HEAD
68
74
--base <ref> Base ref for diffing when --diff is not given
69
75
--head <ref> Head ref for diffing (defaults to HEAD)
0 commit comments