@jskit-ai/agent-docs 0.1.2 → 0.1.4
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/DISTR_AGENT.md +20 -3
- package/guide/agent/app-extras/assistant.md +1 -1
- package/guide/agent/app-extras/realtime.md +1 -1
- package/guide/agent/app-setup/a-more-interesting-shell.md +1 -1
- package/guide/agent/app-setup/authentication.md +9 -1
- package/guide/agent/app-setup/console.md +1 -1
- package/guide/agent/app-setup/database-layer.md +1 -1
- package/guide/agent/app-setup/initial-scaffolding.md +22 -5
- package/guide/agent/app-setup/multi-homing.md +3 -1
- package/guide/agent/app-setup/users.md +1 -1
- package/guide/agent/app-setup/working-with-the-jskit-cli.md +54 -2
- package/guide/agent/generators/advanced-cruds.md +163 -1
- package/guide/agent/generators/crud-generators.md +30 -1
- package/guide/agent/generators/intro.md +1 -1
- package/guide/agent/generators/ui-generators.md +1 -1
- package/guide/agent/index.md +1 -1
- package/package.json +2 -1
- package/reference/autogen/packages/agent-docs.md +18 -0
- package/reference/autogen/tooling/jskit-cli.md +61 -0
- package/skills/jskit-review/SKILL.md +94 -0
- package/skills/jskit-review/agents/openai.yaml +4 -0
- package/templates/APP_BLUEPRINT.md +23 -0
- package/templates/WORKBOARD.md +46 -0
- package/templates/app/AGENTS.md +28 -3
- package/workflow/app-state.md +2 -1
- package/workflow/bootstrap.md +38 -3
- package/workflow/feature-delivery.md +49 -7
- package/workflow/review.md +33 -8
- package/workflow/scoping.md +24 -3
- package/workflow/workboard.md +29 -0
- package/guide/human/app-extras/assistant.md +0 -695
- package/guide/human/app-extras/realtime.md +0 -270
- package/guide/human/app-setup/a-more-interesting-shell.md +0 -734
- package/guide/human/app-setup/authentication.md +0 -963
- package/guide/human/app-setup/console.md +0 -352
- package/guide/human/app-setup/database-layer.md +0 -822
- package/guide/human/app-setup/initial-scaffolding.md +0 -738
- package/guide/human/app-setup/multi-homing.md +0 -795
- package/guide/human/app-setup/users.md +0 -404
- package/guide/human/app-setup/working-with-the-jskit-cli.md +0 -997
- package/guide/human/generators/advanced-cruds.md +0 -923
- package/guide/human/generators/crud-generators.md +0 -556
- package/guide/human/generators/intro.md +0 -109
- package/guide/human/generators/ui-generators.md +0 -665
- package/guide/human/index.md +0 -39
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jskit-review
|
|
3
|
+
description: Review or deslop a JSKIT chunk or whole changeset. Use when the user asks to review, deslop, run a JSKIT best-practices audit, or verify a JSKIT feature, chunk, or whole changeset before sign-off.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# JSKIT Review
|
|
7
|
+
|
|
8
|
+
Use this skill for independent review passes on JSKIT app work.
|
|
9
|
+
|
|
10
|
+
Preferred execution mode:
|
|
11
|
+
|
|
12
|
+
- Run this skill in a fresh review agent when the runtime supports delegation.
|
|
13
|
+
- Use the current agent only when delegation is unavailable.
|
|
14
|
+
- The same rule applies to chunk review and whole-changeset review.
|
|
15
|
+
|
|
16
|
+
## Read first
|
|
17
|
+
|
|
18
|
+
1. `../../workflow/review.md`
|
|
19
|
+
2. `../../workflow/feature-delivery.md`
|
|
20
|
+
|
|
21
|
+
Read these on demand:
|
|
22
|
+
|
|
23
|
+
- `../../reference/autogen/KERNEL_MAP.md`
|
|
24
|
+
- `../../reference/autogen/README.md`
|
|
25
|
+
- `../../guide/agent/index.md`
|
|
26
|
+
- `../../site/guide/index.md` when compressed guidance is ambiguous
|
|
27
|
+
|
|
28
|
+
Inspect app-local files when they exist:
|
|
29
|
+
|
|
30
|
+
- `.jskit/WORKBOARD.md`
|
|
31
|
+
- `.jskit/APP_BLUEPRINT.md`
|
|
32
|
+
|
|
33
|
+
## Review target
|
|
34
|
+
|
|
35
|
+
Determine whether the target is:
|
|
36
|
+
|
|
37
|
+
- the current chunk
|
|
38
|
+
- or the whole changeset
|
|
39
|
+
|
|
40
|
+
Use `.jskit/WORKBOARD.md` to determine the active chunk when available.
|
|
41
|
+
|
|
42
|
+
## Required passes
|
|
43
|
+
|
|
44
|
+
1. Deslop review
|
|
45
|
+
2. JSKIT best-practices review
|
|
46
|
+
3. Material Design and Vuetify review
|
|
47
|
+
4. Verification review
|
|
48
|
+
|
|
49
|
+
## Deslop review
|
|
50
|
+
|
|
51
|
+
Check for:
|
|
52
|
+
|
|
53
|
+
- repeated functions or duplicated local helpers
|
|
54
|
+
- local helpers that should reuse kernel/runtime seams
|
|
55
|
+
- placeholder, fake-complete, or vague UI/copy/code
|
|
56
|
+
- dead code, unused imports/props, TODO-shaped gaps, or accidental abstractions
|
|
57
|
+
- missing loading, empty, error, permission, or ownership states
|
|
58
|
+
- broken route wiring, missing migrations, or incomplete flows
|
|
59
|
+
|
|
60
|
+
## JSKIT review
|
|
61
|
+
|
|
62
|
+
Check for:
|
|
63
|
+
|
|
64
|
+
- missed reuse of existing JSKIT helpers or runtime seams
|
|
65
|
+
- hand code that should have been a package, generator, or scaffold step
|
|
66
|
+
- surface, route, ownership, and migration choices that violate JSKIT conventions
|
|
67
|
+
- metadata that no longer matches actual behavior
|
|
68
|
+
|
|
69
|
+
## Material Design and Vuetify review
|
|
70
|
+
|
|
71
|
+
Check that user-facing screens:
|
|
72
|
+
|
|
73
|
+
- follow Material Design and Vuetify best practices
|
|
74
|
+
- use clear layout hierarchy, spacing, actions, and empty/error states
|
|
75
|
+
- use coherent list, table, and form patterns
|
|
76
|
+
- improve weak screens before sign-off rather than only recording the problem
|
|
77
|
+
|
|
78
|
+
## Verification review
|
|
79
|
+
|
|
80
|
+
Check that verification is appropriate for the target:
|
|
81
|
+
|
|
82
|
+
- focused verification for a chunk
|
|
83
|
+
- broad regression for a whole changeset
|
|
84
|
+
- Playwright for meaningful user-facing flows
|
|
85
|
+
- explicit handling of login/test-auth strategy when auth is required
|
|
86
|
+
|
|
87
|
+
## Output format
|
|
88
|
+
|
|
89
|
+
- Present findings first, ordered by severity, with file references.
|
|
90
|
+
- If there are no findings, say so explicitly.
|
|
91
|
+
- Always finish with:
|
|
92
|
+
- files reviewed
|
|
93
|
+
- commands run
|
|
94
|
+
- anything still unverified
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "JSKIT Review"
|
|
3
|
+
short_description: "Deslop, audit JSKIT fit, and verify a chunk or changeset"
|
|
4
|
+
default_prompt: "Use $jskit-review to run a deslop pass, JSKIT best-practices audit, and verification review on the current JSKIT chunk or whole changeset."
|
|
@@ -44,6 +44,8 @@
|
|
|
44
44
|
- Baseline runtime packages:
|
|
45
45
|
- Optional runtime packages:
|
|
46
46
|
- Generator packages to use:
|
|
47
|
+
- Package-owned workflows to accept as baseline:
|
|
48
|
+
- Package-owned workflows to override or extend:
|
|
47
49
|
|
|
48
50
|
## Implementation Notes
|
|
49
51
|
|
|
@@ -51,7 +53,28 @@
|
|
|
51
53
|
- Non-CRUD pages to scaffold:
|
|
52
54
|
- Custom code areas:
|
|
53
55
|
|
|
56
|
+
## CRUD Planning
|
|
57
|
+
|
|
58
|
+
| CRUD | Operations | List Fields | View Form Shape | Edit/New Form Shape | Notes |
|
|
59
|
+
| --- | --- | --- | --- | --- | --- |
|
|
60
|
+
| | | | | | |
|
|
61
|
+
|
|
62
|
+
## Delivery Plan
|
|
63
|
+
|
|
64
|
+
| Chunk | Goal | Type | Depends on | Done when |
|
|
65
|
+
| --- | --- | --- | --- | --- |
|
|
66
|
+
| | | | | |
|
|
67
|
+
|
|
68
|
+
Chunk notes:
|
|
69
|
+
|
|
70
|
+
- One CRUD is usually one chunk.
|
|
71
|
+
- Platform/auth/shell work may be its own chunk.
|
|
72
|
+
- Each chunk must be independently reviewable and testable.
|
|
73
|
+
|
|
54
74
|
## Verification
|
|
55
75
|
|
|
56
76
|
- Commands to run:
|
|
77
|
+
- Playwright coverage plan:
|
|
78
|
+
- Test auth strategy:
|
|
79
|
+
- UI review expectations:
|
|
57
80
|
- Known open questions:
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Workboard
|
|
2
|
+
|
|
3
|
+
## Request
|
|
4
|
+
|
|
5
|
+
- Request summary:
|
|
6
|
+
- Current stage:
|
|
7
|
+
- Current status:
|
|
8
|
+
|
|
9
|
+
## Scope Snapshot
|
|
10
|
+
|
|
11
|
+
- Platform decisions:
|
|
12
|
+
- Current blueprint path:
|
|
13
|
+
- Current workboard owner:
|
|
14
|
+
|
|
15
|
+
## Chunk Tracker
|
|
16
|
+
|
|
17
|
+
| Chunk | Goal | Status | Deslop | JSKIT Review | UI Review | Verification | Notes |
|
|
18
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
19
|
+
| | | | | | | | |
|
|
20
|
+
|
|
21
|
+
Status guide:
|
|
22
|
+
|
|
23
|
+
- `planned`
|
|
24
|
+
- `active`
|
|
25
|
+
- `implemented`
|
|
26
|
+
- `reviewed`
|
|
27
|
+
- `verified`
|
|
28
|
+
- `done`
|
|
29
|
+
- `blocked`
|
|
30
|
+
|
|
31
|
+
## Current Focus
|
|
32
|
+
|
|
33
|
+
- Active chunk:
|
|
34
|
+
- Next action:
|
|
35
|
+
- Blockers:
|
|
36
|
+
|
|
37
|
+
## Verification Log
|
|
38
|
+
|
|
39
|
+
- Commands run:
|
|
40
|
+
- Playwright status:
|
|
41
|
+
- Remaining unverified:
|
|
42
|
+
|
|
43
|
+
## Notes
|
|
44
|
+
|
|
45
|
+
- Decisions made:
|
|
46
|
+
- Open questions:
|
package/templates/app/AGENTS.md
CHANGED
|
@@ -7,22 +7,47 @@ Read these workflow files in order:
|
|
|
7
7
|
1. `node_modules/@jskit-ai/agent-docs/workflow/app-state.md`
|
|
8
8
|
2. `node_modules/@jskit-ai/agent-docs/workflow/bootstrap.md` if the workspace is empty or no JSKIT app exists yet
|
|
9
9
|
3. `node_modules/@jskit-ai/agent-docs/workflow/scoping.md`
|
|
10
|
-
4. `node_modules/@jskit-ai/agent-docs/workflow/
|
|
11
|
-
5. `node_modules/@jskit-ai/agent-docs/workflow/
|
|
10
|
+
4. `node_modules/@jskit-ai/agent-docs/workflow/workboard.md`
|
|
11
|
+
5. `node_modules/@jskit-ai/agent-docs/workflow/feature-delivery.md`
|
|
12
|
+
6. `node_modules/@jskit-ai/agent-docs/workflow/review.md`
|
|
12
13
|
|
|
13
14
|
Use these references on demand:
|
|
14
15
|
|
|
15
16
|
- `node_modules/@jskit-ai/agent-docs/reference/autogen/KERNEL_MAP.md`
|
|
16
17
|
- `node_modules/@jskit-ai/agent-docs/reference/autogen/README.md`
|
|
17
18
|
- `node_modules/@jskit-ai/agent-docs/guide/agent/index.md`
|
|
18
|
-
- `node_modules/@jskit-ai/agent-docs/guide/
|
|
19
|
+
- `node_modules/@jskit-ai/agent-docs/site/guide/index.md` when compressed guidance is ambiguous or missing nuance
|
|
19
20
|
- `node_modules/@jskit-ai/agent-docs/templates/APP_BLUEPRINT.md`
|
|
21
|
+
- `node_modules/@jskit-ai/agent-docs/templates/WORKBOARD.md`
|
|
22
|
+
- `node_modules/@jskit-ai/agent-docs/skills/jskit-review/SKILL.md` for review passes when your Codex environment supports packaged skills
|
|
20
23
|
|
|
21
24
|
Core rules:
|
|
22
25
|
|
|
23
26
|
- Inspect the workspace before assuming a JSKIT app exists.
|
|
27
|
+
- Before non-trivial edits, print a short visible checkpoint using this format:
|
|
28
|
+
- `Problem: ...`
|
|
29
|
+
- `Fix: ...`
|
|
30
|
+
- `Why this sticks: ...`
|
|
31
|
+
- `Not doing: ...`
|
|
32
|
+
- Keep that checkpoint compact. Do not expand it into a long preamble unless the developer asks for detail.
|
|
24
33
|
- Reuse existing JSKIT helpers and runtime seams before adding new local helpers.
|
|
34
|
+
- A freshly scaffolded JSKIT app can still be in Stage 1. If the app was just created and platform decisions are not settled yet, continue with the initialize workflow before adding runtime packages.
|
|
35
|
+
- Do not treat a missing `config.tenancyMode` line or an untouched minimal scaffold as a final tenancy decision.
|
|
36
|
+
- Do not install tenancy-sensitive packages until Stage 1 decisions are complete and the chosen tenancy is written into `config/public.js`.
|
|
37
|
+
- Treat standard JSKIT package-owned workflows as the default baseline once the relevant package stack is chosen. Do not ask the developer to redesign those flows unless they want overrides, restrictions, or custom additions.
|
|
38
|
+
- Example: if the app is workspace-capable and uses `workspaces-core` plus `workspaces-web`, assume the standard workspace invite flow is part of the baseline package behavior.
|
|
39
|
+
- For baseline package setup, ask plainly for the exact local development values needed for the next install step, but only for the modules or packages that are actually selected.
|
|
40
|
+
- Use the real env var names or option names instead of vague requests for "credentials". Values such as `DB_NAME`, `DB_USER`, `DB_PASSWORD`, `AUTH_SUPABASE_URL`, `AUTH_SUPABASE_PUBLISHABLE_KEY`, and `APP_PUBLIC_URL` are routine setup inputs when the relevant package stack needs them.
|
|
41
|
+
- For CRUD chunks, ask the developer which operations are allowed, which fields belong in the list view if one exists, and the intended look of the view and edit/new forms before generating code.
|
|
42
|
+
- Every user-facing screen must pass a Material Design and Vuetify quality review before the chunk is considered done.
|
|
25
43
|
- Do not implement app features before the blueprint has the database, surfaces, ownership model, and route/screen plan written down.
|
|
44
|
+
- For substantial or multi-chunk work, create or update `.jskit/WORKBOARD.md` as the per-request execution tracker.
|
|
45
|
+
- Break planned work into reviewable chunks before implementing. One CRUD is usually one chunk, but auth/platform setup, shell work, and cross-cutting integrations can be their own chunks.
|
|
46
|
+
- Do not move to the next chunk until the current chunk has passed implementation, deslop review, JSKIT best-practices review, Material Design/Vuetify review, and verification.
|
|
47
|
+
- If a feature spans more than one chunk, run a final whole-changeset deslop pass, JSKIT pass, Material Design/Vuetify pass, and verification pass after the last chunk.
|
|
48
|
+
- Prefer a fresh review agent for chunk and whole-changeset review when the runtime supports delegation.
|
|
49
|
+
- Have that fresh review agent use the packaged `jskit-review` skill when it is available to the runtime.
|
|
50
|
+
- If delegation or skills are unavailable, follow `workflow/review.md` manually in the current agent.
|
|
26
51
|
- Use the compressed guide first for speed; fall back to the human guide when a workflow trap, migration caveat, or architectural boundary needs exact wording.
|
|
27
52
|
- Treat generated reference maps and guide copies as vendor reference. Do not edit them manually.
|
|
28
53
|
|
package/workflow/app-state.md
CHANGED
|
@@ -28,6 +28,7 @@ State handling:
|
|
|
28
28
|
- Explain which scaffold markers are missing.
|
|
29
29
|
- Recover or finish the scaffold instead of re-initializing from scratch.
|
|
30
30
|
- `jskit_app`
|
|
31
|
-
-
|
|
31
|
+
- If this is a fresh minimal scaffold and Stage 1 platform decisions are not settled yet, continue with the initialize workflow first.
|
|
32
|
+
- Otherwise continue with scoping or feature delivery.
|
|
32
33
|
|
|
33
34
|
This state gate is intentionally strict. The agent must inspect first and only then choose initialize, recover, or extend.
|
package/workflow/bootstrap.md
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
# Initialize Workflow
|
|
2
2
|
|
|
3
|
-
Use this
|
|
3
|
+
Use this when:
|
|
4
|
+
|
|
5
|
+
- the app state gate resolves to `empty`
|
|
6
|
+
- the user explicitly wants a brand-new JSKIT app in a new directory
|
|
7
|
+
- or a fresh minimal JSKIT scaffold exists but Stage 1 platform decisions are not settled yet
|
|
8
|
+
|
|
9
|
+
Safe bootstrap paths:
|
|
10
|
+
|
|
11
|
+
1. Empty directory path
|
|
12
|
+
- Ask the Stage 1 platform questions first.
|
|
13
|
+
- Once the high-level shape is clear, run `create-app` with the chosen tenancy mode.
|
|
14
|
+
2. Fresh scaffold path
|
|
15
|
+
- If the app was just created with `npx @jskit-ai/create-app <app-name>` and `npm install`, treat that scaffold as provisional.
|
|
16
|
+
- Ask the Stage 1 platform questions before adding tenancy-sensitive packages.
|
|
17
|
+
- If the chosen tenancy is `personal` or `workspaces`, write it into `config/public.js` before installing workspace packages.
|
|
18
|
+
- Once a baseline package stack is chosen, assume its standard package-owned workflows unless the developer asks for overrides.
|
|
19
|
+
|
|
20
|
+
Important constraint:
|
|
21
|
+
|
|
22
|
+
- Do not install tenancy-sensitive packages while tenancy is still provisional.
|
|
23
|
+
- In practice, that means `workspaces-core` and `workspaces-web` must wait until the Stage 1 tenancy decision is complete.
|
|
24
|
+
- A missing `config.tenancyMode` line behaves like `none` at runtime. Treat it as provisional only if no tenancy-sensitive package install has happened yet.
|
|
4
25
|
|
|
5
26
|
Version 0 sketch:
|
|
6
27
|
|
|
@@ -11,7 +32,20 @@ Version 0 sketch:
|
|
|
11
32
|
- database engine: MySQL or Postgres
|
|
12
33
|
- auth provider, with Supabase as the default documented path
|
|
13
34
|
- whether the first baseline should include workspaces, realtime, or assistant
|
|
14
|
-
3.
|
|
35
|
+
3. Treat Stage 1 as a package-stack decision, not a blank-slate workflow design exercise.
|
|
36
|
+
4. Once those high-level choices are clear, continue into deeper scoping questions later.
|
|
37
|
+
|
|
38
|
+
Ask setup values plainly:
|
|
39
|
+
|
|
40
|
+
- Only ask for setup values that correspond to the modules or packages already chosen for the baseline.
|
|
41
|
+
- When the next package install needs concrete local development values, ask for them directly using the exact env var names or option names.
|
|
42
|
+
- Do not hide behind vague requests for "credentials" or "values after that boundary".
|
|
43
|
+
- In this workflow, these are routine setup inputs:
|
|
44
|
+
- If the MySQL runtime is selected: `DB_NAME`, `DB_USER`, `DB_PASSWORD`
|
|
45
|
+
- If the MySQL host or port differs from the local default `127.0.0.1:3306`: `DB_HOST`, `DB_PORT`
|
|
46
|
+
- If Supabase auth is selected: `AUTH_SUPABASE_URL`, `AUTH_SUPABASE_PUBLISHABLE_KEY`
|
|
47
|
+
- If browser-facing auth callbacks are relevant: confirm whether `APP_PUBLIC_URL` should stay `http://localhost:5173`
|
|
48
|
+
- Ask in plain language and continue once the developer provides the values.
|
|
15
49
|
|
|
16
50
|
Baseline expectations after initialization:
|
|
17
51
|
|
|
@@ -19,6 +53,7 @@ Baseline expectations after initialization:
|
|
|
19
53
|
- install the baseline runtime packages in the documented order
|
|
20
54
|
- install dependencies
|
|
21
55
|
- run database migrations when the chosen package set requires them
|
|
56
|
+
- use the standard packaged workflows that come with those packages unless the blueprint records an override
|
|
22
57
|
- leave the app in a reproducible, verified baseline state
|
|
23
58
|
|
|
24
|
-
Do not improvise package order. Use the distributed guide chapters under `guide/agent/app-setup/` or `guide/
|
|
59
|
+
Do not improvise package order. Use the distributed guide chapters under `guide/agent/app-setup/` or `site/guide/app-setup/`.
|
|
@@ -1,21 +1,63 @@
|
|
|
1
1
|
# Feature Delivery Workflow
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Before implementation, break the planned work into chunks.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
Chunk rules:
|
|
6
|
+
|
|
7
|
+
- One CRUD is usually one chunk.
|
|
8
|
+
- Platform setup, shell/navigation, and cross-cutting integrations may be separate chunks.
|
|
9
|
+
- A chunk must be independently reviewable and testable.
|
|
10
|
+
- If a chunk is too broad to review confidently, split it before coding.
|
|
11
|
+
|
|
12
|
+
For each chunk, follow this order:
|
|
13
|
+
|
|
14
|
+
1. Scope the chunk inside the blueprint.
|
|
15
|
+
2. Mark the chunk as active in `.jskit/WORKBOARD.md`.
|
|
16
|
+
3. Decide whether it is:
|
|
7
17
|
- package install
|
|
8
18
|
- generator scaffolding
|
|
9
19
|
- custom local code
|
|
10
20
|
- or a combination
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
21
|
+
4. Implement the smallest correct change.
|
|
22
|
+
5. Deslop the chunk.
|
|
23
|
+
6. Review the chunk against JSKIT reuse and best practices.
|
|
24
|
+
7. Review user-facing screens against Material Design and Vuetify best practices, and improve any screens that do not meet that bar.
|
|
25
|
+
8. Verify the chunk with the relevant commands, including Playwright for meaningful UI flows.
|
|
26
|
+
9. Update `.jskit/WORKBOARD.md` with status, commands run, and anything still unverified.
|
|
27
|
+
10. Only then move to the next chunk.
|
|
28
|
+
|
|
29
|
+
For CRUD chunks:
|
|
30
|
+
|
|
31
|
+
1. Decide the table shape first.
|
|
32
|
+
2. If `crud-server-generator` is going to own the CRUD schema, do not hand-write a separate migration for that CRUD table.
|
|
33
|
+
3. Scaffold the server side first with `crud-server-generator`.
|
|
34
|
+
4. Only after the shared resource file exists, scaffold the client side against that resource.
|
|
35
|
+
5. Do not guess CRUD operations or screen shape. Ask the developer:
|
|
36
|
+
- which operations are allowed
|
|
37
|
+
- which fields belong in the list view if one exists
|
|
38
|
+
- what the view form should look like
|
|
39
|
+
- what the edit/new form should look like
|
|
15
40
|
|
|
16
41
|
During implementation:
|
|
17
42
|
|
|
18
43
|
- Prefer existing JSKIT helpers over local helper duplication.
|
|
44
|
+
- If a selected JSKIT package already ships the required baseline workflow, install and verify that workflow before inventing custom code around it.
|
|
45
|
+
- Ask only about overrides, restrictions, or app-specific additions to packaged baseline workflows.
|
|
19
46
|
- Use generated CRUD/UI scaffolds only after the route and ownership model are decided.
|
|
20
47
|
- Keep runtime, UI, and data concerns separated.
|
|
21
48
|
- Avoid “while I’m here” scope creep unless it is required for correctness.
|
|
49
|
+
|
|
50
|
+
After the last chunk:
|
|
51
|
+
|
|
52
|
+
- If there was only one chunk, the chunk review is the final review.
|
|
53
|
+
- If there was more than one chunk, run one more whole-changeset pass:
|
|
54
|
+
- deslop the whole changeset
|
|
55
|
+
- review the whole changeset against JSKIT best practices
|
|
56
|
+
- review the whole changeset against Material Design and Vuetify best practices
|
|
57
|
+
- run the widest relevant verification, including Playwright
|
|
58
|
+
- update `.jskit/WORKBOARD.md` with the final result and any remaining gaps
|
|
59
|
+
|
|
60
|
+
Playwright note:
|
|
61
|
+
|
|
62
|
+
- When login is required, prefer a test-only impersonation or session bootstrap path over dependence on a live external auth provider.
|
|
63
|
+
- If such a path does not exist yet, treat that as a testability gap and decide whether the chunk must add it before the feature is considered complete.
|
package/workflow/review.md
CHANGED
|
@@ -1,18 +1,38 @@
|
|
|
1
1
|
# Review Workflow
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Preferred review mode:
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
- Prefer a fresh review agent for chunk and whole-changeset review when the runtime supports delegation.
|
|
6
|
+
- Have that fresh review agent use the packaged `jskit-review` skill when it is available.
|
|
7
|
+
- If delegation or skills are unavailable, follow this file manually in the current agent.
|
|
8
|
+
|
|
9
|
+
Before calling a chunk or a whole changeset done, review it in four passes:
|
|
10
|
+
|
|
11
|
+
1. Deslop review
|
|
12
|
+
- repeated functions or duplicated local helpers
|
|
13
|
+
- helpers reimplemented locally when a kernel/runtime seam already exists
|
|
14
|
+
- placeholder, fake-complete, or vague UI/copy/code structure
|
|
15
|
+
- dead code, unused props/imports, TODO-shaped gaps, or accidental abstractions
|
|
16
|
+
- missing loading, empty, error, permission, or ownership states
|
|
17
|
+
- broken flows, missing route wiring, or missing migrations
|
|
18
|
+
- surface or entity ownership mistakes: `public`, `user`, `workspace`, `workspace_user`
|
|
10
19
|
2. JSKIT review
|
|
11
20
|
- existing helper/runtime seam available?
|
|
12
21
|
- duplicate local code that should reuse kernel/runtime support?
|
|
22
|
+
- should this have been a package install, generator step, or scaffold extension instead of hand code?
|
|
23
|
+
- are surface, route, ownership, and migration choices aligned with JSKIT conventions?
|
|
13
24
|
- package metadata and actual behavior still aligned?
|
|
14
|
-
3.
|
|
15
|
-
-
|
|
25
|
+
3. UI standards review
|
|
26
|
+
- every user-facing screen follows Material Design and Vuetify best practices
|
|
27
|
+
- list screens use clear hierarchy, actions, density, empty states, and table/list patterns
|
|
28
|
+
- view and edit/new screens use clear form grouping, labels, helper text, validation, spacing, and action placement
|
|
29
|
+
- responsive layout, loading, disabled, success, and error states are coherent
|
|
30
|
+
- improve weak screens before sign-off; do not just note the problem and move on
|
|
31
|
+
4. Verification review
|
|
32
|
+
- run the smallest relevant verification commands for a chunk
|
|
33
|
+
- run the widest relevant verification commands for a whole changeset
|
|
34
|
+
- include Playwright for meaningful user-facing flows
|
|
35
|
+
- if login is required, verify the chosen test-auth path or explicitly record that the lack of one is an open gap
|
|
16
36
|
- note anything left unverified
|
|
17
37
|
|
|
18
38
|
Minimum expectation:
|
|
@@ -20,3 +40,8 @@ Minimum expectation:
|
|
|
20
40
|
- list the files changed
|
|
21
41
|
- list the commands run
|
|
22
42
|
- list anything still unverified
|
|
43
|
+
- update `.jskit/WORKBOARD.md` with the review outcome
|
|
44
|
+
|
|
45
|
+
Whole-changeset rule:
|
|
46
|
+
|
|
47
|
+
- If the work was split into more than one chunk, repeat all four passes over the whole changeset after the final chunk is complete.
|
package/workflow/scoping.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Scoping Workflow
|
|
2
2
|
|
|
3
|
-
Before implementing any feature or batch of features,
|
|
3
|
+
Before implementing any feature or batch of features, create or update an app-local working blueprint using `templates/APP_BLUEPRINT.md` as the template.
|
|
4
|
+
|
|
5
|
+
Recommended location:
|
|
6
|
+
|
|
7
|
+
- `.jskit/APP_BLUEPRINT.md`
|
|
8
|
+
- `.jskit/WORKBOARD.md` for per-request progress tracking
|
|
9
|
+
|
|
10
|
+
Do not edit the vendor template in `node_modules/` directly.
|
|
4
11
|
|
|
5
12
|
The blueprint must capture at least:
|
|
6
13
|
|
|
@@ -15,12 +22,26 @@ The blueprint must capture at least:
|
|
|
15
22
|
- package install plan
|
|
16
23
|
- generator plan
|
|
17
24
|
- custom-code areas
|
|
25
|
+
- baseline package-owned workflows and any intended overrides
|
|
26
|
+
- delivery plan broken into chunks
|
|
27
|
+
- CRUD-specific operation and screen decisions where relevant
|
|
18
28
|
|
|
19
29
|
Scoping rules:
|
|
20
30
|
|
|
21
|
-
- Use `guide/agent/index.md` for fast navigation and `guide/
|
|
31
|
+
- Use `guide/agent/index.md` for fast navigation and `site/guide/index.md` for exact details.
|
|
22
32
|
- Inspect packages and generators before choosing them.
|
|
23
33
|
- Decide ownership early; do not treat it as a UI-only detail.
|
|
34
|
+
- If Stage 1 platform choices are still provisional, finish them before installing tenancy-sensitive runtime packages.
|
|
35
|
+
- Record which selected JSKIT package-owned workflows are accepted as baseline and which, if any, need custom behavior.
|
|
36
|
+
- Do not ask the developer to redesign package-owned baseline workflows from scratch. Ask only whether the default behavior is accepted or whether the app needs overrides, restrictions, or extensions.
|
|
37
|
+
- Create or refresh `.jskit/WORKBOARD.md` for substantial or multi-chunk work so the request has an explicit execution tracker.
|
|
38
|
+
- Break delivery into chunks that can be independently reviewed and tested.
|
|
39
|
+
- One CRUD is usually one chunk. Platform setup, shell work, and cross-cutting integrations may also be separate chunks.
|
|
40
|
+
- For each CRUD chunk, decide these before implementation:
|
|
41
|
+
- which operations exist: `list`, `view`, `new`, `edit`, `delete`, or a narrower set
|
|
42
|
+
- which fields appear in the list view if a list exists
|
|
43
|
+
- the intended structure and visual hierarchy of the view form
|
|
44
|
+
- the intended structure and visual hierarchy of the edit/new form
|
|
24
45
|
- If the package/runtime choice is unclear, stop and resolve it before writing implementation code.
|
|
25
46
|
|
|
26
|
-
No feature implementation should start until the blueprint covers database, screens,
|
|
47
|
+
No feature implementation should start until the blueprint covers database, screens, functional boundaries, and chunk plan well enough that the implementation path is obvious.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Workboard Workflow
|
|
2
|
+
|
|
3
|
+
Use a workboard for any substantial request, especially:
|
|
4
|
+
|
|
5
|
+
- new app builds
|
|
6
|
+
- multi-chunk feature work
|
|
7
|
+
- requests that need scoping before coding
|
|
8
|
+
- requests where verification spans several steps
|
|
9
|
+
|
|
10
|
+
Recommended location:
|
|
11
|
+
|
|
12
|
+
- `.jskit/WORKBOARD.md`
|
|
13
|
+
|
|
14
|
+
Use `templates/WORKBOARD.md` as the starting template.
|
|
15
|
+
|
|
16
|
+
Purpose:
|
|
17
|
+
|
|
18
|
+
- track the current request
|
|
19
|
+
- record the current stage and current chunk
|
|
20
|
+
- track chunk status across implementation, deslop, JSKIT review, UI review, and verification
|
|
21
|
+
- record blockers, open questions, and remaining gaps
|
|
22
|
+
|
|
23
|
+
Workboard rules:
|
|
24
|
+
|
|
25
|
+
- The workboard is the execution tracker for the current request.
|
|
26
|
+
- The blueprint remains the durable product and architecture record.
|
|
27
|
+
- Keep the workboard concise and current.
|
|
28
|
+
- Update it when stage, chunk, blockers, or verification state changes.
|
|
29
|
+
- When the request finishes, either reset it for the next request or leave a short final state that makes completion obvious.
|