@pikku/skills 0.12.15 → 0.12.17
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/CHANGELOG.md +69 -0
- package/dist/skills.gen.js +1 -1
- package/package.json +1 -1
- package/skills/pikku-better-auth/SKILL.md +210 -24
- package/skills/pikku-build-app/SKILL.md +65 -2
- package/skills/pikku-build-platform/SKILL.md +7 -0
- package/skills/pikku-build-quick/SKILL.md +12 -1
- package/skills/pikku-concepts/SKILL.md +91 -1
- package/skills/pikku-fabric/SKILL.md +21 -6
- package/skills/pikku-feature/SKILL.md +7 -0
- package/skills/pikku-i18n/SKILL.md +77 -2
- package/skills/pikku-middleware/SKILL.md +76 -1
- package/skills/pikku-permissions/SKILL.md +4 -0
- package/skills/pikku-scenario/SKILL.md +51 -0
- package/skills/pikku-schedule/SKILL.md +23 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,74 @@
|
|
|
1
1
|
# @pikku/skills
|
|
2
2
|
|
|
3
|
+
## 0.12.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a3deea4: Document machine authentication as middleware that sets a session. A caller with an identity (a sandbox, a deployed container, a machine host) is resolved once in `addHTTPMiddleware('*')`, which calls `setSession`; the function is then a plain `pikkuFunc` gated with `scopes` and reads `session`, rather than verifying the bearer token in its own body or in a `permissions` check that returns `true`.
|
|
8
|
+
|
|
9
|
+
The middleware skill also spells out why this cannot be `addTagMiddleware`: tag middleware runs inside `runPikkuFunc`, which the RPC dispatch calls without a `sessionService`, so a session set there never reaches a function invoked over `POST /rpc/:rpcName`.
|
|
10
|
+
|
|
11
|
+
- 30e390b: Skills now name the three languages a project has, and refuse to let them
|
|
12
|
+
collapse into one.
|
|
13
|
+
|
|
14
|
+
An agent building a doctor's portal for a German practice read "the entire UI is
|
|
15
|
+
German" as an instruction about the codebase. It shipped
|
|
16
|
+
`project.inlang/settings.json` with `baseLocale: "de"` and no `en.json` — which
|
|
17
|
+
broke `--add-locale` permanently — alongside RPC functions `getUebersicht` and
|
|
18
|
+
`getPatientendetail`, components `Zeitstrahl` and `AufmerksamkeitStreifen`, and
|
|
19
|
+
database tables `vorgang` and `ereignis`. Nothing in the skills had ever told it
|
|
20
|
+
these were three separate decisions, so it made one.
|
|
21
|
+
|
|
22
|
+
`pikku-concepts` now carries the canonical statement — identifiers are always
|
|
23
|
+
English and no setting changes that; meta (`description`, `title`, `template`)
|
|
24
|
+
follows `locale` in `pikku.config.json`; the product's UI language lives in the
|
|
25
|
+
message catalogue with `defaultLocale`, never in `baseLocale`. `pikku-build-app`
|
|
26
|
+
§1a asks the question and writes the answer into the config; `pikku-scenario`
|
|
27
|
+
splits step identifiers from step prose and admits where the English-only
|
|
28
|
+
reporter frame still shows through; `pikku-i18n` states why `baseLocale` stays
|
|
29
|
+
`en` and what to set instead. `pikku-build-quick`, `pikku-build-platform`,
|
|
30
|
+
`pikku-feature` and `pikku-fabric` carry the short form.
|
|
31
|
+
|
|
32
|
+
## 0.12.16
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- 0b1bf53: `pikku dev` turns actor quick login on and mints its secret; `pikku serve` never
|
|
37
|
+
does
|
|
38
|
+
|
|
39
|
+
Which command is running is the thing that knows whether "sign in as <persona>"
|
|
40
|
+
should work, so the two server commands now say so rather than leaving it to
|
|
41
|
+
whatever the environment happens to contain.
|
|
42
|
+
|
|
43
|
+
`pikku dev` sets `PIKKU_DEV_ACTOR_SIGN_IN` before it loads the project and, if no
|
|
44
|
+
actor secret is set, mints a cryptographically random one for the run under both
|
|
45
|
+
`SCENARIO_ACTOR_SECRET` and the `VITE_`-prefixed copy the dev frontend can
|
|
46
|
+
actually read — only prefixed variables reach `import.meta.env`, and the switcher
|
|
47
|
+
runs in the browser. Requiring every contributor to hand-manage a secret for a
|
|
48
|
+
server that is trusted with the database anyway bought nothing and cost setup
|
|
49
|
+
friction on every machine. An explicitly-set secret always wins: a project
|
|
50
|
+
pointing its scenario runs and its dev server at one value has to keep that
|
|
51
|
+
value. The minted one lives only in this process's environment, so it is gone
|
|
52
|
+
when the server stops and yesterday's cannot sign anything in today. Both cases
|
|
53
|
+
are logged, naming where the secret came from — the previous silence is what made
|
|
54
|
+
a missing control unanswerable from outside the container. Where the two names
|
|
55
|
+
disagree the command says so instead of picking one quietly, because that
|
|
56
|
+
disagreement presents as "the switcher signs in nowhere".
|
|
57
|
+
|
|
58
|
+
`pikku serve` is the production server command and does the opposite: it clears
|
|
59
|
+
the marker outright, so an inherited environment cannot switch passwordless
|
|
60
|
+
sign-in on behind the operator, and it warns when it had something to clear. What
|
|
61
|
+
it deliberately leaves alone is `PIKKU_ALLOW_ACTOR_SIGN_IN` — scenario suites have
|
|
62
|
+
to be able to run against a deployed stage, and that opt-in is the supported way
|
|
63
|
+
to say so.
|
|
64
|
+
|
|
65
|
+
`pikku validate`'s fix hint for a project with personas but no actor sign-in no
|
|
66
|
+
longer tells people to control the endpoint by withholding the secret, which is
|
|
67
|
+
no longer how it is controlled, and the `pikku-better-auth` skill documents the
|
|
68
|
+
gate, the two escape hatches, and the two distinct refusals.
|
|
69
|
+
|
|
70
|
+
- 8519a73: Say plainly that the dev seed is local only. No deploy applies it, so the test for a row is not whether it looks realistic but whether the app would be broken without it in production — a venue, a catalogue, a tenant is configuration and belongs in a migration. Names the failure it causes: a stage whose pages return 200 while its first data read throws.
|
|
71
|
+
|
|
3
72
|
## 0.12.15
|
|
4
73
|
|
|
5
74
|
### Patch Changes
|