Skip to content

Latest commit

 

History

History
160 lines (103 loc) · 3.82 KB

README.md

File metadata and controls

160 lines (103 loc) · 3.82 KB

Feluda

Crates.io Version maintenance-status

Crates.io Downloads (latest version)

🔎 Feluda is a Rust-based command-line tool that analyzes the dependencies of a project, notes down their licenses, and flags any permissions that restrict personal or commercial usage.

ss-1

👋 It's still highly experimental, but fast iterating. Welcoming contributors and support to help bring out this project even better!

Features

  • Parse your project to identify dependencies and their licenses.
  • Classify licenses into permissive, restrictive, or unknown categories.
  • Flag dependencies with licenses that may restrict personal or commercial use.
  • Output results in plain text, JSON or TUI formats. There's also a gist format which is available in strict mode to output a single line only.

Support Languages

If your fav language or framework isn't supported, feel free to open an feature request issue! 👋

Installation

Official Distribution 🎉:

Rust

Prerequisites

  • Rust installed on your system.

If you already had it, make sure it's up-to-date and update if needed. (Optional) Set rust path if not set already.

Install

cargo install feluda

Community Maintained 🙌:

Arch Linux (maintained by @adamperkowski)

feluda is available in the AUR. You can install it using an AUR helper (e.g. paru):

paru -S feluda
NetBSD (maintained by @0323pin)

On NetBSD a package is available from the official repositories. To install it, simply run:

pkgin install feluda

Track releases on github releases or via release feed.

Usage

Basic Usage

Run the tool in the project directory:

feluda

Specify a Path to your project directory

feluda --path /path/to/project/

Output Format

  • Default: Plain text.
  • JSON: Use the --json flag for JSON output.
feluda --json

Sample Output for a sample cargo.toml file containing serde and tokio dependencies:

[
  {
    "name": "serde",
    "version": "1.0.151",
    "license": "MIT",
    "is_restrictive": false
  },
  {
    "name": "tokio",
    "version": "1.0.2",
    "license": "MIT",
    "is_restrictive": false
  }
]

Verbose Mode

For detailed information about each dependency:

feluda --verbose

Strict Mode

In case you strictly need only the restrictive dependencies:

feluda --strict

TUI Mode

We've an awesome ✨ TUI mode available to browse through the dependencies in a visually appealing way as well:

feluda --gui

ss-gui

Checkout contributing guidelines if you are looking to contribute to this project.

Currently, using choosealicense license directory for source of truth.


License

Feluda is licensed under the MIT License.

Happy coding with Feluda! 🚀