Claude Code#
The Feluda Claude Code skill watches your dependency changes in real time and surfaces license warnings before a single line gets committed.
Overview#
The Feluda skill integrates directly into Claude Code, Anthropicβs AI coding assistant. Once installed, Claude automatically runs feluda whenever it detects changes to a dependency manifest β flagging GPL, AGPL, SSPL, and other restrictive licenses inline in your session, before you commit.
It also responds to natural-language requests: βcheck my licensesβ, βis this package safe to use?β, or βaudit my dependenciesβ.
Installation#
The skill is published on the AgentHub marketplace.
Install from AgentHub (recommended):
/plugin install feluda@agenthub
Install directly from source:
/plugin install git+https://github.com/anistark/feluda?path=skills/feluda
After installing, Claude Code loads the skill automatically β no restart needed.
Prerequisites#
The skill requires the feluda CLI on your PATH. Install it once:
# via Rust (any OS)
cargo install feluda
# via Homebrew (macOS / Linux)
brew install feluda
Binaries for Linux, macOS, and Windows are also available on the GitHub Releases page.
Usage#
Automatic triggering#
The skill activates automatically when Claude Code sees a dependency manifest in the current diff or staged changes. Supported files include:
Ecosystem |
Files |
|---|---|
Rust |
|
Node.js |
|
Go |
|
Python |
|
Java |
|
.NET |
|
Ruby |
|
PHP |
|
C / C++ |
|
R |
|
Manual invocation#
Trigger the skill explicitly with the slash command:
/feluda
Or ask naturally inside any Claude Code session:
Check my licenses before I commit
Is this npm package safe to use?
Audit my dependencies
Does this project have any GPL dependencies?
Scan Options#
The skill passes flags to feluda based on context. You can also ask for a
specific scan mode:
Ask Claude / intent |
Underlying command |
|---|---|
Default pre-commit check |
|
Full audit of all licenses |
|
Only incompatible licenses |
|
Check against a specific license |
|
Scan a subdirectory (monorepo) |
|
Machine-readable output |
|
For a complete reference of all CLI flags see scan and filter.
Reading the Results#
No issues found:
The skill confirms the scan passed and continues without interruption.
Restrictive licenses found:
Claude surfaces a summary table with the flagged packages, their license identifiers, and why each is a concern:
β feluda found license issues:
Package License Why it matters
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
some-lib@1.2.0 GPL-3.0 Copyleft β distribution requires source disclosure
other-lib@3.0.0 AGPL-3.0 Network copyleft β SaaS use triggers source requirement
Options:
1. Find an MIT/Apache-2.0 alternative
2. Add to .feluda.toml under [licenses] ignore = [...] if intentional
3. Run `feluda --verbose` for full compatibility details
Unknown licenses:
When feluda cannot resolve a license (usually due to GitHub API rate limits), Claude
suggests setting a GITHUB_TOKEN in the environment to increase the limit from
60 to 5,000 requests per hour.
Pre-commit Enforcement#
To enforce compliance on every git commit β not just inside Claude Code β run:
feluda init
This generates a .feluda.toml project config and adds a feluda hook to
.pre-commit-config.yaml. After activation:
pre-commit install
Every git commit will now run feluda --fail-on-restrictive automatically,
refusing the commit if restrictive licenses are present.
See scan for the full list of feluda init options.
Configuration#
Create a .feluda.toml in your project root to customise the skillβs behaviour:
[licenses]
project = "MIT" # your project's own license
ignore = ["BSD-2-Clause"] # mark specific licenses as acceptable
[packages]
ignore = ["some-dual-licensed-lib"] # skip specific packages
When a .feluda.toml is present, the skill respects it automatically β no extra
flags needed.
Full configuration reference: Configuration.
GitHub Token#
For projects with many dependencies, set a GITHUB_TOKEN to raise the API rate
limit from 60 to 5,000 requests per hour:
export GITHUB_TOKEN=ghp_...
Or add it to .feluda.toml:
[api]
github_token = "ghp_..."
Warning
Never commit a .feluda.toml containing a real token. Use an environment
variable or a secrets manager instead.