@happyvertical/smrt-dev-mcp 0.60.9 → 0.60.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +33 -1
- package/README.md +17 -1
- package/agents/agent-skills.md +16 -0
- package/agents/intent-duplicates.md +26 -0
- package/dist/agent-skills.d.ts +2 -0
- package/dist/agent-skills.d.ts.map +1 -1
- package/dist/agent-skills.js +61 -0
- package/dist/agent-skills.js.map +1 -0
- package/dist/dev-plane.js +2 -2
- package/dist/{http-CCiO7qQW.js → http-BqKiyqgN.js} +2 -2
- package/dist/{http-CCiO7qQW.js.map → http-BqKiyqgN.js.map} +1 -1
- package/dist/index.js +13 -445
- package/dist/index.js.map +1 -1
- package/dist/knowledge/index.d.ts +1 -1
- package/dist/knowledge/index.d.ts.map +1 -1
- package/dist/knowledge/intents/audit-trail.md +63 -0
- package/dist/knowledge/intents/auth-and-users.md +67 -0
- package/dist/knowledge/intents/background-work.md +72 -0
- package/dist/knowledge/intents/feature-flags-and-entitlements.md +60 -0
- package/dist/knowledge/intents/file-and-asset-storage.md +71 -0
- package/dist/knowledge/intents/human-approvals.md +56 -0
- package/dist/knowledge/intents/index.md +41 -0
- package/dist/knowledge/intents/money-and-rates.md +65 -0
- package/dist/knowledge/intents/outbound-messages.md +67 -0
- package/dist/knowledge/intents/prompts-and-ai-operations.md +72 -0
- package/dist/knowledge/intents/relationships-and-trees.md +56 -0
- package/dist/knowledge/intents/scheduled-runs.md +61 -0
- package/dist/knowledge/intents/search-facts-knowledge.md +68 -0
- package/dist/knowledge/intents/secrets-and-config.md +66 -0
- package/dist/knowledge/intents/tenant-scoping.md +63 -0
- package/dist/knowledge/intents/webhooks-and-events.md +71 -0
- package/dist/knowledge/okf-bundle.d.ts +61 -0
- package/dist/knowledge/okf-bundle.d.ts.map +1 -0
- package/dist/{knowledge-DqoDX-lZ.js → knowledge-DUiMUjEg.js} +218 -3
- package/dist/knowledge-DUiMUjEg.js.map +1 -0
- package/dist/knowledge.js +2 -2
- package/dist/review-cli-DJIWUlFp.js +75 -0
- package/dist/review-cli-DJIWUlFp.js.map +1 -0
- package/dist/review-smrt-project-ByEwPcor.js +774 -0
- package/dist/review-smrt-project-ByEwPcor.js.map +1 -0
- package/dist/smrt-knowledge.okf.md +65 -0
- package/dist/{tool-catalog-RHq7nyCm.js → tool-catalog-BhnSCF8g.js} +11 -2
- package/dist/tool-catalog-BhnSCF8g.js.map +1 -0
- package/dist/tool-catalog.d.ts.map +1 -1
- package/dist/tools/intent-detector.d.ts +57 -0
- package/dist/tools/intent-detector.d.ts.map +1 -0
- package/dist/tools/intent-index.d.ts +40 -0
- package/dist/tools/intent-index.d.ts.map +1 -0
- package/dist/tools/review-cli.d.ts +40 -0
- package/dist/tools/review-cli.d.ts.map +1 -0
- package/dist/tools/review-smrt-project.d.ts +25 -0
- package/dist/tools/review-smrt-project.d.ts.map +1 -1
- package/package.json +10 -6
- package/plugin.json +1 -1
- package/skills/smrt-catalog/SKILL.md +42 -0
- package/skills/smrt-catalog/evals.json +28 -0
- package/skills/smrt-contribute/SKILL.md +73 -0
- package/skills/smrt-contribute/evals.json +18 -0
- package/dist/knowledge-DqoDX-lZ.js.map +0 -1
- package/dist/tool-catalog-RHq7nyCm.js.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill": "smrt-catalog",
|
|
3
|
+
"note": "Trigger eval set. A harness (or a reviewer) runs each prompt in a consumer project that depends on smrt packages and checks whether the skill fires. src/agent-skills.test.ts asserts the description covers every positive signal class.",
|
|
4
|
+
"positive": [
|
|
5
|
+
{ "prompt": "add a nightly cleanup job", "signal": "jobs" },
|
|
6
|
+
{ "prompt": "retry failed webhook deliveries with backoff", "signal": "jobs" },
|
|
7
|
+
{ "prompt": "send the customer a receipt email", "signal": "email" },
|
|
8
|
+
{ "prompt": "notify the owner when an invoice is overdue", "signal": "email" },
|
|
9
|
+
{ "prompt": "upload the logo to storage", "signal": "storage" },
|
|
10
|
+
{ "prompt": "let users attach PDFs to a ticket", "signal": "storage" },
|
|
11
|
+
{ "prompt": "make this tenant-aware", "signal": "tenancy" },
|
|
12
|
+
{ "prompt": "scope these records per organization", "signal": "tenancy" },
|
|
13
|
+
{ "prompt": "add a price field", "signal": "money" },
|
|
14
|
+
{ "prompt": "store the refund amount and currency", "signal": "money" },
|
|
15
|
+
{ "prompt": "require a manager to approve discounts", "signal": "approvals" },
|
|
16
|
+
{ "prompt": "record who changed each order and when", "signal": "audit" },
|
|
17
|
+
{ "prompt": "generate a PDF invoice", "signal": "documents" }
|
|
18
|
+
],
|
|
19
|
+
"negative": [
|
|
20
|
+
{ "prompt": "rename the Article title label to Headline", "reason": "ordinary change inside an existing @smrt() object" },
|
|
21
|
+
{ "prompt": "add a unit test for Order.total()", "reason": "tests of an existing object" },
|
|
22
|
+
{ "prompt": "validate that Product.slug is lowercase", "reason": "validation inside an existing object" },
|
|
23
|
+
{ "prompt": "fix the off-by-one in the pagination component", "reason": "UI bug, no new plumbing" },
|
|
24
|
+
{ "prompt": "add a description text field to Customer", "reason": "plain field on an existing object" },
|
|
25
|
+
{ "prompt": "explain what the Invoice class does", "reason": "read-only question" },
|
|
26
|
+
{ "prompt": "bump vitest to the latest minor", "reason": "tooling" }
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: smrt-contribute
|
|
3
|
+
description: Use when working in a fork or clone of the happyvertical/smrt repository as an outside contributor, for example "fix a bug in smrt-jobs and open a PR", "contribute this change upstream", or "add docs to smrt-core". Gives the fork pull-request procedure from CONTRIBUTING.md and the traps that fail from outside (package-name test filters, format then lint, generated knowledge pages, PR title length, no changesets, fork CI approval). Do not use in a project that merely depends on smrt packages (use smrt-catalog), or in a maintainer session where the control-plane skills (implement, claim-issue, review-cycle, ship) are installed.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SMRT Contribute
|
|
7
|
+
|
|
8
|
+
Procedure for contributing to `happyvertical/smrt` from a fork or clone. It
|
|
9
|
+
is `CONTRIBUTING.md` as steps. The maintainer lifecycle in
|
|
10
|
+
`AGENTS.md` (claim labels, dispatch labels, patch trains, `hv-agent-run`
|
|
11
|
+
blocks, `implement`, `review-cycle`) does not apply to you: you cannot claim
|
|
12
|
+
issues and the skills live in a private repository. Do not try to load them.
|
|
13
|
+
|
|
14
|
+
You submit the PR, so read and understand every line of it before opening it.
|
|
15
|
+
|
|
16
|
+
## Procedure
|
|
17
|
+
|
|
18
|
+
1. **Scope.** One concern per PR. For anything bigger than a focused bug fix,
|
|
19
|
+
or for changes to core decorators, the scanner or schema generation,
|
|
20
|
+
dependencies, new packages, or `.github/`, open or comment on an issue first.
|
|
21
|
+
2. **Orient.** Read `AGENTS.md` and the affected package's `AGENTS.md`
|
|
22
|
+
(non-obvious invariants and extra checks). Use Node and pnpm versions from
|
|
23
|
+
`package.json`.
|
|
24
|
+
3. **Setup.** `pnpm install` then `pnpm build`; packages consume each other's
|
|
25
|
+
built output, so build once in a fresh clone.
|
|
26
|
+
4. **Branch** in your fork, off `main`. Target `main` with the PR.
|
|
27
|
+
5. **Change.** Add a regression test for a bug fix and tests for new behaviour
|
|
28
|
+
(`TESTING_STANDARD.md`). Update the package README for user-facing behaviour.
|
|
29
|
+
6. **Test by package name:** `pnpm --filter @happyvertical/smrt-jobs test`.
|
|
30
|
+
Directories under `packages/` drop the `smrt-` prefix, and a filter that
|
|
31
|
+
matches no package exits 0 having run nothing. Confirm tests actually ran.
|
|
32
|
+
7. **Format, then lint:** `pnpm format` then `pnpm lint`.
|
|
33
|
+
8. **Generated pages.** When a package manifest, an `AGENTS.md`, an intent or a
|
|
34
|
+
playbook changed, run `pnpm knowledge:check --strict --format markdown` and
|
|
35
|
+
`pnpm knowledge:okf`, and commit the regenerated pages (they are checked in).
|
|
36
|
+
Keep root `AGENTS.md` chain under the 32 KB cap: `pnpm check:agents-chain`.
|
|
37
|
+
9. **Commit** with conventional commits (`fix(core): preserve tenant scope`).
|
|
38
|
+
Never author `.changeset/*.md`; release automation writes them.
|
|
39
|
+
10. **Open the PR** against `main`. Title: conventional form, at most 92
|
|
40
|
+
characters (the squash appends ` (#N)` and the commit header limit is 100).
|
|
41
|
+
|
|
42
|
+
## Never
|
|
43
|
+
|
|
44
|
+
- `--no-verify`, skipping a hook, disabling a gate, or pinning around a failure.
|
|
45
|
+
If a documented command cannot run as documented, say so in the PR instead
|
|
46
|
+
of working around it.
|
|
47
|
+
- Touching `.github/`. The **Fork Workflow Change Guard** fails any fork PR
|
|
48
|
+
that changes it; a maintainer re-lands such changes from the main repository.
|
|
49
|
+
- Claiming issues, adding claim or dispatch labels, or adding `hv-agent-run`
|
|
50
|
+
blocks.
|
|
51
|
+
|
|
52
|
+
## CI on a fork PR
|
|
53
|
+
|
|
54
|
+
- A maintainer must approve the **Fork PR Validation** run before it executes.
|
|
55
|
+
- Until then `Required CI` and `postgres-required` fail with "awaiting
|
|
56
|
+
maintainer approval". That is expected; do not try to fix it.
|
|
57
|
+
- A maintainer applies `ci: fork-approved` after reviewing and approving the
|
|
58
|
+
head commit. A new push removes the label and needs a fresh approval.
|
|
59
|
+
- If a maintainer's approval was refused, they must remove and re-add the
|
|
60
|
+
label; re-adding a label that is already present fires no event.
|
|
61
|
+
|
|
62
|
+
## PR description
|
|
63
|
+
|
|
64
|
+
Include:
|
|
65
|
+
|
|
66
|
+
- the behaviour change (what and why);
|
|
67
|
+
- how it was validated (commands run, with results);
|
|
68
|
+
- which package `AGENTS.md` invariants it touches, or "none".
|
|
69
|
+
|
|
70
|
+
## Upstream gaps found from a consumer project
|
|
71
|
+
|
|
72
|
+
If you arrived here because a consumer project needed behaviour an smrt package
|
|
73
|
+
lacks, link the originating issue or use case in the PR description.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill": "smrt-contribute",
|
|
3
|
+
"note": "Trigger eval set. Positive: an outside contributor in a fork or clone of happyvertical/smrt. Negative: a consumer project, or a maintainer session with the control-plane skills. src/agent-skills.test.ts asserts the description covers the positive and negative contexts.",
|
|
4
|
+
"positive": [
|
|
5
|
+
{ "prompt": "fix a bug in smrt-jobs and open a PR", "context": "fork" },
|
|
6
|
+
{ "prompt": "I cloned happyvertical/smrt; add docs for smrt-core to the README", "context": "clone" },
|
|
7
|
+
{ "prompt": "contribute this change upstream to smrt", "context": "fork" },
|
|
8
|
+
{ "prompt": "open a pull request against happyvertical/smrt from my fork", "context": "fork" },
|
|
9
|
+
{ "prompt": "what do I need to run before sending a PR to smrt?", "context": "clone" }
|
|
10
|
+
],
|
|
11
|
+
"negative": [
|
|
12
|
+
{ "prompt": "add a nightly cleanup job", "context": "consumer project that depends on smrt packages" },
|
|
13
|
+
{ "prompt": "make the Invoice model tenant-aware", "context": "consumer project that depends on smrt packages" },
|
|
14
|
+
{ "prompt": "implement issue #4123", "context": "maintainer session with implement and claim-issue skills" },
|
|
15
|
+
{ "prompt": "run review-cycle and ship the PR", "context": "maintainer session with control-plane skills" },
|
|
16
|
+
{ "prompt": "fix the failing test in my app", "context": "unrelated repository" }
|
|
17
|
+
]
|
|
18
|
+
}
|