@pikku/skills 0.12.34 → 0.12.37
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/README.md +9 -4
- package/dist/index.d.ts +7 -4
- package/dist/index.js +9 -5
- package/dist/skills.gen.d.ts +1 -0
- package/dist/skills.gen.js +5 -3
- package/dist/snippets.d.ts +26 -0
- package/dist/snippets.js +148 -0
- package/package.json +2 -2
- package/skills/pikku-addon/SKILL.md +41 -30
- package/skills/pikku-addon/references/addon-package-manifest.md +9 -4
- package/skills/pikku-addon/references/openapi.md +99 -0
- package/skills/pikku-agent/references/agents.md +3 -1
- package/skills/pikku-architect/SKILL.md +12 -0
- package/skills/pikku-auth/references/better-auth.md +16 -0
- package/skills/pikku-build/SKILL.md +29 -0
- package/skills/pikku-build/references/app.md +52 -4
- package/skills/pikku-build/references/feature.md +23 -96
- package/skills/pikku-build/references/quick.md +12 -3
- package/skills/pikku-changes/SKILL.md +172 -0
- package/skills/pikku-concepts/SKILL.md +33 -138
- package/skills/pikku-concepts/references/bootstrap.md +58 -0
- package/skills/pikku-concepts/references/concept-mapping.md +16 -0
- package/skills/pikku-concepts/references/language.md +87 -0
- package/skills/pikku-deploy/SKILL.md +1 -1
- package/skills/pikku-fabric/SKILL.md +26 -13
- package/skills/pikku-guide/SKILL.md +264 -0
- package/skills/pikku-knowledge/SKILL.md +10 -0
- package/skills/pikku-kysely/SKILL.md +1 -1
- package/skills/pikku-mantine/SKILL.md +80 -0
- package/skills/pikku-n8n-import/SKILL.md +4 -3
- package/skills/pikku-react/references/client.md +12 -0
- package/skills/pikku-realtime/SKILL.md +6 -6
- package/skills/pikku-report/SKILL.md +143 -0
- package/skills/pikku-scenario/SKILL.md +71 -563
- package/skills/pikku-scenario/references/browser.md +59 -0
- package/skills/pikku-scenario/references/coverage.md +70 -0
- package/skills/pikku-scenario/references/personas.md +87 -0
- package/skills/pikku-scenario/references/steps.md +366 -0
- package/skills/pikku-service-backends/SKILL.md +1 -1
- package/skills/pikku-wiring/SKILL.md +1 -1
- package/skills/pikku-wiring/references/http.md +8 -0
- package/skills/pikku-wiring/references/mcp.md +59 -0
- package/skills/pikku-workflow/SKILL.md +7 -8
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pikku-n8n-import
|
|
3
3
|
description: 'Use to import an n8n workflow JSON export into a runnable Pikku workflow. Triggers when the user says "import this n8n workflow", "convert this n8n export to pikku", points at an n8n `.json` export or a directory of them, or picks up after `pikku import n8n` left throwing stub functions (`STUB — generated from n8n …`, `— implement me`) or a `<workflow>.integrations.json` manifest. Owns the whole flow: run the importer, triage what it could not map, fill each stub, report any missing `@pikku/addon-*` integrations, and verify the result compiles and runs with no surviving stubs. DO NOT TRIGGER for hand-written addon wiring unrelated to an n8n import (use pikku-addon), or for authoring workflows from scratch (use pikku-workflow).'
|
|
4
|
+
installGroups: [core]
|
|
4
5
|
metadata:
|
|
5
6
|
version: 1.0.0
|
|
6
7
|
---
|
|
@@ -19,14 +20,14 @@ missing dependency).
|
|
|
19
20
|
|
|
20
21
|
## Agent Operating Procedure
|
|
21
22
|
|
|
22
|
-
1. Discover before editing. Prefer `pikku
|
|
23
|
+
1. Discover before editing. Prefer `pikku meta ... --json` when
|
|
23
24
|
available; inspect only the focused output you need.
|
|
24
25
|
2. Identify the source file that owns the behavior. Do not start from generated
|
|
25
26
|
output, `.pikku`, `node_modules`, or vendored packages.
|
|
26
27
|
3. Make the smallest source change that satisfies the task. Keep generated files
|
|
27
28
|
generated.
|
|
28
|
-
4. Validate with the narrowest relevant command first, then `pikku all`
|
|
29
|
-
|
|
29
|
+
4. Validate with the narrowest relevant command first, then `pikku all` when
|
|
30
|
+
functions, wirings, or schemas changed.
|
|
30
31
|
5. If validation fails, fix the source cause and rerun. Never edit generated
|
|
31
32
|
files to hide an error.
|
|
32
33
|
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
# Pikku React
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
What is here:
|
|
5
|
+
|
|
6
|
+
- [What ships](#what-ships)
|
|
7
|
+
- [Resolving the server URL](#resolving-the-server-url)
|
|
8
|
+
- [Setup at the app root](#setup-at-the-app-root)
|
|
9
|
+
- [Calling an RPC directly (no React Query)](#calling-an-rpc-directly-no-react-query)
|
|
10
|
+
- [Calling fetch directly](#calling-fetch-directly)
|
|
11
|
+
- [Realtime subscriptions](#realtime-subscriptions)
|
|
12
|
+
- [When to reach for what](#when-to-reach-for-what)
|
|
13
|
+
- [Authentication](#authentication)
|
|
14
|
+
- [What NOT to do](#what-not-to-do)
|
|
15
|
+
|
|
4
16
|
## What ships
|
|
5
17
|
|
|
6
18
|
```tsx
|
|
@@ -3,17 +3,17 @@ name: pikku-realtime
|
|
|
3
3
|
description: >-
|
|
4
4
|
Use when making ANY view live/realtime in a Pikku app — a board, shared list, dashboard, ticker, bidding room, live count — or when adding two-way chat/presence. Covers the DEFAULT event-hub SSE path and the two-way WebSocket channel.
|
|
5
5
|
TRIGGER when: the user wants live updates, realtime, "update without refresh", a live board/feed/ticker/room, presence, or chat; or when data that MORE THAN ONE signed-in user can change should reflect others
|
|
6
|
-
DO NOT TRIGGER when: a plain one-shot query/refetch is fine (data only one user changes, or a manual refresh is acceptable), or for background jobs (
|
|
6
|
+
DO NOT TRIGGER when: a plain one-shot query/refetch is fine (data only one user changes, or a manual refresh is acceptable), or for background jobs (see `pikku-wiring`'s scheduler and queue references, or `pikku-workflow`).
|
|
7
7
|
installGroups: [core, client]
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Pikku Realtime (SSE + WebSocket channels)
|
|
11
11
|
|
|
12
|
-
There is NOTHING to hand-roll and NOTHING to "find".
|
|
13
|
-
|
|
14
|
-
templates. Start from them and rename — never grep the
|
|
15
|
-
`sse`/`eventHub` code to copy, never write a custom
|
|
16
|
-
write a bespoke `sse: true` route for a plain live feed.
|
|
12
|
+
There is NOTHING to hand-roll and NOTHING to "find". `pikku enable events` wires
|
|
13
|
+
the event-hub SSE transport and generates the typed client, and the two patterns
|
|
14
|
+
below ARE the realtime templates. Start from them and rename — never grep the
|
|
15
|
+
project for existing `sse`/`eventHub` code to copy, never write a custom
|
|
16
|
+
`EventSource`, and never write a bespoke `sse: true` route for a plain live feed.
|
|
17
17
|
|
|
18
18
|
## Pick the transport (almost always SSE)
|
|
19
19
|
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pikku-report
|
|
3
|
+
description: >-
|
|
4
|
+
Use when pikku itself cost you time — wrong generated types, a check that passes when it
|
|
5
|
+
should not, output that is quietly wrong, a skill that misled you — or when the user asks you
|
|
6
|
+
to report a framework bug, file a finding, or look at what is queued. Owns `pikku fabric
|
|
7
|
+
report` (a finding is about pikku, not the app), the product-vs-harness kinds, the
|
|
8
|
+
workaround-first ladder, and the local findings spool. TRIGGER when: the framework fought you,
|
|
9
|
+
codegen produced something broken, a skill told you to run something that does not exist, the
|
|
10
|
+
user says "report this to pikku" / "file a finding" / "check the findings queue", or a finding
|
|
11
|
+
was queued and never sent. DO NOT TRIGGER when: the bug is in the app you are building (fix it
|
|
12
|
+
there), or you are tempted to patch pikku's source (never do that from an app).
|
|
13
|
+
installGroups: [core]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Report a finding to Fabric
|
|
17
|
+
|
|
18
|
+
A finding is about **pikku**, not about the app you are building. It is how the
|
|
19
|
+
framework learns what cost its users time — the bug, the misleading skill, the
|
|
20
|
+
silence where a check should have complained.
|
|
21
|
+
|
|
22
|
+
Nothing is written to the repository. The terminal receipt shows exactly what
|
|
23
|
+
left your machine, and the command is spelled `pikku fabric report` — there is
|
|
24
|
+
no top-level report command.
|
|
25
|
+
|
|
26
|
+
## Report at the moment it happens
|
|
27
|
+
|
|
28
|
+
Not at the end from memory: a run that falls over never reaches its end, and the
|
|
29
|
+
mechanism is already loaded while you are in it. One finding per thing that
|
|
30
|
+
fought you.
|
|
31
|
+
|
|
32
|
+
The ladder decides how much to spend:
|
|
33
|
+
|
|
34
|
+
1. **Find the quicker workaround.** The user is paying for their feature, not
|
|
35
|
+
for pikku's health.
|
|
36
|
+
2. **Investigate** only when there is no workaround, or when the user asks why
|
|
37
|
+
something is slow or wrong.
|
|
38
|
+
3. **Report at the depth you already reached.** Never spend extra effort to
|
|
39
|
+
file; never throw away effort you already spent. If the investigation took
|
|
40
|
+
you to the mechanism, the finding says so — named file, named function, what
|
|
41
|
+
is actually happening, and what pikku should do instead.
|
|
42
|
+
|
|
43
|
+
## What counts
|
|
44
|
+
|
|
45
|
+
Anything that cost you time and would cost the next person the same. Most of
|
|
46
|
+
these never produce an error: output that is quietly wrong, a generated type
|
|
47
|
+
that disagrees with the runtime, a check that passes when it should not, a
|
|
48
|
+
narrowing you had to write by hand because the framework should have written
|
|
49
|
+
it. **Having to write code the framework should have written for you is a
|
|
50
|
+
finding.**
|
|
51
|
+
|
|
52
|
+
Also anything that only shows up in one place — invisible locally, fatal
|
|
53
|
+
deployed, or the reverse. Say which with `--surface local|deployed|both`.
|
|
54
|
+
|
|
55
|
+
Not a finding: a preference, a thing you would have designed differently, or
|
|
56
|
+
baseline noise that was already failing before you started.
|
|
57
|
+
|
|
58
|
+
## Two kinds
|
|
59
|
+
|
|
60
|
+
- `--kind product` — pikku behaved wrongly. Fixing it is a change to the
|
|
61
|
+
framework.
|
|
62
|
+
- `--kind harness` — a skill misled you: it told you to run something that does
|
|
63
|
+
not exist, described a flag that is spelled differently, or contradicted what
|
|
64
|
+
the CLI actually did. Pass `--skill <name>` and `--passage "<the line or
|
|
65
|
+
section>"`. This is the most useful kind to file, because it is fixable
|
|
66
|
+
immediately — so file it even when the cost was small.
|
|
67
|
+
|
|
68
|
+
## The command
|
|
69
|
+
|
|
70
|
+
Send it as JSON on stdin. Most of a finding is prose, and prose carries
|
|
71
|
+
apostrophes, quotes, backticks and newlines — each one a shell metacharacter
|
|
72
|
+
before it is a character in your sentence. A stack trace passed to `--error`
|
|
73
|
+
breaks the command at its first newline; a backtick in `--actual` runs whatever
|
|
74
|
+
follows it. Quote the heredoc delimiter (`<<'EOF'`, never `<<EOF`) so the shell
|
|
75
|
+
leaves the body alone.
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
pikku fabric report --stdin <<'EOF'
|
|
79
|
+
{
|
|
80
|
+
"title": "<one-line title>",
|
|
81
|
+
"kind": "product",
|
|
82
|
+
"model": "<the model you are>",
|
|
83
|
+
"expected": "<what you expected pikku to do>",
|
|
84
|
+
"actual": "<what it did instead>",
|
|
85
|
+
"command": "<the command you ran>",
|
|
86
|
+
"workaround": "<what you did instead, inside the app>"
|
|
87
|
+
}
|
|
88
|
+
EOF
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
The same fields exist as flags for a finding short enough to type; `pikku fabric
|
|
92
|
+
report --help` lists them. Whichever path you use, the rules below are checked
|
|
93
|
+
before anything is sent:
|
|
94
|
+
|
|
95
|
+
- `kind` is `product` or `harness`, and a `harness` finding names the skill that
|
|
96
|
+
misled you.
|
|
97
|
+
- A resolved finding carries the `workaround` you used (or a `proposal`).
|
|
98
|
+
- `--unresolved` means **no workaround was found** — it requires `--tried` with
|
|
99
|
+
what you attempted and how each attempt failed, and it forbids `--workaround`.
|
|
100
|
+
It does not mean the workaround was unpleasant.
|
|
101
|
+
|
|
102
|
+
Add whichever of these you actually have: `error` (the error's message line,
|
|
103
|
+
verbatim), `repro` (the shortest way to reach it again), `proposal`, `area`,
|
|
104
|
+
`surface`, `cost` (measured if you measured it — "98s vs 20s steady" ranks;
|
|
105
|
+
"slow" does not), `run` (an id shared by every finding from this build),
|
|
106
|
+
`deployTarget`.
|
|
107
|
+
|
|
108
|
+
Versions, platform and package manager are read off the installed tree for you.
|
|
109
|
+
Do not pass them and do not ask the user for them.
|
|
110
|
+
|
|
111
|
+
## When it cannot send
|
|
112
|
+
|
|
113
|
+
Reporting never fails a build. A finding that cannot be sent — logged out, or
|
|
114
|
+
fabric unreachable — is held on the machine and goes out with the next report
|
|
115
|
+
that succeeds, so nothing you file is lost:
|
|
116
|
+
|
|
117
|
+
- `pikku fabric findings list` shows what is queued.
|
|
118
|
+
- `pikku fabric findings flush` sends everything queued.
|
|
119
|
+
- `pikku fabric findings clear` discards it.
|
|
120
|
+
|
|
121
|
+
If the terminal says the finding was queued, carry on with what you were doing.
|
|
122
|
+
Do not try to fix the send, and do not file the same thing again.
|
|
123
|
+
|
|
124
|
+
## Never fix pikku itself
|
|
125
|
+
|
|
126
|
+
Not a patch in `node_modules`, not a linked checkout, not a branch in the
|
|
127
|
+
framework repo. Many agents each patching pikku to unblock themselves is many
|
|
128
|
+
divergent copies and a merge problem nobody signed up for. Work around it in the
|
|
129
|
+
app, report it, and let the fix happen once.
|
|
130
|
+
|
|
131
|
+
## What NOT to do
|
|
132
|
+
|
|
133
|
+
- **Do not report a bug in the app as a pikku finding.** If the app's own code
|
|
134
|
+
is wrong, fix it; a finding that turns out to be the caller's mistake costs
|
|
135
|
+
the maintainers more than it cost you.
|
|
136
|
+
- **Do not batch findings at the end of a build.** You will have lost the
|
|
137
|
+
mechanism and the command, and the report wins nothing.
|
|
138
|
+
- **Do not file without a workaround or an `--unresolved --tried`.** A finding
|
|
139
|
+
that cannot be acted on is noise.
|
|
140
|
+
- **Do not paste a secret, token or customer data into a finding.** The payload
|
|
141
|
+
leaves your machine; keep it to the mechanism.
|
|
142
|
+
- **Do not ask the user for versions or platform.** They are collected
|
|
143
|
+
automatically.
|