A LITTLE CONTEXT GOES A LONG WAY

Your code.
Your context.
Less guesswork.

Give your AI assistant a clear picture of your codebase. Turn a GitHub repo into focused context—schemas, routes, and types included.

Public repos without sign-inPrivate repos through GitHub
.ai-context.md

# Your repo, distilled.

Table Project (

id: String [PK],

name: String,

ownerId: String

)

GET /api/projects/[id]

→ ProjectWithTasks

interface Project {

id: string;

name: string;

}

your-repository
Less noise. More context.
ILLUSTRATIVE WORKFLOW
FROM REPOSITORY TO REFERENCESCROLL TO EXPLORE ↓
BUILT AROUND
YOUR ACTUAL STACK
TSTypeScriptNNext.js◭ PrismaDrizzle///zod{ }
THE CONTEXT GAP

Your code moved on.
Did your AI?

A new schema. A renamed endpoint. One more type to remember. Your assistant can’t follow the rules it doesn’t know.

RepoSpec turns the contracts that matter into a reference you can actually keep current.

Bring it back to the source
A SIMPLE EXAMPLE
WITHOUT THE CONTRACTproject.owner?

A field that looks right.
But doesn’t exist in the model.

GROUNDED IN YOUR SCHEMAproject.ownerId

The field your code
actually defines.

FOLLOW THE SIGNAL

A lot happens.
Only the useful bits stay.

From a repository full of implementation
to a reference your next prompt can use.
Explore each part of the process.

github.com/you/project01 / 04
prisma/schema.prisma
src/app/api/projects/[id]/route.ts
src/types/project.ts
.repospec/rules.md
ILLUSTRATIVE SOURCE FILES

RepoSpec resolves a branch, tag, or commit to a specific GitHub commit. The context starts with that version of your code.

The walkthrough illustrates the process. The playground below runs the actual parser on an example fixture.
LESS, BUT MORE USEFUL

Context with
a sense of proportion.

Keep the schema. Trim the noise.
Spend your context window on the
parts that help your assistant think.

CONTEXT WORKSPACEEXAMPLE REPOSITORY
Make room for what matters

One budget.
Your priorities.

Try the controls. These contracts come from a real, small fixture parsed by RepoSpec.

203 / 2,500 tokensWithin budget
.ai-context.md
# RepoSpec context

## Database
Table Project (id: String [PK, NOT NULL], name: String [NOT NULL], ownerId: String [NOT NULL], tasks: Task[])
Table Task (id: String [PK, NOT NULL], title: String [NOT NULL], projectId: String [NOT NULL, FK → Project.id], project: Project [NOT NULL])

## API routes
GET /api/projects/[id] → Params: id → Response: Promise < ProjectWithTasks >
PATCH /api/projects/[id] → Params: id → Body: UpdateProject → Response: Promise < Project >

## Core types
interface Project { id : string ; name : string ; ownerId : string }
interface ProjectWithTasks extends Project { tasks : { id : string ; title : string } [ ] }
type UpdateProject = Pick < Project , "name" > ;

## Architecture rules
- All database access uses the shared database client.
- Client components must not import server data access.
Example data only. Your repository analysis uses your actual code.
FROM CODEBASE TO CLARITY

Three steps.
A better starting point.

01

Start with your repository.

Paste a public GitHub URL, or sign in and choose a repository your GitHub App can access.

READ-ONLY ACCESS
02

Make the context yours.

Inspect extracted contracts, toggle source files, and set a token budget. See exactly what makes the cut.

YOU SET THE PRIORITIES
03

Put it to work.

Download your context file and add it to your coding workflow. Reanalyze when your code changes.

YOUR CONTEXT, PORTABLE
OUT OF THE BROWSER. INTO YOUR FLOW.

Good context
travels light.

No new way of working to learn.
Just a clearer reference for the tools you already use.

A reference for any workflow.

A portable Markdown file. Attach it to a prompt, keep it beside your project, or use it as a reference while you work.

Download example file

Example fixture only. No automatic connection to a coding assistant.

.ai-context.md↓
# RepoSpec context

## Database
Table Project (id: String [PK, NOT NULL], name: String [NOT NULL], ownerId: String [NOT NULL], tasks: Task[])
Table Task (id: String [PK, NOT NULL], title: String [NOT NULL], projectId: String [NOT NULL, FK → Project.id], project: Project [NOT NULL])

## API routes
GET /api/projects/[id] → Params: id → Response: Promise < ProjectWithTasks >
PATCH /api/projects/[id] → Params: id → Body: UpdateProject → Response: Promise < Project >

## Core types
interface Project { id : string ; name : string ; ownerId : string }
interface ProjectWithTasks extends Project { tasks : { id : string ; title : string } [ ] }
type UpdateProject = Pick < Project , "name" > ;

## Architecture rules
- All database access uses the shared database client.
- Client components must not import server data access.
PLAIN MARKDOWNParsed from the example fixture
YOUR CODE.Your context.YOURS TO TAKE.
FOR THE WORK IN FRONT OF YOU

Same codebase.
A better conversation.

Bring the relevant contracts into view
before asking an assistant to change them.

01
ONBOARDING

Getting into a new repository

Start with the shape of the system.

See the models, endpoints, and exported types together. Give your assistant a concrete reference before planning your first change.

02
IMPLEMENTATION

Changing a feature

Keep names and contracts in sync.

Include the schema and route contracts that touch your feature. Ask for changes against the fields your code actually defines.

03
HANDOFFS

Picking up where you left off

Refresh the context. Keep going.

Analyze the latest commit and replace your old reference. Context files are snapshots, so reanalyze after relevant code changes.

A CLEARER CONTRACT

Know what goes in.
Trust what comes out.

Useful context should be inspectable, traceable, and yours to control.

Selected repos. Read-only.

Choose which repositories the GitHub App can access. RepoSpec doesn’t push commits or change your code.

Extracted, not invented.

Static parsing reads what your code defines. Unsupported patterns show up as notes, instead of confident guesses.

No setup in your codebase.

Analyze in the browser and download Markdown. No repository plugin, database, or package installation required.

GOOD QUESTIONS

A little more context.

What does RepoSpec actually do?

RepoSpec extracts database models, API endpoints, and exported TypeScript types from a GitHub repository. You choose what to include and download a compact context file for your coding assistant.

Can I use a private repository?

Yes, through GitHub sign-in and a GitHub App installation. You select which repositories the app can read. Private access requires the site operator to configure the GitHub App.

Does it write anything to my GitHub repository?

No. Repository access is read-only. Generated files download to your device, and you decide whether to add them to your project.

Which stacks does it understand?

The first version supports TypeScript, Next.js App Router, Prisma, Drizzle, and common Zod object schemas. Unsupported patterns are reported rather than guessed.

Will this stop every AI mistake?

No tool can guarantee that. RepoSpec gives an assistant explicit contracts from a specific commit, helping it reason with better context. You still review and test generated code.

What happens to my source code?

The hosted app parses a bounded snapshot in server memory and returns extracted contracts. It does not run your source code or save the repository in an application database.

LET THE CODE DO THE TALKING

Give your next prompt
a better foundation.

Start with a GitHub repo

Your source. Your priorities. Your context.