Skip to main content

Brf.it

Give AI the gist, not the bloat. Extract function signatures from any codebase. Same context. 80% fewer tokens.

Token Savings in Action

See how Brf.it reduces token usage while preserving essential context

Before (Full Code)420 tokens
import { useState, useEffect } from 'react';
import axios from 'axios';

interface User {
  id: number;
  name: string;
  email: string;
  role: 'admin' | 'user' | 'guest';
}

interface UserService {
  fetchUser(id: number): Promise<User>;
  updateUser(user: User): Promise<User>;
  deleteUser(id: number): Promise<void>;
}

export class UserServiceImpl implements UserService {
  private baseUrl = '/api/users';

  async fetchUser(id: number): Promise<User> {
    const response = await axios.get(`${this.baseUrl}/${id}`);
    return response.data;
  }

  async updateUser(user: User): Promise<User> {
    const response = await axios.put(`${this.baseUrl}/${user.id}`, user);
    return response.data;
  }

  async deleteUser(id: number): Promise<void> {
    await axios.delete(`${this.baseUrl}/${id}`);
  }
}

export function useUser(userId: number) {
  const [user, setUser] = useState<User | null>(null);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState<Error | null>(null);

  useEffect(() => {
    const service = new UserServiceImpl();
    service.fetchUser(userId)
      .then(setUser)
      .catch(setError)
      .finally(() => setLoading(false));
  }, [userId]);

  return { user, loading, error };
}
After (Brf.it)95 tokens
// UserServiceImpl.ts
import { useState, useEffect } from 'react';
import axios from 'axios';

interface User { id: number; name: string; email: string; role: 'admin' | 'user' | 'guest' }
interface UserService { fetchUser(id: number): Promise<User>; updateUser(user: User): Promise<User>; deleteUser(id: number): Promise<void> }
class UserServiceImpl implements UserService { /* ... */ }
function useUser(userId: number): { user: User | null; loading: boolean; error: Error | null }
77%
Token Reduction
-325 tokens
85%
Fewer Lines
-44 lines
~$0.00
Savings per Request
@ $3/1M tokens

Features

Everything you need to give AI the right context

🌳

Tree-sitter AST

Accurate syntax parsing using Tree-sitter for precise signature extraction.

📄

Multi-format Output

Export as XML or Markdown. Perfect for AI context windows.

🔢

Token Counting

Automatic token estimation to help manage AI costs.

📥

Import Detection

Optional import/export statement extraction for dependency context.

🌐

12 Languages

Go, TypeScript, Python, Java, Kotlin, Rust, Ruby, PHP, Swift, Scala, C/C++, JavaScript.

Zero Config

Works out of the box. Respects .gitignore automatically.

Supported Languages

Tree-sitter powered parsing for accurate signature extraction

🐹Go
📘TypeScript
📒JavaScript
🐍Python
Java
🟣Kotlin
🦀Rust
💎Ruby
🐘PHP
🍎Swift
🔴Scala
⚙️C/C++

Quick Install

Get started in seconds with your preferred package manager

brew tap indigo-net/tap
brew install brfit

Then run:

brfit . -f md --include-imports