# ByteInsight

## What is ByteInsight?

ByteInsight performs local, read-only source code inventory & metadata analysis so teams can size modernization work.

Actions:

* Recursively walks a specified root folder.
* Identifies file types (source vs. binary) and common languages (e.g., VB6/.NET, C/C++, Java, Python, PowerBuilder, Clarion, SQL, JS/TS, etc.).
* Counts lines of code for known languages; for unknown ASCII files, separates blank vs. non-blank lines.
* Does not compile, execute, transform, or modify the source code or files.

\
**Inputs & Outputs**

Inputs:

* Local file system folder of your choice (read-only).

Outputs:

* .pam files written locally (e.g., Files Inventory, Identified Technologies, Identified Text).
* Compatible with Excel/Power BI/Tableau.

Typical fields:

* Full path, extension, inferred language, size (bytes), total LOC (and blank/non-blank where applicable), timestamps.

\
**Network & Internet Connectivity**

ByteInsight's operation is flexible regarding network access.

Offline Operation (Default):

* ByteInsight can run offline. In this mode, ByteInsight produces raw output containing basic analysis results and a summary, without uploading any data to HubSpot.

Recommended Sandbox Procedure to use ByteInsight

This procedure can be used to enforce a strict offline environment:

1. Place the executable in an isolated VM/host with no outbound network.
2. Grant read-only access to a copy of representative repo(s); choose an empty folder to place the output files.
3. Run ByteInsight against the repo root.
4. Inspect the output files locally; optionally import into Excel/Power BI.

Note: If you prefer to keep the tool offline, you can manually share the raw output with our team. The team will handle the information while the tool is offline (create the report, upload the info to HubSpot).

Online Functionality (Optional):

* When an internet connection is available, ByteInsight uses the raw output to provide a more detailed breakdown of the code, displaying the data in a clearer, easier-to-read format with improved visuals and analytics.
* Updates: If online, ByteInsight can check for newer versions. It will never update automatically; you will always be asked before any update is installed.

Data Sharing (Telemetry):

* Telemetry is currently off, but will be re-enabled to collect anonymous internal metrics that help improve the tool.
* No client code is ever uploaded. Only general, raw output data is shared for telemetry purposes.

**Execution Model & Privileges**

* Privileges: Runs as a standard local user process; administrator rights are not required.
* Permissions Needed: Needs read permission to the directories you point it at and write permission to the output folder.
* Security: No code execution. ByteInsight never executes, compiles, or interprets your source files.

**What We Don’t Do**

* No source content is uploaded, transmitted, or stored by us.
* No writes/changes to your repos or files.
* No secrets scanning or dependency resolution (this is inventory/LOC metadata only)

## What you get after running ByteInsight?

Get a detailed inventory of all the files found

* A full listing of every file found in the folder tree, including all subfolders
* Known binary files are identified and the number of bytes of each is recorded
* Known source file extensions are used to categorize source code files (like C#, Python, VB.NET, and more).
* Each file gets a report of the total lines of code and is associated with its programming language.
* Unknown ASCII files are reported with a line count, separating blank lines from non-blank lines. Unknown file types over a given size are assumed to be binary
* ByteInsight recognizes files used by the following programming languages:

  | Visual Basic 6.0, .NET, C#, VB.NET | ASP, ASP.NET    |
  | ---------------------------------- | --------------- |
  | C/C++                              | Clarion         |
  | Delphi/Pascal                      | Java            |
  | JavaScript, JSON, TypeScript       | PHP             |
  | PowerBuilder                       | Python          |
  | SQL                                | Teradata BTEQ   |
  | Informix 4GL                       | XAML, XML, HTML |

**Scan your code and get reports like these:**

![ByteInsight-Identified-Technologies](/files/HCLqpkIxXIrKJFpwyN4Z)

![ByteInsight-Files-Inventory](/files/JvvPqmFTybsIVgCwwdqm)

![ByteInsight-Identified-Text](/files/K4mmIiCHwCyd6SYWDog4)

![ByteInsight-Keywords-List](/files/7glyKCCBV4gNM5rKyKEf)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gapvelocity.ai/byteinsight-documentation/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
