PHPackages                             fubber/fubber - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. fubber/fubber

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

fubber/fubber
=============

Multi-language codebase inspection tool using reflection and static analysis

v0.1.0(6mo ago)02↓33.3%MITPHPPHP &gt;=8.1

Since Nov 4Pushed 6mo agoCompare

[ Source](https://github.com/frodeborli/fubbertool)[ Packagist](https://packagist.org/packages/fubber/fubber)[ Docs](https://github.com/frodeborli/fubber)[ RSS](/packages/fubber-fubber/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Fubber
======

[](#fubber)

**Multi-language codebase inspection tool for developers and AI coding assistants**

Fubber is a command-line tool for browsing and analyzing code using reflection and static analysis. Currently supports PHP with plans for Python, JavaScript, and more.

Vision
------

[](#vision)

Fubber aims to be the Swiss Army knife for codebase exploration:

- **Multi-language**: Currently PHP, with Python, JavaScript, TypeScript, and more planned
- **Fast exploration**: Query your codebase without opening an IDE
- **AI-friendly**: Perfect for LLM coding assistants to understand codebases
- **Framework-agnostic**: Works with any PHP project

Current Features (PHP)
----------------------

[](#current-features-php)

- **Entity lookup**: Explore namespaces, classes, interfaces, traits, enums, methods, properties, constants, and functions
- **Pattern search**: Find entities by name or signature using substring or regex patterns
- **Relationship queries**: Find implementations, subclasses, trait users
- **Type queries**: Find methods accepting or returning specific types
- **Attribute queries**: Discover PHP 8 attribute usage across your codebase

Installation
------------

[](#installation)

### Via Composer (recommended)

[](#via-composer-recommended)

```
composer global require fubber/fubber
```

Make sure your Composer global bin directory is in your PATH:

```
export PATH="$PATH:$HOME/.config/composer/vendor/bin"
```

### From source

[](#from-source)

```
git clone https://github.com/frodeborli/fubber.git ~/fubbertool
cd ~/fubbertool
composer install
ln -s ~/fubbertool/bin/fubber ~/.local/bin/fubber
```

Usage
-----

[](#usage)

Navigate to any PHP project directory and run `fubber`:

```
cd /path/to/your/project
fubber --help
```

### Basic Examples

[](#basic-examples)

**Explore a namespace:**

```
fubber App\\Models
```

**View class documentation:**

```
fubber "App\\Models\\User"
```

**View method details:**

```
fubber "App\\Models\\User::save"
```

**Search for entities:**

```
fubber search Router              # Find anything with "Router"
fubber search -i cache            # Case-insensitive search
fubber search '\$request'         # Find methods with $request parameter
```

### Relationship Queries

[](#relationship-queries)

**Find all implementations of an interface:**

```
fubber implements CacheInterface
```

**Find all subclasses:**

```
fubber extends Repository
```

**Find classes using a trait:**

```
fubber uses LoggableTrait
```

### Type-based Queries

[](#type-based-queries)

**Find methods accepting a specific type:**

```
fubber accepts Request
```

**Find methods returning a specific type:**

```
fubber returns Response
```

### Attribute Queries

[](#attribute-queries)

**Find all uses of a PHP 8 attribute:**

```
fubber attributes Route
fubber attributes Column
```

How It Works
------------

[](#how-it-works)

Fubber uses PHP's built-in Reflection API to analyze your codebase:

1. Discovers classes via Composer's autoloader metadata
2. Uses reflection to extract signatures, types, and documentation
3. Presents results in a clean, scannable format

No external dependencies required - if you can run PHP, you can run Fubber.

Future Plans
------------

[](#future-plans)

- **Python support**: `fubber-python` using Python's inspect module
- **JavaScript/TypeScript**: `fubber-js` using TypeScript compiler API
- **Full-text search**: SQLite FTS5 indexing of docblocks
- **Cross-language queries**: Find similar patterns across languages
- **C binary**: Fast dispatcher to delegate to language-specific implementations

Why Fubber?
-----------

[](#why-fubber)

**For developers:**

- Faster than opening an IDE for quick lookups
- Great for exploring unfamiliar codebases
- Works over SSH where GUIs aren't available

**For AI coding assistants:**

- Efficient way to understand project structure
- More accurate than grep/text search
- Type-aware queries reduce hallucination

Contributing
------------

[](#contributing)

Contributions welcome! This is an early-stage project with lots of room for improvement.

License
-------

[](#license)

MIT License - see LICENSE file for details

Author
------

[](#author)

Created by Frode Borli

---

*Fubber: The name suggests a tool - like a Swiss Army knife for code inspection.*

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance72

Regular maintenance activity

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

186d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8822e0a14ce04a8f711d4ea933ea90aa005d9ee14827f05feac572c5601fb840?d=identicon)[frodeborli](/maintainers/frodeborli)

---

Top Contributors

[![frodeborli](https://avatars.githubusercontent.com/u/2299344?v=4)](https://github.com/frodeborli "frodeborli (6 commits)")

---

Tags

phpstatic analysisdocumentationreflectionCLI Toolcode-inspection

### Embed Badge

![Health badge](/badges/fubber-fubber/health.svg)

```
[![Health](https://phpackages.com/badges/fubber-fubber/health.svg)](https://phpackages.com/packages/fubber-fubber)
```

###  Alternatives

[phpdocumentor/reflection-common

Common reflection classes used by phpdocumentor to reflect the code structure

9.1k706.8M26](/packages/phpdocumentor-reflection-common)[phpdocumentor/reflection

Reflection library to do Static Analysis for PHP Projects

12521.4M108](/packages/phpdocumentor-reflection)[minime/annotations

The KISS PHP annotations library

229378.6k36](/packages/minime-annotations)[genericmilk/docudoodle

Generate documentation for your Laravel application using OpenAI

15120.5k](/packages/genericmilk-docudoodle)[godbout/dash-docset-builder

Dash (LOVE) Docset Builder in PHP (LOVE).

1233.5k](/packages/godbout-dash-docset-builder)[psalm/attributes

A collection of PHP 8 Attributes that Psalm can understand

19120.0k2](/packages/psalm-attributes)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
