by nanoapi-io
Software architecture tooling for the AI age
# Add to your Claude Code skills
git clone https://github.com/nanoapi-io/napi
napi is a versatile tool built by NanoAPI and designed to automatically
provide insights into the architectural complexity of your software, while
allowing for the novel extraction of functionality from codebases into smaller
units. With both a powerful CLI and an intuitive UI, napi is compatible with
all major CI/CD platforms, allowing seamless integration into your development
and deployment pipelines.
Historically, tools like this have only been built by large consulting firms or
contractors and kept behind the paywalls of consulting fees. napi aims to make
these tools accessible to developers of all skill levels, without the cost. Our
vision is to help you gain deeper insights into system architecture-level
concerns before they become hundred-million-dollar problems. The added benefit?
No more black-box tools running on your code and the confidence of a 100%
determinstic tool.

napi?No comments yet. Be the first to share your thoughts!
napinapi aims to support all major programming languages. Here is the current
status:
| Language/Framework | Status | | ------------------ | -------------- | | Python | ✅ Supported | | C# | ✅ Supported | | C | ✅ Supported | | Java | ✅ Supported | | C++ | 🚧 In Progress | | PHP | 🚧 In Progress | | JavaScript | 🚧 In Progress | | TypeScript | 🚧 In Progress |
For the latest updates, visit our project board.
napi works out of the box on both mac, linux, and windows systems.
To install napi, you can use our installation script:
Wyou to install napi using our convenience script:
curl -fsSL https://raw.githubusercontent.com/nanoapi-io/napi/refs/heads/main/install_scripts/install.sh | bash
You can also download and install the latest release manually directly from our GitHub repository:
https://github.com/nanoapi-io/napi/releases/latest
You can run napi using Windows Subsystem for Linux (WSL) https://learn.microsoft.com/en-us/windows/wsl/install
We are actively working on supporting windows natievely.
If you encounter any issues during installation, please refer to our Troubleshooting Guide
napi provides a streamlined Command-Line Interface (CLI) to interact with and
refactor your software projects quickly and efficiently.
For a full list of commands, run:
napi --help
napi loginAuthenticate with the NanoAPI service. This step is required to access the
NanoAPI UI and to use certain features of napi.
napi initInitialize the project. This step is required before running any other command.
This will create a .napirc configuration file in the project root, storing paths and settings necessary for further commands.
napi manifest generateGenerate a manifest of your codebase that captures its structure, dependencies, and relationships and pushes it to your NanoAPI workspace in the app.
napi extractExtract specific symbols (functions, classes, etc.) from your codebase into
separate files. Use the format --symbol file|symbol where file is the path
relative to your project root and symbol is the name to extract. The UI can
generate these commands for convenient copy-pasting when browsing your code.
Important: Run
napi manifest generatewhenever you make significant changes to your codebase to ensure your manifest stays up-to-date. The manifest data can be integrated into CI/CD workflows to track architectural changes over time.
napi works seamlessly with CI/CD platforms like GitHub Actions, GitLab CI/CD,
and Jenkins. This allows us to build the code manifest needed for visualization
and refactoring in the background, without needing to wait for it to run locally
in the case of very large codebases (>1M lines of code).
More information
We welcome contributions from the community. Please read our contributing guide for details on how to get involved.
napi is licensed under the
Sustainable Use License.
NanoAPI is a fair-source project. Because of this, we feel it would be unethical to keep any donations to ourselves. Instead, here is how we will handle donations:
We will post regular updates on how much money is in the pool and how it is being distributed.