Metadata-Version: 2.4
Name: xray-analyzer
Version: 0.1.0
Summary: A CLI tool to inspect and understand software projects quickly
Author-email: Muhammet Emir Hallek <254203250+moamir369@users.noreply.github.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/moamir369/xray-analyzer
Project-URL: Repository, https://github.com/moamir369/xray-analyzer
Keywords: cli,developer-tools,code-analysis,project-inspection
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer
Requires-Dist: rich
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Dynamic: license-file

# xray-analyzer

A CLI tool to inspect and understand software projects quickly.

Point `xray` at any project folder and it detects the project type, finds
entry files and dependencies, and gives you a quick overview — no need to
dig through the codebase manually.

## Installation

```bash
pip install xray-analyzer
```

## Usage

Run inside (or point at) any project directory:

```bash
xray                             # overview report: type, status, run command
xray --tree                      # visual project tree
xray --tree --depth 2            # limit tree depth
xray --tree --only .py           # filter tree by extension
xray --stats                     # file counts by extension
xray --explain                   # plain-language summary of the project
xray --inspect path/to/file.py   # imports, functions, classes in one file
```

## What it detects

- **Project type**: Python, Node.js, Java, C/C++, Rust
- **Entry files**: files matching common patterns (`main`, `app`, `index`, `server`, `cli`, `run`)
- **Dependencies**: `requirements.txt`, `package.json`, `pyproject.toml`, `pom.xml`, `Cargo.toml`, `CMakeLists.txt`
- **Suggested run command** based on the detected project type

`--inspect` supports Python, JavaScript, TypeScript, Java, C, C++, and
Rust — extracting imports, functions/methods, classes (or their closest
equivalent per language), and whether the file has a recognizable entry
point (`if __name__ == "__main__"` in Python, `public static void main`
in Java, `int main()` in C/C++, `fn main()` in Rust, `require.main ===
module` in Node.js).

## Requirements

- Python 3.10+

## License

MIT
