go-application-framework

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2026 License: Apache-2.0

README

go-application-framework

A framework to support building client-side applications like the Snyk CLI as well as extensions for these applications.

Getting started

This module is consumed as a dependency by downstream projects (e.g. the Snyk CLI) via a replace directive in their go.mod. To work on it locally, point the consumer at your checkout:

replace github.com/snyk/go-application-framework => ../../go-application-framework

Then iterate with:

make test    # run the full test suite

Run make help to see all available targets.

Key packages

Package Description
pkg/local_workflows/ Workflow engine and output pipeline (SARIF, human-readable, etc.)
pkg/apiclients/testapi/ Generated API client and data types for the Snyk Test API
pkg/utils/ufm/ Unified Finding Model serialization (optimized problemStore/_problemRefs wire format)
internal/presenters/ UFM presenters — Go templates that render TestResult data into SARIF and human-readable output

Contributing

  1. See Extension Architect Guide for more information on how to design extensions.
  2. See CONTRIBUTING.md for extension authoring, UFM test fixture generation, and other contributor workflows.

Security

For any security issues or concerns, see the SECURITY.md file in this repository.

Development

make format      # gofmt
make lint        # golangci-lint
make generate    # regenerate mocks and API clients
make test        # unit tests with race detector
make testv       # verbose test output

Directories

Path Synopsis
cmd
ufm-fixture-tool command
Command ufm-fixture-tool redacts a workflow data dump for use as a deterministic test fixture.
Command ufm-fixture-tool redacts a workflow data dump for use as a deterministic test fixture.
ufm-fixture-tool/redact
Package redact normalises a raw UFM test-result JSON dump into a deterministic fixture by replacing UUIDs, emails, and Snyk org slugs inside URLs with stable placeholders.
Package redact normalises a raw UFM test-result JSON dump into a deterministic fixture by replacing UUIDs, emails, and Snyk org slugs inside URLs with stable placeholders.
internal
api
api/analytics/2024-03-07
Package v20240307 provides primitives to interact with the openapi HTTP API.
Package v20240307 provides primitives to interact with the openapi HTTP API.
api/policy/2024-10-15
Package v20241015 provides primitives to interact with the openapi HTTP API.
Package v20241015 provides primitives to interact with the openapi HTTP API.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg
apiclients/feature_flag_gateway/2024-10-15
Package v20241015 provides primitives to interact with the openapi HTTP API.
Package v20241015 provides primitives to interact with the openapi HTTP API.
apiclients/feature_flag_gateway/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
apiclients/ldx_sync_config/ldx_sync/2024-10-15
Package v20241015 provides primitives to interact with the openapi HTTP API.
Package v20241015 provides primitives to interact with the openapi HTTP API.
apiclients/ldx_sync_config/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
apiclients/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
apiclients/testapi
Package testapi provides primitives to interact with the openapi HTTP API.
Package testapi provides primitives to interact with the openapi HTTP API.
app
local_workflows/local_models
Package local_models provides primitives to interact with the openapi HTTP API.
Package local_models provides primitives to interact with the openapi HTTP API.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL