Skip to main content

Get started with GitRead

This guide will walk you through creating your first AI-generated README file for any public GitHub repository.
1

Sign up for an account

Navigate to gitread.dev and click Sign In in the top-right corner.You can sign up using:
  • Email and password
  • GitHub OAuth
  • Google OAuth
New users automatically receive 1 free credit to generate their first README.
2

Enter a GitHub repository URL

Once signed in, you’ll see the main input field. Paste any public GitHub repository URL:
https://github.com/username/repository
Try an example repository:
  • Click one of the example buttons below the input field
  • Examples include: vmath20/IsoPath, marktext/marktext, 3b1b/manim
GitRead only works with public repositories. Private repositories will return an error.
3

Generate your README

Click the Generate ✨ button to start the process.GitRead will:
  1. Validate your repository URL
  2. Check your credit balance (1 credit will be deducted)
  3. Analyze the repository structure and content
  4. Generate a professional README using AI
The generation process typically takes 30-60 seconds depending on repository size.
A progress indicator will show while your README is being generated. Don’t close the tab during this process.
4

View and edit your README

Once generated, your README appears with two view modes:Preview mode: See how your README will look when rendered on GitHubMarkdown mode: View and edit the raw markdown content
// Toggle between modes using the buttons above the editor
const [viewMode, setViewMode] = useState<'markdown' | 'preview'>('preview')
You can make any edits directly in the markdown editor.
5

Copy or download your README

When you’re satisfied with the result:Copy to clipboard: Click the Copy button to copy the markdownDownload as file: Click Download to save as README.md
// The download creates a proper .md file
const blob = new Blob([readme], { type: 'text/markdown' })
const url = URL.createObjectURL(blob)
const a = document.createElement('a')
a.href = url
a.download = 'README.md'
a.click()

Managing your credits

GitRead uses a credit-based system:
  • Initial credit: New users get 1 free credit
  • Cost per README: 1 credit per generation
  • Viewing credits: Your credit balance appears in the top-right corner

Purchasing credits

When you run out of credits:
  1. A modal will appear with purchase options
  2. Select your desired credit package (2, 5, or 10 credits)
  3. Click Add credits to proceed to Stripe checkout
  4. Complete the payment
  5. Credits are added to your account immediately
const handleBuyCredits = async (creditAmount: number) => {
  const response = await fetch('/api/create-checkout-session', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ credits: creditAmount }),
  });

  const data = await response.json();
  if (data.url) {
    window.location.href = data.url;
  }
};

Viewing your README history

All your generated READMEs are automatically saved:
  1. Click Show History below the main interface
  2. Browse your previously generated READMEs
  3. Click View README on any item to load it
  4. The repository URL and timestamp are shown for each entry
// READMEs are stored in Supabase with full history
const { data, error } = await supabase
  .from('generated_readmes')
  .select('*')
  .eq('user_id', userId)
  .order('created_at', { ascending: false })

Repository limitations

GitRead has the following limits to ensure optimal performance:
  • Maximum input tokens: 900,000 tokens (~675,000 words)
  • Maximum file size: Varies based on configuration
  • Maximum files: Repository file count limit
  • Maximum depth: Directory nesting limit
If your repository exceeds these limits, you’ll receive a detailed error message with specific limit information.

Rate limiting

To prevent abuse and ensure fair usage:
  • Cooldown period: 5 seconds between generations
  • Queue system: If the server is busy, you’ll see your position in the queue
  • Maximum queue size: 20 concurrent requests
// Built-in rate limiting
const COOLDOWN_PERIOD = 5 // 5 seconds cooldown
if (isButtonCooldown) {
  setErrorMessage(`⏱️ Please wait ${cooldownSeconds} second(s) before generating another README.`);
  return;
}

Next steps

How it works

Understand the technical architecture behind GitRead

Features

Explore all of GitRead’s powerful features

Local development

Set up GitRead locally for development

API reference

Explore the API endpoints and integration options

Build docs developers (and LLMs) love