generate#

Create NOTICE and THIRD_PARTY_LICENSES files for legal attribution.


Overview#

Feluda guides you through interactive generation and scripted exports alike. These files provide the legal attribution required when redistributing software with third-party dependencies.


Interactive Mode#

Let Feluda prompt you for which artifact to create.

feluda generate

Feluda prompts for NOTICE or THIRD_PARTY_LICENSES and renders the chosen file in-place.

Interactive options:

  1. NOTICE - Concise attribution summary

  2. THIRD_PARTY_LICENSES - Full license texts


Generate with Options#

Target a specific ecosystem and outbound license without prompts.

feluda generate --language rust --project-license MIT

Feluda limits its analysis to the requested language and projects compatibility calculations against MIT.

Options:

Flag

Description

--language <LANG>

Limit to a specific ecosystem

--project-license <LICENSE>

SPDX identifier for compatibility checks

--path <PATH>

Output directory for generated files


Specify Output Path#

Point Feluda elsewhere when compliance files must live in another workspace.

feluda generate --path /opt/service

Feluda writes the selected artifacts into /opt/service with the relevant dependencies included.


Generated Files#

File

Purpose

NOTICE

Concise attribution summaries for distribution

THIRD_PARTY_LICENSES

Full license texts for downstream consumers

Note

Use NOTICE for concise attribution summaries and THIRD_PARTY_LICENSES when downstream consumers require the full license texts.


License Text Sources#

For THIRD_PARTY_LICENSES, Feluda reads each dependency’s full license text from your local toolchain caches first — the Go module cache, Cargo registry/src, Python site-packages, and the project’s node_modules — and only falls back to the network (crates.io, npm, PyPI, the Go proxy, GitHub) when a package isn’t cached locally.

Because the dependencies were already downloaded to build the project, their license files are on disk, so generation works on locked-down or offline workstations instead of leaving entries blank. Populated caches also make generation faster.


CI/CD Usage#

Automate generation in pipelines:

# Generate NOTICE (option 1)
echo "1" | feluda generate

# Generate THIRD_PARTY_LICENSES (option 2)
echo "2" | feluda generate

# Generate both
echo "1" | feluda generate && echo "2" | feluda generate