Fix short-intent discovery and publish verified browser provider guidance
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a13690-1c84-77a2-aeee-7f517ec60f5d
This commit is contained in:
parent
9042dec5ed
commit
50077c9bea
22 changed files with 736 additions and 87 deletions
|
|
@ -2,11 +2,18 @@
|
|||
id: capability.infotech.headless-browser
|
||||
name: Headless Browser Automation
|
||||
summary: >-
|
||||
Headless browser automation with Playwright and Chromium for UI testing,
|
||||
screenshots and page extraction; recommended default based on existing
|
||||
whynot-design, coulomb-social, core-hub and frontend-patterns implementations.
|
||||
A rapp-playwright-provided service will be available shortly (announced
|
||||
2026-10-13; planned, not yet verified available).
|
||||
Headless browser automation, screenshots and keyboard trials through
|
||||
rapp-playwright 0.1.0 (Playwright 1.64.0, Chromium 156.0.8078.4).
|
||||
Published A5 local container; managed Railiance admission is pending.
|
||||
Download the Python 3.10+ standalone client from
|
||||
https://forgejo.coulomb.social/coulomb/rapp-playwright/raw/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/client/rapp_playwright.py
|
||||
and run `python3 rapp_playwright.py --url http://127.0.0.1:18083 preflight`,
|
||||
then `python3 rapp_playwright.py --url http://127.0.0.1:18083 trial --out trial-01`
|
||||
with a fresh output directory. This endpoint was verified locally on 2026-10-13
|
||||
and is ephemeral; it installs no browser for the caller. If unreachable,
|
||||
follow the local container setup in the capability card or adapt its A2 source
|
||||
examples; this is an availability gap on the existing capability.
|
||||
Contract: https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/consumer-contract.md.
|
||||
owner: reuse-surface
|
||||
status: reviewed
|
||||
domain: infotech
|
||||
|
|
@ -20,14 +27,15 @@ maturity:
|
|||
Inspected four implemented Playwright consumers and separated optional
|
||||
dependencies and plans from usage. No comprehensive alternatives benchmark.
|
||||
availability:
|
||||
current: A2
|
||||
target: A2
|
||||
current: A5
|
||||
target: A6
|
||||
confidence: medium
|
||||
rationale: >
|
||||
Existing JavaScript and Python source examples can be adapted in a consumer
|
||||
repo. This entry does not deliver a shared wrapper or hosted browser service.
|
||||
The founder announced a forthcoming rapp-playwright service on 2026-10-13;
|
||||
that planned delivery does not change the evidenced current A2 level.
|
||||
rapp-playwright 0.1.0 is a published immutable container with a versioned
|
||||
HTTP contract and standalone Python client, independently trialled locally.
|
||||
A5 describes deployable container availability, not managed operation (A6).
|
||||
Railiance admission is pending. Existing A2 source adaptation remains usable;
|
||||
no endpoint uptime or caller browser installation is implied.
|
||||
external_evidence:
|
||||
completeness:
|
||||
level: C2
|
||||
|
|
@ -36,8 +44,10 @@ external_evidence:
|
|||
satisfied_expectations:
|
||||
- Identifies implemented consumers, browser engines and source entry points.
|
||||
- Gives a scoped default recommendation and a practical trial procedure.
|
||||
- Published provider client and container have independent fixture screenshots and keyboard receipts.
|
||||
broken_expectations:
|
||||
- No shared package, standard configuration or consumer-independent trial receipt.
|
||||
- Managed admission and persistent platform endpoint are still pending.
|
||||
- Consumer application acceptance remains the consuming repo's responsibility.
|
||||
out_of_scope_expectations:
|
||||
- Exhaustive estate dependency inventory or comparative browser benchmark.
|
||||
- Browser service implementation or operation by reuse-surface.
|
||||
|
|
@ -49,10 +59,13 @@ external_evidence:
|
|||
known_reliability_risks:
|
||||
- Browser binaries and system libraries must match the selected Playwright version.
|
||||
- Existing examples contain application-specific fixtures and assumptions.
|
||||
- Browser launch and target-repo compatibility have not been tested by this registration.
|
||||
- Local fixture receipts do not prove managed operation or arbitrary target compatibility.
|
||||
- Local provider endpoints are ephemeral; check preflight for each trial.
|
||||
evidence:
|
||||
satisfied_signals:
|
||||
- frontend-patterns navigation-history records a completed Chromium/Firefox experiment.
|
||||
- rapp-playwright independent final-release trial passed 14 steps across desktop and narrow viewports.
|
||||
- Independent provider evidence includes wrong-token, failed assertion and unavailable-service checks.
|
||||
discovery:
|
||||
intent: >
|
||||
Help a worker select and reuse existing headless browser tooling instead of
|
||||
|
|
@ -61,19 +74,24 @@ discovery:
|
|||
- Playwright automation with headless Chromium as the default starting point.
|
||||
- JavaScript UI tests, screenshots and page extraction examples.
|
||||
- Python visual-check example and Firefox experiment evidence.
|
||||
- Published rapp-playwright container, Python client and bounded HTTP fixture trials.
|
||||
excludes:
|
||||
- Browser hosting or workstation provisioning by reuse-surface.
|
||||
- Credential provisioning and permission to automate external targets.
|
||||
- Claims that a dependency declaration or a workplan proves executed browser usage.
|
||||
assumptions:
|
||||
- The consumer chooses a version compatible with its runtime and installs matching browsers.
|
||||
- Source-adaptation consumers install matching browsers; provider clients need only Python 3.10+.
|
||||
- Provider consumers establish an available endpoint and run preflight before a trial.
|
||||
use_cases:
|
||||
- Find which working repos already use a headless browser and where to start reusing it.
|
||||
- Run a local UI assertion and screenshot in a target repo before adopting the tooling.
|
||||
availability:
|
||||
current_level: A2
|
||||
target_level: A2
|
||||
current_level: A5
|
||||
target_level: A6
|
||||
current_artifacts:
|
||||
- forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441
|
||||
- https://forgejo.coulomb.social/coulomb/rapp-playwright/raw/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/client/rapp_playwright.py
|
||||
- https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/releases/0.1.0.json
|
||||
- ../whynot-design/playwright.config.mjs
|
||||
- ../whynot-design/tests/visual/ui-kit.spec.mjs
|
||||
- ../coulomb-social/scripts/test-usecase-browser.mjs
|
||||
|
|
@ -81,10 +99,9 @@ availability:
|
|||
- ../frontend-patterns/research/experiments/navigation-history/experiment.mjs
|
||||
target_artifacts:
|
||||
- >-
|
||||
Planned rapp-playwright-provided service, announced by the founder on
|
||||
2026-10-13 as available shortly; endpoint, consumption contract and readiness
|
||||
evidence have not yet been verified by reuse-surface.
|
||||
consumption_modes: [informational, source adaptation, JavaScript library, Python library]
|
||||
Managed Railiance deployment after platform admission, with consumer
|
||||
access and live recovery/rollback evidence; not currently available.
|
||||
consumption_modes: [informational, source adaptation, JavaScript library, Python library, cli, service API, container]
|
||||
relations:
|
||||
depends_on: []
|
||||
supports: []
|
||||
|
|
@ -95,9 +112,12 @@ evidence:
|
|||
- ../frontend-patterns/research/experiments/navigation-history/README.md
|
||||
- ../test-driver/SCOPE.md
|
||||
- ../testdrive-jsui/pyproject.toml
|
||||
- ../rapp-playwright/README.md
|
||||
- https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/consumer-contract.md
|
||||
- https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/evidence/2026-10-13-publication.md
|
||||
- intakes/REUSE-IN-0001-headless-browser-runnable-answer.md
|
||||
tests:
|
||||
- https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/evidence/2026-10-13-independent-local-consumer.md
|
||||
- docs/evidence/2026-10-13-browser-discovery.md
|
||||
- ../whynot-design/tests/visual/ui-kit.spec.mjs
|
||||
- ../coulomb-social/scripts/test-usecase-browser.mjs
|
||||
- ../core-hub/scripts/check_console_visual.py
|
||||
|
|
@ -114,9 +134,10 @@ consumer_guidance:
|
|||
- Reuse whynot-design for JavaScript visual tests and core-hub for Python visual checks.
|
||||
- Reuse coulomb-social for JavaScript browser scripts and frontend-patterns for multi-engine experiments.
|
||||
- >-
|
||||
For service consumption, rapp-playwright is the announced provider and its
|
||||
service will be available shortly. Use its published contract and readiness
|
||||
evidence when delivered; current availability remains source reuse only.
|
||||
For bounded screenshot and keyboard jobs, use the published rapp-playwright
|
||||
Python client against an available local provider and run preflight first.
|
||||
Use the immutable container to reproduce the provider; managed Railiance
|
||||
access requires admission and a working tunnel before consumption.
|
||||
not_recommended_for:
|
||||
- Treating this recommendation as an approved mandatory estate standard.
|
||||
- Selecting test-driver as an implemented JavaScript-capable browser engine.
|
||||
|
|
@ -125,8 +146,19 @@ consumer_guidance:
|
|||
- This is a dated source inspection; run the target-repo trial before claiming adoption success.
|
||||
- Firefox is evidenced in frontend-patterns; WebKit is supported upstream but unverified in this inspection.
|
||||
- Selenium is an optional testdrive-jsui dependency, not verified execution; Puppeteer has no verified example here.
|
||||
- The forthcoming rapp-playwright service has no verified endpoint or launch receipt in this record yet.
|
||||
promotion_history: []
|
||||
- Local provider availability is verified but ephemeral; managed admission and platform operation remain pending.
|
||||
- Provider fixture success does not establish consumer target reachability or application acceptance.
|
||||
promotion_history:
|
||||
- date: "2026-10-13"
|
||||
dimension: availability
|
||||
from: A2
|
||||
to: A5
|
||||
rationale: >-
|
||||
Published immutable rapp-playwright 0.1.0 container, versioned client/contract
|
||||
and independent local release receipts satisfy deployable-container availability.
|
||||
This is not an A6 managed-platform claim. D3, C2 and R2 remain conservative
|
||||
assessments pending broader target and operational evidence.
|
||||
author: codex
|
||||
---
|
||||
|
||||
# Headless Browser Automation
|
||||
|
|
@ -147,24 +179,101 @@ implementations and the upstream Playwright project maintains the library.
|
|||
|
||||
## Service provider and delivery status
|
||||
|
||||
**A `rapp-playwright`-provided service will be available shortly**, as announced by
|
||||
the founder on 2026-10-13. Its [repository description](../../../rapp-playwright/README.md)
|
||||
identifies a Railiance wrapper for a Playwright and headless Chromium environment
|
||||
supporting use-case testing. Service availability is **planned**, not verified:
|
||||
this record has no confirmed endpoint, consumption contract or launch receipt yet.
|
||||
The current **D3 / A2 / C2 / R2** vector continues to describe evidenced source reuse.
|
||||
**rapp-playwright 0.1.0 is published and verified as a local container provider.**
|
||||
The current vector is **D3 / A5 / C2 / R2**. A5 means a deployable container under
|
||||
[the maturity standard](../../specs/CapabilityMaturityStandard.md); managed
|
||||
platform operation is A6 and remains **pending Railiance admission**. Source
|
||||
examples remain available at A2. No browser is installed on the caller's machine
|
||||
by discovery or by running the Python client.
|
||||
|
||||
`rapp-playwright` owns the forthcoming browser service. `reuse-surface` owns
|
||||
discovery, consumption guidance, maturity assessment and evidence references; it
|
||||
does not implement or operate the browser service or install browsers on behalf
|
||||
of consumers. Its `owner` field here denotes the maintainer of this registry record.
|
||||
`rapp-playwright` owns the browser service; `railiance-platform` owns managed
|
||||
lifecycle admission. `reuse-surface` owns this record, discovery, consumption
|
||||
guidance and evidence assessment. The
|
||||
[content-explorer intake](../../intakes/REUSE-IN-0001-headless-browser-runnable-answer.md)
|
||||
concerns registry relevance and availability clarity; CONTENT-WP-0000-T04
|
||||
acceptance remains with the consumer.
|
||||
|
||||
The [content-explorer feedback](../../intakes/REUSE-IN-0001-headless-browser-runnable-answer.md)
|
||||
is retained as consumer evidence. Browser delivery is assigned to the provider;
|
||||
the reported relevance, false-`new` verdict and availability-clarity issues remain
|
||||
reuse-surface concerns. A2 means source/library reuse, not proof of a locally
|
||||
installed browser. The service announcement does not complete the consumer's
|
||||
screenshot and keyboard-walkthrough task.
|
||||
### Verified client path
|
||||
|
||||
Only Python 3.10+ is needed by the consumer. Download the single revision-pinned
|
||||
client into a working directory; a sibling checkout is not required:
|
||||
|
||||
```sh
|
||||
curl -fL --output rapp_playwright.py https://forgejo.coulomb.social/coulomb/rapp-playwright/raw/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/client/rapp_playwright.py
|
||||
python3 rapp_playwright.py --url http://127.0.0.1:18083 preflight
|
||||
python3 rapp_playwright.py --url http://127.0.0.1:18083 trial --out trial-01
|
||||
```
|
||||
|
||||
Use a fresh output directory for each run. Port **18083** was verified on this
|
||||
workstation on **2026-10-13**; it is an ephemeral local provider, not a permanent
|
||||
or remotely reachable endpoint. Preflight must report `available: true`, API 1,
|
||||
service 0.1.0, Playwright **1.64.0**, Chromium **156.0.8078.4**, and the expected
|
||||
release/location. Connection failure means the provider or tunnel is unavailable,
|
||||
not that another browser capability is needed. Use the local setup below or the
|
||||
source-adaptation fallback. Repeat `--url` on later status/download commands.
|
||||
|
||||
The fixture trial checks Tab focus, Enter activation and the counter assertion
|
||||
across **1280×800** and **390×844** viewports, then downloads screenshots and a
|
||||
receipt. It does not inspect or accept the consumer's own UI. `run.json` is a
|
||||
private run handle and must not be published. For `trial`/`run`, exit 0 means
|
||||
passed, 2 means UI assertion failed, and 3 means infrastructure/setup or another
|
||||
unsuccessful result; `status` exit 0 only means retrieval succeeded.
|
||||
|
||||
### Reproduce the local provider
|
||||
|
||||
The published release targets **linux/amd64**. With Docker and image pull access,
|
||||
start the immutable container in one terminal, then point the client at port
|
||||
**18081** in another:
|
||||
|
||||
```sh
|
||||
docker run --rm --name rapp-playwright-local --read-only \
|
||||
--tmpfs /tmp:rw,size=512m --shm-size=256m --memory=1g --cpus=1 \
|
||||
--cap-drop ALL --security-opt no-new-privileges \
|
||||
--mount type=volume,src=rapp-playwright-local-data,dst=/data \
|
||||
-p 127.0.0.1:18081:8080 -e HOST=0.0.0.0 \
|
||||
-e EXECUTION_LOCATION=workstation-container \
|
||||
-e RELEASE_ID=sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441 \
|
||||
forgejo.coulomb.social/coulomb/rapp-playwright@sha256:8d6fd5a8172cf906bb503642ed620761945c5138b86f6396c36f65cbe6def441
|
||||
python3 rapp_playwright.py --url http://127.0.0.1:18081 preflight
|
||||
python3 rapp_playwright.py --url http://127.0.0.1:18081 trial --out trial-local-01
|
||||
```
|
||||
|
||||
This is the provider's documented local setup with the published digest pinned;
|
||||
it was not redeployed by this registry review. Existing independent final-release
|
||||
receipts and the fresh discovery trial use the same digest. The default fixture
|
||||
requires no external target grant. The provider supports trusted/synthetic pages,
|
||||
not hostile-page or mutually untrusted tenant execution.
|
||||
|
||||
### Conditional managed path
|
||||
|
||||
Only **after platform admission, deployment and caller access are confirmed**:
|
||||
|
||||
```sh
|
||||
kubectl -n playwright port-forward deployment/playwright 18081:8080 --address 127.0.0.1
|
||||
# In another terminal, while the tunnel remains running:
|
||||
python3 rapp_playwright.py preflight
|
||||
python3 rapp_playwright.py trial --out trial-managed-01
|
||||
```
|
||||
|
||||
No managed deployment or successful managed invocation is claimed here. A remote
|
||||
browser's localhost belongs to the provider. Consumer applications need a
|
||||
provider-reachable, explicitly allowed origin; the browser API tunnel does not
|
||||
forward a workstation app. See the provider contract before running a target
|
||||
scenario.
|
||||
|
||||
### Pinned delivery evidence
|
||||
|
||||
All provider links below are pinned to published commit
|
||||
`8831a05aeba5ce588f3b395ade676dde2a151c5d`:
|
||||
|
||||
- [Consumer contract](https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/consumer-contract.md).
|
||||
- [Release manifest](https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/releases/0.1.0.json)
|
||||
and [publication/pull evidence](https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/evidence/2026-10-13-publication.md).
|
||||
- [Independent consumer evidence](https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/evidence/2026-10-13-independent-local-consumer.md),
|
||||
including final-release screenshots, keyboard assertions, wrong-token rejection,
|
||||
UI failure and unavailable-service results. These are retained provider-side
|
||||
reports; this review separately verified the fixture path.
|
||||
- [Fresh registry review and trial](../../docs/evidence/2026-10-13-browser-discovery.md).
|
||||
|
||||
## Existing implementations
|
||||
|
||||
|
|
@ -196,15 +305,14 @@ copy its workstation paths as a portable browser installation recipe.
|
|||
- **Firefox/WebKit:** Playwright supports both upstream. Firefox has retained
|
||||
experiment evidence here; WebKit has no verified local example in this record.
|
||||
|
||||
## Practical trial for the consuming worker
|
||||
## Source-adaptation fallback for the consuming worker
|
||||
|
||||
1. Query this checkout with `python3 -m reuse_surface.cli query --keyword browser`
|
||||
from the reuse-surface root, then open this entry. If the CLI is installed,
|
||||
`reuse-surface query --keyword browser` is equivalent.
|
||||
`plan-check --intent "headless browser" --no-llm` also includes this candidate,
|
||||
but its token-overlap thresholds and maturity tie-breaking currently return
|
||||
`new` for this short query. That verdict does not establish absence of reuse;
|
||||
use the explicit keyword query and read the evidence for this trial.
|
||||
`plan-check --intent "headless browser" --no-llm` ranks this entry first.
|
||||
Its reuse verdict describes relevance; provider preflight determines current
|
||||
runtime availability. Use source adaptation when the provider path is unsuitable.
|
||||
2. Pick the example matching the target repo's language and task. Inspect its
|
||||
fixture/server assumptions before adapting the smallest useful test or script.
|
||||
3. Use the target repo's package manager and lockfile. Select a compatible
|
||||
|
|
|
|||
|
|
@ -6,18 +6,25 @@ capabilities:
|
|||
- id: capability.infotech.headless-browser
|
||||
name: Headless Browser Automation
|
||||
summary: >-
|
||||
Headless browser automation with Playwright and Chromium for UI testing,
|
||||
screenshots and page extraction; recommended default based on existing
|
||||
whynot-design, coulomb-social, core-hub and frontend-patterns implementations.
|
||||
A rapp-playwright-provided service will be available shortly (announced
|
||||
2026-10-13; planned, not yet verified available).
|
||||
vector: D3 / A2 / C2 / R2
|
||||
Headless browser automation, screenshots and keyboard trials through
|
||||
rapp-playwright 0.1.0 (Playwright 1.64.0, Chromium 156.0.8078.4).
|
||||
Published A5 local container; managed Railiance admission is pending.
|
||||
Download the Python 3.10+ standalone client from
|
||||
https://forgejo.coulomb.social/coulomb/rapp-playwright/raw/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/client/rapp_playwright.py
|
||||
and run `python3 rapp_playwright.py --url http://127.0.0.1:18083 preflight`,
|
||||
then `python3 rapp_playwright.py --url http://127.0.0.1:18083 trial --out trial-01`
|
||||
with a fresh output directory. This endpoint was verified locally on 2026-10-13
|
||||
and is ephemeral; it installs no browser for the caller. If unreachable,
|
||||
follow the local container setup in the capability card or adapt its A2 source
|
||||
examples; this is an availability gap on the existing capability.
|
||||
Contract: https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/consumer-contract.md.
|
||||
vector: D3 / A5 / C2 / R2
|
||||
domain: infotech
|
||||
status: reviewed
|
||||
owner: reuse-surface
|
||||
path: registry/capabilities/capability.infotech.headless-browser.md
|
||||
tags: [headless, browser, automation, playwright, chromium, testing, screenshots, extraction, firefox, webkit, selenium, puppeteer]
|
||||
consumption_modes: [informational, source adaptation, JavaScript library, Python library]
|
||||
consumption_modes: [informational, source adaptation, JavaScript library, Python library, cli, service API, container]
|
||||
|
||||
- id: capability.registry.register
|
||||
name: Capability Registration
|
||||
|
|
|
|||
|
|
@ -943,12 +943,17 @@ capabilities:
|
|||
source_index: registry/federation/cache/email-connect.yaml
|
||||
- id: capability.infotech.headless-browser
|
||||
name: Headless Browser Automation
|
||||
summary: Headless browser automation with Playwright and Chromium for UI testing,
|
||||
screenshots and page extraction; recommended default based on existing whynot-design,
|
||||
coulomb-social, core-hub and frontend-patterns implementations. A rapp-playwright-provided
|
||||
service will be available shortly (announced 2026-10-13; planned, not yet verified
|
||||
available).
|
||||
vector: D3 / A2 / C2 / R2
|
||||
summary: 'Headless browser automation, screenshots and keyboard trials through rapp-playwright
|
||||
0.1.0 (Playwright 1.64.0, Chromium 156.0.8078.4). Published A5 local container;
|
||||
managed Railiance admission is pending. Download the Python 3.10+ standalone client
|
||||
from https://forgejo.coulomb.social/coulomb/rapp-playwright/raw/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/client/rapp_playwright.py
|
||||
and run `python3 rapp_playwright.py --url http://127.0.0.1:18083 preflight`, then
|
||||
`python3 rapp_playwright.py --url http://127.0.0.1:18083 trial --out trial-01`
|
||||
with a fresh output directory. This endpoint was verified locally on 2026-10-13
|
||||
and is ephemeral; it installs no browser for the caller. If unreachable, follow
|
||||
the local container setup in the capability card or adapt its A2 source examples;
|
||||
this is an availability gap on the existing capability. Contract: https://forgejo.coulomb.social/coulomb/rapp-playwright/src/commit/8831a05aeba5ce588f3b395ade676dde2a151c5d/docs/consumer-contract.md.'
|
||||
vector: D3 / A5 / C2 / R2
|
||||
domain: infotech
|
||||
status: reviewed
|
||||
owner: reuse-surface
|
||||
|
|
@ -971,6 +976,9 @@ capabilities:
|
|||
- source adaptation
|
||||
- JavaScript library
|
||||
- Python library
|
||||
- cli
|
||||
- service API
|
||||
- container
|
||||
source_repo: reuse-surface
|
||||
source_index: registry/indexes/capabilities.yaml
|
||||
- id: capability.infotech.hub-core-library
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue