diff --git a/README.md b/README.md index 1f91e6f..777f527 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,12 @@ Turn an issue or git diff into relevant files, test routes, risk notes, and clea ![Animated terminal recording: a single fixmap plan command on the checked-in tiny-auth example produces ranked context files with confidence and reasons, a test route with related tests, a high authentication risk note, and honest empty diagnostics — in about ten seconds.](docs/assets/fixmap-cli-demo.svg) +### Watch FixMap in 24 seconds + +[![FixMap launch film preview: a terminal report showing the ranked reset-password context file, its related test route, and a high authentication risk note.](apps/web/public/fixmap-launch-poster.jpg)](https://fixmap-flax.vercel.app/#launch-film) + +[Play the launch film](https://fixmap-flax.vercel.app/fixmap-launch.mp4) · [Explore the live experience](https://fixmap-flax.vercel.app/#launch-film) · [View the GitHub repository](https://github.com/aryamthecodebreaker/FixMap) + ## Why FixMap? Coding agents are fast once they have the right context. The expensive mistakes happen earlier: diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index e35a0a9..cfd1aca 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -155,6 +155,8 @@ h1 em, h2 em { .button.primary:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 12px 34px rgba(116, 240, 186, 0.32); } .button.secondary { background: rgba(255, 255, 255, 0.025); backdrop-filter: blur(6px); } .button.secondary:hover { border-color: rgba(116, 240, 186, 0.4); background: var(--mint-soft); } +.button.github-button { color: var(--mint); background: transparent; border-color: rgba(116, 240, 186, 0.26); } +.button.github-button:hover { border-color: rgba(116, 240, 186, 0.55); background: var(--mint-soft); } .proof-row { display: flex; gap: 26px; margin-top: 38px; flex-wrap: wrap; color: var(--muted); font-size: 12.5px; letter-spacing: 0.01em; } .proof-row span::before { content: "✓"; color: var(--mint); margin-right: 8px; } @@ -193,12 +195,29 @@ h1 em, h2 em { .terminal-label { margin-top: 16px !important; color: var(--faint) !important; font-size: 10px; letter-spacing: 0.22em; } /* Sections */ -.demo-section, .workflow, .quickstart { max-width: 1200px; margin: auto; padding: 104px 24px; border-top: 1px solid var(--line); } +.film-section, .demo-section, .workflow, .quickstart { max-width: 1200px; margin: auto; padding: 104px 24px; border-top: 1px solid var(--line); } .section-heading { max-width: 740px; margin-bottom: 46px; } .section-heading.compact { max-width: 560px; } h2 { margin-bottom: 18px; font-size: clamp(34px, 4.2vw, 52px); line-height: 1.06; } .section-heading > p:last-child, .quickstart > div > p:last-child { color: var(--muted); font-size: 17px; line-height: 1.65; font-weight: 380; } +/* Launch film */ +.film-section { display: grid; grid-template-columns: 0.68fr 1.32fr; gap: 58px; align-items: center; } +.film-copy > p:not(.kicker):not(.film-note) { color: var(--muted); font-size: 16px; line-height: 1.7; } +.film-links { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; } +.film-note { margin: 20px 0 0; color: var(--faint); font: 11px/1.6 var(--font-mono), ui-monospace, monospace; } +.film-frame { + margin: 0; + overflow: hidden; + border-radius: 20px; + background: linear-gradient(var(--panel-solid), var(--panel-solid)) padding-box, + linear-gradient(150deg, rgba(116, 240, 186, 0.5), rgba(148, 187, 168, 0.08) 54%, rgba(233, 220, 184, 0.2)) border-box; + border: 1px solid transparent; + box-shadow: var(--shadow-lg); +} +.film-frame video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #020403; object-fit: cover; } +.film-frame figcaption { padding: 14px 18px 16px; color: var(--muted); font-size: 11.5px; line-height: 1.5; border-top: 1px solid var(--line); } + /* Demo */ .demo-shell { display: grid; @@ -312,6 +331,7 @@ footer > a:last-child:hover { color: var(--text); border-color: var(--mint); } @media (max-width: 860px) { .hero { grid-template-columns: 1fr; padding-top: 72px; gap: 56px; } .hero-terminal { transform: none; animation: none; } + .film-section { grid-template-columns: 1fr; } .demo-shell { grid-template-columns: 1fr; } .demo-input { border-right: 0; border-bottom: 1px solid var(--line); } .steps { grid-template-columns: 1fr; } @@ -323,7 +343,7 @@ footer > a:last-child:hover { color: var(--text); border-color: var(--mint); } .eyebrow::after, .kicker::after { display: none; } h1 { font-size: 40px; } .hero { padding-bottom: 72px; } - .demo-section, .workflow, .quickstart { padding-top: 76px; padding-bottom: 76px; } + .film-section, .demo-section, .workflow, .quickstart { padding-top: 76px; padding-bottom: 76px; } .demo-input, .demo-results { padding-left: 18px; padding-right: 18px; } .proof-row { gap: 12px; flex-direction: column; } footer { align-items: flex-start; flex-direction: column; } diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 1576d02..85968f7 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -12,6 +12,7 @@ export default function HomePage() { FixMap
+ Film Demo How it works GitHub ↗ @@ -27,7 +28,8 @@ export default function HomePage() {

Try the CLI - Explore a live sample + Watch the launch film + View on GitHub ↗
Deterministic explanations @@ -51,6 +53,35 @@ export default function HomePage() {
+
+
+

23-second product film

+

See the handoff before the first edit.

+

+ The film moves from the wrong-file problem to a ranked context file, a test route, and an explicit risk note—the core FixMap workflow in one short pass. +

+
+ Explore the GitHub repo ↗ + Open the video +
+

Original product film · 1280×720 · sound on · current release v0.6.2

+
+
+ +
FixMap turns a task into explainable context, verification routes, and reviewable risk.
+
+
+

Interactive sample

diff --git a/apps/web/public/fixmap-launch-poster.jpg b/apps/web/public/fixmap-launch-poster.jpg new file mode 100644 index 0000000..e4c46c2 Binary files /dev/null and b/apps/web/public/fixmap-launch-poster.jpg differ diff --git a/apps/web/public/fixmap-launch.mp4 b/apps/web/public/fixmap-launch.mp4 new file mode 100644 index 0000000..6d3c0f0 Binary files /dev/null and b/apps/web/public/fixmap-launch.mp4 differ diff --git a/docs/LAUNCH_KIT.md b/docs/LAUNCH_KIT.md index 6ad329b..e3271d4 100644 --- a/docs/LAUNCH_KIT.md +++ b/docs/LAUNCH_KIT.md @@ -172,13 +172,51 @@ claude mcp add fixmap -- npx -y @aryam/fixmap@latest mcp Avoid generic feature lists and unsupported superlatives. +## Ready-to-post LinkedIn update + +Coding agents are fast once they know where to work. The expensive mistakes happen before the first edit: opening the wrong module, missing the owning test, or overlooking a risky change. + +I have been building FixMap to make that handoff explicit. + +Give it a public GitHub issue URL and it returns ranked context files with reasons, suggested test routes, risk notes, and diagnostics—without an account or API key: + +```text +npx -y @aryam/fixmap@latest plan --issue https://github.com/aryamthecodebreaker/FixMap/issues/59 +``` + +The latest work includes: + +- one-command analysis of public GitHub issue URLs +- safer isolated repository fetching with bounded inputs and no credentials, hooks, submodules, or executed repository scripts +- a shared CLI, MCP server, and GitHub Action workflow +- a GitHub Marketplace listing for the Action +- a production dependency audit gate with no high or critical findings +- 119 automated tests, production builds, smoke tests, and a frozen cross-repository evaluation gate +- a new 24-second product film on the README and live site + +The evaluation is intentionally public and modest: across six pinned real bugs, FixMap currently ranks an expected file in the top 1 for 3/6 cases and in the top 3 for 5/6. The miss is published too. + +Watch the film and try the live experience: https://fixmap-flax.vercel.app/#launch-film + +GitHub: https://github.com/aryamthecodebreaker/FixMap + +Marketplace: https://github.com/marketplace/actions/fixmap + +npm: https://www.npmjs.com/package/@aryam/fixmap + +Release: https://github.com/aryamthecodebreaker/FixMap/releases/tag/v0.6.2 + +I would especially value feedback on the ranking explanations and which repository signals would make FixMap more useful before an agent starts editing. + +#opensource #devtools #githubactions #mcp #typescript #aicoding + ## Distribution checklist - [ ] Official MCP Registry metadata is current; downstream directories can ingest the canonical entry. -- [ ] GitHub Marketplace listing is enabled from a root `action.yml`. +- [x] GitHub Marketplace listing is enabled from a root `action.yml`. - [ ] Relevant awesome-list submissions follow each list's current contribution rules and add a genuinely missing category entry. - [ ] Release notes contain the one-command trial and benchmark delta. -- [ ] A short demo video is rendered from real output for platforms that do not animate the README SVG. +- [x] A short demo video is rendered from real output for platforms that do not animate the README SVG. - [ ] Repository topics, description, homepage, and social preview use the current product language. - [ ] GitHub Discussions has a clear “show how you use FixMap” prompt after there are real users to answer it.