Skip to content

Latest commit

 

History

History
48 lines (35 loc) · 4.21 KB

PUBLIC_RELEASE.md

File metadata and controls

48 lines (35 loc) · 4.21 KB

Public release checklist

Use this checklist for every public release.

Repository and package

  • Confirm the GitHub repository is public and the release commit is on the default branch.
  • Confirm the repository root contains plugin.json, mcp.json, public-surface.json, skills/, and assets/ for GitHub auto-discovery.
  • Confirm .claude-plugin/marketplace.json points to ./claude-plugins/sent.
  • Confirm the Claude plugin contains its manifest, README, license, skills, commands, assets, and HTTPS MCP configuration.
  • Update the version consistently before release; plugin names are stable public identifiers and must not be renamed casually.
  • Review git ls-files for local metadata, archives, credentials, customer data, and private operational material.

Automated gates

python3 scripts/generate_adapters.py --check
python3 scripts/validate.py
python3 scripts/test_validation_gates.py
python3 scripts/test_fixtures.py
python3 scripts/test_contracts.py
python3 scripts/test_live_contract.py
claude plugin validate . --strict
claude plugin validate ./claude-plugins/sent --strict

CI must pass on the exact commit being submitted. Resolve warnings as well as errors before submission. The dedicated contract/documentation freshness workflow runs on schedule, manual dispatch, and release; review its uploaded JSON artifact separately from pull-request validation.

Public-facing review

  • Verify the homepage, documentation, privacy, terms, support, and MCP URLs are publicly reachable over HTTPS.
  • Confirm the README accurately describes installation, authentication, data handling, mutation confirmation, and support.
  • Confirm every public skill appears in each README catalog with a task-oriented description and a working skills/<name>/SKILL.md link.
  • Run npx skills add https://github.com/sentdm/sent-plugin --list against the public release and confirm all canonical skills are discoverable by name.
  • Review every SKILL.md frontmatter description for natural-language triggers, product synonyms, error symptoms, and explicit scope boundaries.
  • Confirm all fixtures are synthetic and all external documentation links are public.
  • Confirm license and provenance notices remain present in the repository and distributable plugin.
  • Complete security, privacy, legal, and product review without publishing reviewer accounts, credentials, or internal findings.

Anthropic submission

Submit the public repository through the current Claude plugin submission form only after the exact public commit passes the gates above. Anthropic runs claude plugin validate and automated safety screening during review, so local strict validation should match the submitted layout.

OpenAI listings include website, support, privacy policy, and terms URLs in both the portable extension and Codex adapter. Release validation checks their consistency and HTTPS endpoints. Confirmation requirements for sends, feedback, contact mutations, template deletion, and Sender Profile mutations are enforced independently of public-surface metadata. Scanner regression checks cover credential omission and repository containment.

The Claude manifest carries documentationUrl, supportUrl, privacyPolicyUrl, and termsOfServiceUrl from the shared listing source. Validate with Claude Code 2.1.287 or later, which recognizes these directory fields. Packaged scripts and application examples must not read ambient credentials; the webhook utility accepts only an explicitly supplied secret on standard input.

The Claude adapter applies adapter-sources/claude/overlay.yaml: it withholds Sender Profile creation and deletion from claude-plugins/sent/public-surface.json (25 tools) and adjusts the provisioning, compliance, and messaging guidance. Use that file's tool list and these use cases in Claude directory submissions: send one approved template message, inspect message status and activity, manage contacts and templates, query analytics and number capabilities, review account, balance, onboarding, and SMS compliance requirements, update Sender Profile metadata, and send user-authorized feedback. The Sent server enforces the same restrictions for hosted Claude connections; for Claude Code, the overlay is guidance only. Never hand-edit claude-plugins/sent.