# 🛠️ How Janito Uses Tools

Janito is designed to work for you automatically. When you ask a question or make a request, Janito selects and uses the most relevant tools behind the scenes—no manual setup required.

## 👀 Why List the Tools?

The following tools are listed for transparency and to help you understand how Janito works. You don’t need to invoke them directly; Janito chooses the right tool based on your prompt and the current context.

## 🧰 Types of Tools

- 🔍 **File Search & Content Extraction:** Janito can search for files, read their contents, and extract relevant code or documentation.
- 🏗️ **Code Outline & Structure:** Tools analyze Python files to provide outlines of classes, functions, and methods.
- ⚙️ **Configuration & Environment:** Janito can inspect and report on project configuration files and runtime settings.
- 🌐 **Web Fetching:** Some tools fetch and parse web content for research or documentation purposes.
- 🎨 **Rich Output:** Tools format and present results in a readable, actionable way (e.g., code blocks, tables).
- 📊 **Data Visualization:** Tools display charts and graphs directly in the terminal using rich formatting.
- 💻 **Shell Command Execution:** Tools execute bash and PowerShell commands with live output streaming, timeout handling, and security controls.

## 📖 Full Reference

For a detailed list of all available tools and their options, see the [Tools Reference](../tools-index.md).
