feat: add Slack + Discord tool packages and fix 50 skipped sync packages

Add @tpmjs/tools-slack (10 tools) and @tpmjs/tools-discord (15 tools)
with full API coverage, typed outputs, and domain-validated blocks.

Add 7 missing business categories (finance, legal, hr, marketing, cx,
edu, sales) to TPMJS_CATEGORIES so 50 previously skipped packages
can sync to tpmjs.com.

Fix lefthook secrets hook to skip gracefully when git-secrets is not
installed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas Davis 2026-02-09 20:41:51 +10:00
parent 7327992a9d
commit cc69d98b6f
14 changed files with 3803 additions and 2 deletions

View file

@ -43,7 +43,7 @@ blocks:
measures: [working_implementation, valid_output_structure, proper_error_handling, ai_sdk_compliance]
```
**Category prefix** (before the dot): `research`, `web`, `data`, `documentation`, `engineering`, `security`, `statistics`, `ops`, `agent`, `sandbox`, `utilities`, `html`, `compliance`.
**Category prefix** (before the dot): `research`, `web`, `data`, `documentation`, `engineering`, `security`, `statistics`, `ops`, `agent`, `sandbox`, `utilities`, `html`, `compliance`, `finance`, `legal`, `hr`, `marketing`, `cx`, `edu`, `sales`.
For domain entities and quality measures, see [references/domain.md](references/domain.md).
@ -222,9 +222,15 @@ Each tool gets its own entry in blocks.yml (same `path`) and in `tpmjs.tools` ar
## Step 4: Validate
The blocks CLI domain validator requires an OpenAI API key. Source it from `.env.local` before running:
```bash
cd packages/tools/official
# Load the OpenAI API key for domain validation
source ../../../.env.local
export OPENAI_API_KEY
pnpm blocks run <tool-name> # Validate (schema → shape → domain)
pnpm blocks run <tool-name> --force # Force full validation (skip cache)
pnpm blocks run <tool-name> --json # JSON output for debugging