summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-03-21 13:51:39 -0600
committermo khan <mo.khan@gmail.com>2020-03-21 13:51:39 -0600
commit13a29decbf7b94c6b903d33c66d28fab33a502e4 (patch)
treeaaf7cc54eb29e27e8108ca97644323044ff70712 /README.md
parent75dc214b5e6e1c63522eb46f7b53299a3720a047 (diff)
Add documentation and csv format
Diffstat (limited to 'README.md')
-rw-r--r--README.md45
1 files changed, 45 insertions, 0 deletions
diff --git a/README.md b/README.md
index 9de0167..d782dd4 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,11 @@
# Spandx
A ruby API for interacting with the https://spdx.org software license catalogue.
+This gem includes a command line interface to scan a software project for the
+software licenses that are associated with each dependency in the project.
+`spandx` leverages an offline cache of software licenses for known dependencies.
+The offline cache allows spandx to perform a truly airgap friendly scan of software
+projects.
![badge](https://github.com/mokhan/spandx/workflows/ci/badge.svg)
@@ -22,6 +27,46 @@ Or install it yourself as:
## Usage
+### Command line interface
+
+The command line interface supports operations to build and fetch the latest offline index.
+See the help for each subcommand for more information on how to use the command.
+
+```bash
+モ spandx
+Commands:
+ spandx help [COMMAND] # Describe available commands or one specific command
+ spandx index [SUBCOMMAND] # Manage the index
+ spandx scan LOCKFILE # Scan a lockfile and list dependencies/licenses
+ spandx version # spandx version
+```
+
+To scan a specific project file use the `scan` command:
+
+```bash
+モ spandx scan dotnet/application.sln
+モ spandx scan java/pom.xml
+モ spandx scan python/Pipfile.lock
+モ spandx scan ruby/Gemfile.lock
+```
+
+To activate airgap mode use the `--airgap` option:
+
+```bash
+モ spandx scan dotnet/application.sln --airgap
+モ spandx scan ruby/Gemfile.lock --airgap
+```
+
+Airgap mode assumes that an offline cache has been placed in `$HOME/.local/share/`.
+
+To fetch the latest offline cache:
+
+```bash
+モ spandx index fetch
+```
+
+### Ruby API
+
To fetch the latest version of the catalogue data from [SPDX](https://spdx.org/licenses/licenses.json).
```ruby