Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
273 changes: 273 additions & 0 deletions apps/landing-page-astro/public/api-ai.json
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,279 @@
"kind": "static",
"description": "Index of editorial articles on execution-backed agent verification"
},
{
"id": "inspiration",
"url": "https://codevetter.com/inspiration",
"md": "https://codevetter.com/inspiration.md",
"kind": "static",
"description": "Source-linked index of tools that shaped CodeVetter"
},
{
"id": "inspiration-aider",
"url": "https://codevetter.com/inspiration/aider",
"md": "https://codevetter.com/inspiration/aider.md",
"kind": "static",
"description": "Aider — a CodeVetter inspiration note"
},
{
"id": "inspiration-greptile",
"url": "https://codevetter.com/inspiration/greptile",
"md": "https://codevetter.com/inspiration/greptile.md",
"kind": "static",
"description": "Greptile — a CodeVetter inspiration note"
},
{
"id": "inspiration-coderabbit",
"url": "https://codevetter.com/inspiration/coderabbit",
"md": "https://codevetter.com/inspiration/coderabbit.md",
"kind": "static",
"description": "CodeRabbit — a CodeVetter inspiration note"
},
{
"id": "inspiration-qodo",
"url": "https://codevetter.com/inspiration/qodo",
"md": "https://codevetter.com/inspiration/qodo.md",
"kind": "static",
"description": "Qodo / PR-Agent — a CodeVetter inspiration note"
},
{
"id": "inspiration-ellipsis",
"url": "https://codevetter.com/inspiration/ellipsis",
"md": "https://codevetter.com/inspiration/ellipsis.md",
"kind": "static",
"description": "Ellipsis — a CodeVetter inspiration note"
},
{
"id": "inspiration-sourcery",
"url": "https://codevetter.com/inspiration/sourcery",
"md": "https://codevetter.com/inspiration/sourcery.md",
"kind": "static",
"description": "Sourcery — a CodeVetter inspiration note"
},
{
"id": "inspiration-bito",
"url": "https://codevetter.com/inspiration/bito",
"md": "https://codevetter.com/inspiration/bito.md",
"kind": "static",
"description": "Bito — a CodeVetter inspiration note"
},
{
"id": "inspiration-graphite",
"url": "https://codevetter.com/inspiration/graphite",
"md": "https://codevetter.com/inspiration/graphite.md",
"kind": "static",
"description": "Graphite Agent — a CodeVetter inspiration note"
},
{
"id": "inspiration-panto",
"url": "https://codevetter.com/inspiration/panto",
"md": "https://codevetter.com/inspiration/panto.md",
"kind": "static",
"description": "Panto AI — a CodeVetter inspiration note"
},
{
"id": "inspiration-github-copilot",
"url": "https://codevetter.com/inspiration/github-copilot",
"md": "https://codevetter.com/inspiration/github-copilot.md",
"kind": "static",
"description": "GitHub Copilot code review — a CodeVetter inspiration note"
},
{
"id": "inspiration-deepwiki",
"url": "https://codevetter.com/inspiration/deepwiki",
"md": "https://codevetter.com/inspiration/deepwiki.md",
"kind": "static",
"description": "DeepWiki — a CodeVetter inspiration note"
},
{
"id": "inspiration-sourcegraph",
"url": "https://codevetter.com/inspiration/sourcegraph",
"md": "https://codevetter.com/inspiration/sourcegraph.md",
"kind": "static",
"description": "Sourcegraph — a CodeVetter inspiration note"
},
{
"id": "inspiration-augment-code",
"url": "https://codevetter.com/inspiration/augment-code",
"md": "https://codevetter.com/inspiration/augment-code.md",
"kind": "static",
"description": "Augment Code — a CodeVetter inspiration note"
},
{
"id": "inspiration-arbor",
"url": "https://codevetter.com/inspiration/arbor",
"md": "https://codevetter.com/inspiration/arbor.md",
"kind": "static",
"description": "Arbor — a CodeVetter inspiration note"
},
{
"id": "inspiration-logicstamp",
"url": "https://codevetter.com/inspiration/logicstamp",
"md": "https://codevetter.com/inspiration/logicstamp.md",
"kind": "static",
"description": "LogicStamp Context — a CodeVetter inspiration note"
},
{
"id": "inspiration-repomix",
"url": "https://codevetter.com/inspiration/repomix",
"md": "https://codevetter.com/inspiration/repomix.md",
"kind": "static",
"description": "Repomix — a CodeVetter inspiration note"
},
{
"id": "inspiration-swimm",
"url": "https://codevetter.com/inspiration/swimm",
"md": "https://codevetter.com/inspiration/swimm.md",
"kind": "static",
"description": "Swimm — a CodeVetter inspiration note"
},
{
"id": "inspiration-google-code-wiki",
"url": "https://codevetter.com/inspiration/google-code-wiki",
"md": "https://codevetter.com/inspiration/google-code-wiki.md",
"kind": "static",
"description": "Google Code Wiki — a CodeVetter inspiration note"
},
{
"id": "inspiration-opendeepwiki",
"url": "https://codevetter.com/inspiration/opendeepwiki",
"md": "https://codevetter.com/inspiration/opendeepwiki.md",
"kind": "static",
"description": "OpenDeepWiki — a CodeVetter inspiration note"
},
{
"id": "inspiration-claude-code",
"url": "https://codevetter.com/inspiration/claude-code",
"md": "https://codevetter.com/inspiration/claude-code.md",
"kind": "static",
"description": "Claude Code — a CodeVetter inspiration note"
},
{
"id": "inspiration-codex",
"url": "https://codevetter.com/inspiration/codex",
"md": "https://codevetter.com/inspiration/codex.md",
"kind": "static",
"description": "OpenAI Codex — a CodeVetter inspiration note"
},
{
"id": "inspiration-cursor",
"url": "https://codevetter.com/inspiration/cursor",
"md": "https://codevetter.com/inspiration/cursor.md",
"kind": "static",
"description": "Cursor — a CodeVetter inspiration note"
},
{
"id": "inspiration-windsurf",
"url": "https://codevetter.com/inspiration/windsurf",
"md": "https://codevetter.com/inspiration/windsurf.md",
"kind": "static",
"description": "Windsurf — a CodeVetter inspiration note"
},
{
"id": "inspiration-continue",
"url": "https://codevetter.com/inspiration/continue",
"md": "https://codevetter.com/inspiration/continue.md",
"kind": "static",
"description": "Continue — a CodeVetter inspiration note"
},
{
"id": "inspiration-cline",
"url": "https://codevetter.com/inspiration/cline",
"md": "https://codevetter.com/inspiration/cline.md",
"kind": "static",
"description": "Cline — a CodeVetter inspiration note"
},
{
"id": "inspiration-gemini-cli",
"url": "https://codevetter.com/inspiration/gemini-cli",
"md": "https://codevetter.com/inspiration/gemini-cli.md",
"kind": "static",
"description": "Gemini CLI — a CodeVetter inspiration note"
},
{
"id": "inspiration-tree-sitter",
"url": "https://codevetter.com/inspiration/tree-sitter",
"md": "https://codevetter.com/inspiration/tree-sitter.md",
"kind": "static",
"description": "Tree-sitter — a CodeVetter inspiration note"
},
{
"id": "inspiration-ast-grep",
"url": "https://codevetter.com/inspiration/ast-grep",
"md": "https://codevetter.com/inspiration/ast-grep.md",
"kind": "static",
"description": "ast-grep — a CodeVetter inspiration note"
},
{
"id": "inspiration-semgrep",
"url": "https://codevetter.com/inspiration/semgrep",
"md": "https://codevetter.com/inspiration/semgrep.md",
"kind": "static",
"description": "Semgrep — a CodeVetter inspiration note"
},
{
"id": "inspiration-codeql",
"url": "https://codevetter.com/inspiration/codeql",
"md": "https://codevetter.com/inspiration/codeql.md",
"kind": "static",
"description": "CodeQL — a CodeVetter inspiration note"
},
{
"id": "inspiration-ripgrep",
"url": "https://codevetter.com/inspiration/ripgrep",
"md": "https://codevetter.com/inspiration/ripgrep.md",
"kind": "static",
"description": "ripgrep — a CodeVetter inspiration note"
},
{
"id": "inspiration-gitnexus",
"url": "https://codevetter.com/inspiration/gitnexus",
"md": "https://codevetter.com/inspiration/gitnexus.md",
"kind": "static",
"description": "GitNexus — a CodeVetter inspiration note"
},
{
"id": "inspiration-gitoxide",
"url": "https://codevetter.com/inspiration/gitoxide",
"md": "https://codevetter.com/inspiration/gitoxide.md",
"kind": "static",
"description": "gitoxide — a CodeVetter inspiration note"
},
{
"id": "inspiration-scip",
"url": "https://codevetter.com/inspiration/scip",
"md": "https://codevetter.com/inspiration/scip.md",
"kind": "static",
"description": "SCIP — a CodeVetter inspiration note"
},
{
"id": "inspiration-codesize",
"url": "https://codevetter.com/inspiration/codesize",
"md": "https://codevetter.com/inspiration/codesize.md",
"kind": "static",
"description": "codesize — a CodeVetter inspiration note"
},
{
"id": "inspiration-unsupervised-finder",
"url": "https://codevetter.com/inspiration/unsupervised-finder",
"md": "https://codevetter.com/inspiration/unsupervised-finder.md",
"kind": "static",
"description": "Unsupervised Finder — a CodeVetter inspiration note"
},
{
"id": "inspiration-deepwork",
"url": "https://codevetter.com/inspiration/deepwork",
"md": "https://codevetter.com/inspiration/deepwork.md",
"kind": "static",
"description": "DeepWork — a CodeVetter inspiration note"
},
{
"id": "inspiration-llm-wiki",
"url": "https://codevetter.com/inspiration/llm-wiki",
"md": "https://codevetter.com/inspiration/llm-wiki.md",
"kind": "static",
"description": "Karpathy’s LLM Wiki — a CodeVetter inspiration note"
},
{
"id": "article-agent-evaluation-vs-tests-vs-code-review",
"url": "https://codevetter.com/articles/agent-evaluation-vs-tests-vs-code-review",
Expand Down
1 change: 1 addition & 0 deletions apps/landing-page-astro/public/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@ Engineers evaluating or shipping coding-agent changes who need executable eviden
- https://codevetter.com/index.md
- https://codevetter.com/docs.md
- https://codevetter.com/benchmark.md
- https://codevetter.com/inspiration.md
- https://codevetter.com/pricing.md
- https://codevetter.com/.well-known/ai-catalog.json
2 changes: 2 additions & 0 deletions apps/landing-page-astro/public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Engineers evaluating or shipping coding-agent changes who need executable eviden
- FAQ: https://codevetter.com/faq — Common questions about local verification and provider boundaries
- Changelog: https://codevetter.com/changelog — Verified shipped outcomes
- Privacy: https://codevetter.com/privacy — Local-first data handling
- Inspiration: https://codevetter.com/inspiration — Source-linked notes on the tools and ideas studied while building CodeVetter

## Current availability

Expand Down Expand Up @@ -80,6 +81,7 @@ Engineers evaluating or shipping coding-agent changes who need executable eviden
- https://codevetter.com/verification-evidence-bundle.md
- https://codevetter.com/verify-ai-generated-code.md
- https://codevetter.com/articles.md
- https://codevetter.com/inspiration.md
- https://codevetter.com/articles/agent-evaluation-vs-tests-vs-code-review.md
- https://codevetter.com/articles/coding-agent-evidence-receipt-spec.md
- https://codevetter.com/articles/verifying-ai-code-changes-beyond-code-review.md
Expand Down
5 changes: 5 additions & 0 deletions apps/landing-page-astro/public/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,10 @@ Do not use CodeVetter for: generic static code review without execution, style-o
- [What an evidence receipt for a coding agent should contain](https://codevetter.com/articles/coding-agent-evidence-receipt-spec): Identity bindings, execution records, taxonomy, and closure trails
- [Agent evaluation vs tests vs code review](https://codevetter.com/articles/agent-evaluation-vs-tests-vs-code-review): The distinct proof boundaries of each quality mechanism

## Inspiration

- [Tools that shaped CodeVetter](https://codevetter.com/inspiration): Source-linked notes on 38 products, projects, and ideas, with a clear boundary between shipped integrations and research

## Machine surfaces

- [Agent catalog](https://codevetter.com/api/ai): JSON inventory of public surfaces
Expand All @@ -52,6 +56,7 @@ Do not use CodeVetter for: generic static code review without execution, style-o
- [Homepage markdown](https://codevetter.com/index.md): Product brief without JS
- [Benchmark markdown](https://codevetter.com/benchmark.md): Reproducible benchmark summary without JS
- [Documentation markdown](https://codevetter.com/docs.md): Canonical documentation index without JS
- [Inspiration markdown](https://codevetter.com/inspiration.md): Attribution ledger without JS
- [This index](https://codevetter.com/llms.txt)
- [Full agent brief](https://codevetter.com/llms-full.txt)

Expand Down
1 change: 1 addition & 0 deletions apps/landing-page-astro/src/components/Footer.astro
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ const cols = [
{ l: 'FAQ', h: '/faq' },
{ l: 'Verification guide', h: '/coding-agent-verification' },
{ l: 'Articles', h: '/articles' },
{ l: 'Inspiration', h: '/inspiration' },
{ l: 'Review vs verification', h: '/ai-code-review-vs-verification' },
{ l: 'Compare CodeVetter', h: '/compare' },
{ l: 'vs CodeRabbit', h: '/codevetter-vs-coderabbit' },
Expand Down
1 change: 1 addition & 0 deletions apps/landing-page-astro/src/components/Nav.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ const links = [
{ href: '/#how', label: 'How it works' },
{ href: '/benchmark', label: 'Evidence' },
{ href: '/#availability', label: 'Availability' },
{ href: '/inspiration', label: 'Inspiration' },
{ href: '/faq', label: 'FAQ' },
];
---
Expand Down
39 changes: 39 additions & 0 deletions apps/landing-page-astro/src/data/agent-markdown.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import unpackPairs from '@/data/unpack-pairs.json';
import docsIndexSource from '../../../../docs/index.md?raw';
import { verificationContent } from '@/data/verification-content';
import { articlesContent } from '@/data/articles-content';
import { inspirations, researchSources } from '@/data/inspirations';
import { currentReleaseUrl, publishedRelease, updateSummary } from '@/data/release';
import { privacyMarkdownBody, privacyPolicy } from '@/data/privacy';
import {
Expand Down Expand Up @@ -268,6 +269,44 @@ ${Object.values(articlesContent)
.join('\n')}`
);

staticPages.inspiration = page(
'Tools that shaped CodeVetter',
'/inspiration',
`A source-linked ledger of products and open-source tools whose work informed CodeVetter's research and design. Inclusion is independent appreciation, not endorsement, affiliation, code reuse, or feature parity.

${inspirations.map((item) => `- [${item.name}](${SITE_URL}/inspiration/${item.slug}) — ${item.idea} (${item.relation.toLowerCase()})`).join('\n')}

The [wider research archive](https://github.com/Codevetter/codevetter/blob/main/docs/knowledge/codebase-context-tools-landscape.md) also names surveyed alternatives that did not yield a specific product lesson.`
);

for (const item of inspirations) {
const research = researchSources[item.research];
staticPages[`inspiration/${item.slug}`] = page(
`${item.name} — tools that shaped CodeVetter`,
`/inspiration/${item.slug}`,
`${item.idea}

## What we admire

${item.admiration}

## The principle that stayed

${item.lesson}

## Where CodeVetter stands

${item.codevetter}

## Sources

- [${item.source.label}](${item.source.url}) — the creator's own source
- [${research.label}](${research.url}) — the CodeVetter project record

This is independent appreciation, not endorsement, partnership, code reuse, or feature parity.`
);
}

for (const content of Object.values(verificationContent)) {
staticPages[content.path.replace(/^\//, '')] = page(
content.title,
Expand Down
Loading
Loading