NVIDIA-NeMo / NVIDIA-NeMo/DataDesignerPlugins

Document the plugin tap contract, workflows, and ecosystem boundaries

Open
#25 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation plugin tap
Dominant language
Python
Stars
7
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Parent epic: #15

Depends on: #16, #18, #19, #20, #21, #22, #24

Why

The repo currently documents plugin authoring, workflow, and release basics, but not the full tap contract or how DDPlugins functions as both the default NVIDIA tap and a reference tap repo. This issue turns the contracts from the other issues into maintainer-facing and consumer-facing docs.

Documentation changes

Add or update these docs:

  1. docs/taps.md

    • Defines tap discovery vs runtime entry-point discovery.
    • Includes the schema v2 JSON example from #16.
    • Lists required schema fields and source object variants.
    • States the default NVIDIA tap URL exactly:
      https://raw.githubusercontent.com/NVIDIA-NeMo/DataDesignerPlugins/main/catalog/plugins.json
    • Explains that external taps may use any unauthenticated raw JSON URL or local path matching schema v2.
    • Explains mutability of the raw main URL and tag/SHA pinned alternatives.
  2. README.md

    • Adds a short “Plugin Tap” section.
    • Links to docs/taps.md.
    • Shows the default NVIDIA tap URL.
  3. docs/authoring.md

    • Explains that package metadata, plugin docs, entry points, compatibility dependencies, and tap config feed generated catalog entries.
    • Explains ddp new --type column-generator|seed-reader|processor once #22 lands.
    • Explains external tap authoring at a high level: configure [tool.ddp.tap], scaffold plugin, run make all, publish raw JSON catalog.
  4. docs/workflow.md

    • States that catalog/plugins.json is the machine-readable tap artifact.
    • States that maintainers regenerate it with make catalog and validate with make check-catalog / make check.
    • States that human docs link to the raw JSON catalog but do not deliver the machine catalog.
  5. docs/releasing.md

    • Documents per-plugin tags: {package}/v{version}.
    • Explains that PyPI source installs use source.package and package.version.
    • Explains that Git source installs use repository-git-url, release ref, and package.path as subdirectory.
    • Explains that multi-plugin packages release all of their entry points together.
    • Documents the strengthened release validation from #20.
  6. zensical.toml

    • Adds the new tap docs page to navigation outside the generated plugin docs block.

Acceptance criteria

  • A consumer can find the default NVIDIA tap URL and understand every schema v2 field.
  • Docs explain that the tap artifact is raw JSON, not an HTML page or docs-only artifact.
  • A maintainer can understand when to regenerate catalog/docs/CODEOWNERS and which files are generated.
  • An external author can understand how to configure a copied/forked tap repo, scaffold a plugin, publish a raw JSON catalog, and tell users how to add that tap once DataDesigner supports it.
  • Release docs explain how a plugin becomes discoverable and installable through the tap.
  • Docs distinguish tap discovery from runtime entry-point discovery.
  • make docs passes in strict mode.

Dependencies

  • Depends on: #16, #18, #19, #20, #21, #22, #24.
  • Related DataDesigner dependency marker: DD-CLI-TAPS.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the requirements in docs/taps.md, README.md, docs/authoring.md, docs/workflow.md, docs/releasing.md, and zensical.toml, along with the referenced dependency issues. Update the documented tap, authoring, workflow, and release contracts, add the tap page to navigation, and run make docs in strict mode; done means the acceptance criteria are covered and the documentation build passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.