Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,21 @@ Documentation: <https://icebergai.github.io/IcebergSCA/>

## Install

It's a CLI application, not a library dependency — install it as a tool:
Released from this repository, not from PyPI — there is no `icebergsca` package on PyPI, and
anything published under that name is not this project. It's a CLI application, not a library
dependency, so install it as a tool:

```bash
uv tool install icebergsca # or: uvx icebergsca scan .
pipx install icebergsca
uv tool install git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
pipx install git+https://github.com/IcebergAI/IcebergSCA.git@v0.1.0

# or run it without installing
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0 icebergsca scan .
```

Pin the tag: without `@v0.1.0` you get whatever `main` is at that moment. Upgrade by re-running
the same command against a newer tag with `--force`.

## Usage

```bash
Expand Down Expand Up @@ -105,7 +113,9 @@ SARIF and CycloneDX are validated against the official published schemas in the
### GitHub Actions

```yaml
- run: uvx icebergsca scan . --format sarif --output icebergsca.sarif
- run: >-
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
icebergsca scan . --format sarif --output icebergsca.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: icebergsca.sarif
Expand Down
11 changes: 9 additions & 2 deletions src/icebergsca/.agents/skills/icebergsca/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,19 @@ dependency graph, checks each package against [OSV](https://osv.dev), and report
icebergsca scan ./myproject
```

The tool is a CLI application, not a library. Install it as a tool, not as a dependency:
The tool is a CLI application, not a library. Install it as a tool, not as a dependency. It is
released from its GitHub repository; there is **no `icebergsca` package on PyPI**, so
`pip install icebergsca` does not install this project.

```bash
uv tool install icebergsca # or run ad hoc: uvx icebergsca scan .
uv tool install git+https://github.com/IcebergAI/IcebergSCA@v0.1.0

# or run ad hoc, without installing
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0 icebergsca scan .
```

Pin the tag. Without `@v0.1.0` you get whatever `main` is at that moment.

## Machine-readable output

Always request JSON when a program or agent will read the result. The table format is for
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ A built-in `--fail-on <severity>` flag is planned but not yet implemented.

```yaml
- name: Scan dependencies
run: uvx icebergsca scan . --format sarif --output icebergsca.sarif
run: >-
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
icebergsca scan . --format sarif --output icebergsca.sarif

- uses: github/codeql-action/upload-sarif@v3
with:
Expand Down Expand Up @@ -77,7 +79,9 @@ jobs:
- uses: astral-sh/setup-uv@v8

- name: Scan
run: uvx icebergsca scan . --exclude 'tests/fixtures/**' --format sarif --output sca.sarif
run: >-
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
icebergsca scan . --exclude 'tests/fixtures/**' --format sarif --output sca.sarif

- uses: github/codeql-action/upload-sarif@v3
if: always()
Expand All @@ -93,7 +97,9 @@ because the code changed.

```yaml
- name: Generate SBOM
run: uvx icebergsca sbom . --output sbom.cdx.json
run: >-
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
icebergsca sbom . --output sbom.cdx.json

- uses: actions/upload-artifact@v5
with:
Expand Down
21 changes: 17 additions & 4 deletions website/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,27 @@ check.
## Install and scan

```bash
uv tool install icebergsca # or run it ad hoc: uvx icebergsca scan .
pipx install icebergsca
uv tool install git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
pipx install git+https://github.com/IcebergAI/IcebergSCA.git@v0.1.0

icebergsca scan ./myproject
# or run it without installing
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0 icebergsca scan .
```

It is a CLI application, not a library — install it as a tool rather than adding
it to the dependency tree it is meant to be auditing.
it to the dependency tree it is meant to be auditing. Then point it at a project:

```bash
icebergsca scan ./myproject
```

!!! info "Released from the repository, not from PyPI"

There is no `icebergsca` package on PyPI, and anything published under that
name is not this project.

Pin the tag: without `@v0.1.0` you get whatever `main` is at that moment.
Upgrade by re-running the same command against a newer tag with `--force`.

![A scan reporting 12 vulnerabilities across three Python packages](assets/scan-table.svg){ .term }

Expand Down
8 changes: 6 additions & 2 deletions website/docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ The complete field reference ships with the package, in
## SARIF and GitHub code scanning

```yaml
- run: uvx icebergsca scan . --format sarif --output icebergsca.sarif
- run: >-
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
icebergsca scan . --format sarif --output icebergsca.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: icebergsca.sarif
Expand Down Expand Up @@ -156,7 +158,9 @@ jobs:
- uses: astral-sh/setup-uv@v8

- name: Scan
run: uvx icebergsca scan . --exclude 'tests/fixtures/**' --format sarif --output sca.sarif
run: >-
uvx --from git+https://github.com/IcebergAI/IcebergSCA@v0.1.0
icebergsca scan . --exclude 'tests/fixtures/**' --format sarif --output sca.sarif

- uses: github/codeql-action/upload-sarif@v3
if: always()
Expand Down
7 changes: 3 additions & 4 deletions website/zensical.toml
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,9 @@ toggle.name = "Switch to light mode"
icon = "fontawesome/brands/github"
link = "https://github.com/IcebergAI/IcebergSCA"

# A PyPI social link belongs here too, but icebergsca has no release yet
# (pypi.org/pypi/icebergsca/json is a 404) and a footer icon that 404s is
# exactly the kind of unearned claim this tool exists to complain about.
# Restore it with the first release.
# No PyPI social link: IcebergSCA is released from its repository and there is
# no icebergsca package on PyPI. A footer icon pointing at a name we do not own
# would send readers to whoever registers it first.

# ----------------------------------------------------------------------------
# Markdown extensions (carried over from the Zensical default template)
Expand Down