@jskit-ai/jskit-cli 0.2.96 → 0.2.98

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.
Files changed (31) hide show
  1. package/package.json +4 -4
  2. package/src/server/appBlueprint.js +37 -14
  3. package/src/server/core/argParser.js +0 -12
  4. package/src/server/core/commandCatalog.js +2 -92
  5. package/src/server/core/createCommandHandlers.js +0 -3
  6. package/src/server/index.js +0 -1
  7. package/src/server/{sessionRuntime/prompts → prompts}/app_blueprint.md +1 -1
  8. package/src/server/commandHandlers/session.js +0 -471
  9. package/src/server/sessionRuntime/appReadiness.js +0 -55
  10. package/src/server/sessionRuntime/constants.js +0 -377
  11. package/src/server/sessionRuntime/io.js +0 -97
  12. package/src/server/sessionRuntime/paths.js +0 -163
  13. package/src/server/sessionRuntime/preconditions.js +0 -663
  14. package/src/server/sessionRuntime/promptRenderer.js +0 -41
  15. package/src/server/sessionRuntime/prompts/automated_checks_run.md +0 -28
  16. package/src/server/sessionRuntime/prompts/blueprint_updated.md +0 -29
  17. package/src/server/sessionRuntime/prompts/deep_ui_check_run.md +0 -40
  18. package/src/server/sessionRuntime/prompts/final_comment.md +0 -10
  19. package/src/server/sessionRuntime/prompts/final_report_created.md +0 -44
  20. package/src/server/sessionRuntime/prompts/issue_created.md +0 -26
  21. package/src/server/sessionRuntime/prompts/issue_prompt_rendered.md +0 -1
  22. package/src/server/sessionRuntime/prompts/make_plan.md +0 -57
  23. package/src/server/sessionRuntime/prompts/plan_executed.md +0 -39
  24. package/src/server/sessionRuntime/prompts/pr_failure.md +0 -28
  25. package/src/server/sessionRuntime/prompts/pr_merge_prepared.md +0 -22
  26. package/src/server/sessionRuntime/prompts/review_changes_accepted_resolve.md +0 -12
  27. package/src/server/sessionRuntime/prompts/review_prompt_rendered.md +0 -61
  28. package/src/server/sessionRuntime/prompts/user_check_completed.md +0 -17
  29. package/src/server/sessionRuntime/responses.js +0 -1481
  30. package/src/server/sessionRuntime/worktrees.js +0 -31
  31. package/src/server/sessionRuntime.js +0 -3659
@@ -1,28 +0,0 @@
1
- Run automated checks for JSKIT session {{session_id}}.
2
-
3
- Worktree:
4
-
5
- {{worktree}}
6
-
7
- Command:
8
-
9
- {{check_command}}
10
-
11
- Run the command in the session worktree. If it fails, diagnose the root cause, fix the worktree, and rerun the command. Keep repeating until the command passes or until a real blocker prevents progress.
12
-
13
- Rules:
14
-
15
- - Fix the underlying cause. Do not remove checks, weaken verification, or hide failures to make the command pass.
16
- - Prefer JSKIT-owned helpers, generators, package seams, agent docs, package descriptors, and documented commands over local hacks.
17
- - If a failure involves JSKIT architecture, generator ownership, CRUD, surfaces, placements, client/server contracts, or UI verification, read the relevant docs under `node_modules/@jskit-ai/agent-docs/` or `packages/agent-docs/` before repairing it.
18
- - Use `npx --no-install jskit ...` for JSKIT CLI commands you run directly from the shell.
19
- - Keep fixes scoped to the current issue and worktree.
20
- - Do not create commits, branches, issues, pull requests, merges, or worktree cleanup. JSKIT session owns those steps.
21
-
22
- When finished, report:
23
-
24
- - root cause
25
- - files changed
26
- - final check command and result
27
- - anything still unverified
28
- - any meaningful verification decision, tradeoff, missing coverage, or root-cause note future steps should know
@@ -1,29 +0,0 @@
1
- Update the durable JSKIT app blueprint for session {{session_id}}.
2
-
3
- GitHub issue: {{issue_url}}
4
- Issue number: {{issue_number}}
5
- Issue title: {{issue_title}}
6
- Issue body file: {{issue_file}}
7
- Current blueprint file (`.jskit/APP_BLUEPRINT.md`): {{app_blueprint_file}}
8
- Worktree: {{worktree}}
9
-
10
- Use the accepted issue work to update only durable app/product/architecture memory. Read the current blueprint when present, issue title/body, helper map, package/app metadata, and changed files.
11
-
12
- Changed files since the session base:
13
-
14
- {{changed_files}}
15
-
16
- Rules:
17
-
18
- - Do not use this as task tracking.
19
- - Do not recreate `.jskit/WORKBOARD.md`.
20
- - Do not over-expand tiny issues into broad product rewrites.
21
- - Preserve useful existing blueprint content.
22
- - If `.jskit/APP_BLUEPRINT.md` does not exist, create it.
23
- - Edit `.jskit/APP_BLUEPRINT.md` directly in the worktree.
24
- - Add durable facts, architecture decisions, surfaces, routes, data ownership, package choices, and verification-relevant app behavior that future sessions should know.
25
- - Keep the result concise enough to remain useful over many issues.
26
- - Do not edit files other than `.jskit/APP_BLUEPRINT.md`.
27
- - Do not commit, branch, push, create PRs, merge, or clean up worktrees.
28
-
29
- When finished, summarize the blueprint changes, or why no blueprint update was needed.
@@ -1,40 +0,0 @@
1
- Deep UI quality check for JSKIT session {{session_id}}.
2
-
3
- Phase: {{phase}}
4
- GitHub issue: {{issue_url}}
5
- Issue number: {{issue_number}}
6
- Issue title: {{issue_title}}
7
- Issue body file: {{issue_file}}
8
- Worktree: {{worktree}}
9
-
10
- Changed files since the session base:
11
-
12
- {{changed_files}}
13
-
14
- Run a focused UI quality pass for the current worktree. If this is not UI-impacting after inspection, say exactly why and do not edit files. If the issue touches UI, inspect the changed routes, views, components, placements, layouts, and styles.
15
-
16
- Before changing user-facing JSKIT UI, read the relevant JSKIT agent docs when available: `node_modules/@jskit-ai/agent-docs/patterns/ui-testing.md`, `node_modules/@jskit-ai/agent-docs/patterns/page-scaffolding.md`, `node_modules/@jskit-ai/agent-docs/patterns/placements.md`, and `node_modules/@jskit-ai/agent-docs/patterns/surfaces.md`. If working inside the JSKIT monorepo or a devlinked sibling, use the equivalent `packages/agent-docs/...` paths.
17
-
18
- Check:
19
-
20
- - Material Design quality.
21
- - Vuetify best practices.
22
- - visual hierarchy and density.
23
- - spacing and alignment.
24
- - responsive behavior on mobile, tablet, and desktop.
25
- - loading, empty, error, disabled, and success states where relevant.
26
- - accessibility basics.
27
- - route and navigation coherence.
28
- - consistency with the existing app style.
29
-
30
- When clear scoped UI issues exist, fix them in the worktree. Keep fixes limited to the issue.
31
-
32
- Use Playwright for a meaningful route check when possible. If login is required, use a development-only auth bootstrap path. When possible, record UI verification with:
33
-
34
- `npx --no-install jskit app verify-ui --command "<playwright command>" --feature "<label>" --auth-mode <mode>`
35
-
36
- Important: `npx --no-install jskit app verify-ui` does not start the app server. Before running it, make sure the app is reachable by Playwright. If a local server is needed, inspect `.jskit/config/testrun_command` when present and use the app's documented server command, or start the server explicitly and wait for it before invoking `verify-ui`. Do not first run a bare Playwright command against a stopped server.
37
-
38
- Do not create commits, branches, issues, pull requests, merges, or worktree cleanup. JSKIT session owns those steps.
39
-
40
- When finished, summarize UI findings, fixes, verification, why no UI work applied, and any meaningful UI verification gaps.
@@ -1,10 +0,0 @@
1
- Codex thread id: {{codex_thread_id}}
2
- Issue session status: finished
3
- PR: {{pr_url}}
4
- PR outcome: {{pr_outcome}}
5
- Outcome reason: {{pr_outcome_reason}}
6
- Local transcript: {{transcript_log}}
7
-
8
- Summary:
9
-
10
- Session {{session_id}} finished with PR outcome `{{pr_outcome}}`.
@@ -1,44 +0,0 @@
1
- You are preparing the pull request draft for JSKIT session {{session_id}}.
2
-
3
- Write the pull request body to this exact file:
4
-
5
- {{pull_request_file}}
6
-
7
- Context:
8
- - Worktree: {{worktree}}
9
- - Issue: {{issue_url}}
10
- - Issue title: {{issue_title}}
11
- - Issue file: {{issue_file}}
12
- - Base branch: {{base_branch}}
13
-
14
- Files changed:
15
- {{files_changed}}
16
-
17
- Commits:
18
- {{commits}}
19
-
20
- Checks:
21
- {{checks}}
22
-
23
- UI checks:
24
- {{ui_checks}}
25
-
26
- Review passes:
27
- {{review_passes}}
28
-
29
- User check:
30
- {{user_check}}
31
-
32
- Blueprint:
33
- {{blueprint_status}}
34
-
35
- Command log:
36
- {{command_log}}
37
-
38
- Requirements:
39
- - Write only `pull_request.md` at the path above.
40
- - Do not create a GitHub pull request.
41
- - Do not run `gh`, `git push`, `git commit`, merge, or clean up the worktree.
42
- - Include any closing issue reference needed for GitHub to close the issue.
43
- - Keep the body useful to a reviewer: summary, key changes, verification, and any known gaps.
44
- - When done, briefly summarize that the file was written.
@@ -1,26 +0,0 @@
1
- Create the canonical issue files from the scoped issue discussion in this Codex thread.
2
-
3
- Canonical issue body file to write: {{issue_file}}
4
- Canonical issue title file to write: {{issue_title_file}}
5
-
6
- Use the issue definition and scoping conversation that just happened in this terminal. If something is still materially unclear, ask the user before writing the files.
7
-
8
- Do not create a GitHub issue.
9
- Do not implement the change.
10
- Do not edit app code.
11
- Do not run generators, tests, installs, `gh`, `git add`, `git commit`, `git push`, or JSKIT workflow mutation commands.
12
-
13
- Write:
14
-
15
- - A short issue title to `{{issue_title_file}}`.
16
- - A concrete, implementation-ready issue body to `{{issue_file}}`.
17
-
18
- The issue body should include:
19
-
20
- - The requested change or bug clearly stated.
21
- - The accepted scope.
22
- - Important exclusions or non-goals.
23
- - Relevant implementation boundaries.
24
- - Acceptance criteria when useful.
25
-
26
- After writing the files, show the title and body in the terminal for user review.
@@ -1 +0,0 @@
1
- You are helping the user define this issue before implementation. Treat the request above as the starting point and keep returning to it when deciding scope, exclusions, and acceptance criteria. Your job is to turn the request into a clear, scoped, implementation-ready issue through conversation. Be helpful to the user. Be a good software engineer who understands both the app being developed and the JSKIT framework being used, and provide practical advice that improves the issue before implementation starts. Do not create files. Do not write `issue.md`. Do not write `issue_title`. Do not create a GitHub issue. Do not implement the change. Do not edit app code. Do not run generators, tests, installs, `gh`, `git add`, `git commit`, `git push`, or JSKIT workflow mutation commands. You may inspect the app read-only when it helps scope the issue: use commands such as `pwd`, `ls`, `find`, `rg`, `cat`, `sed`, and `git status`; read package.json, `.jskit/lock.json`, config, routes, packages, source files, `.jskit/APP_BLUEPRINT.md`, and `.jskit/helper-map.md` when available; use non-mutating JSKIT inspection commands when available and relevant, such as `npx --no-install jskit list`, `npx --no-install jskit show <package> --details`, and `npx --no-install jskit list-placements`; if `jskit` is not on PATH, or `npx --no-install jskit ...` fails because a linked/devlinked JSKIT CLI cannot resolve a package such as `@jskit-ai/kernel`, treat that as a local development environment limitation and continue with filesystem inspection instead of trying to repair PATH, reinstall packages, publish packages, edit devlinks, or advance the JSKIT session; prefer JSKIT agent docs over reverse-engineering framework architecture from source files, starting with `node_modules/@jskit-ai/agent-docs/DISTR_AGENT.md`, `node_modules/@jskit-ai/agent-docs/guide/agent/index.md`, and `node_modules/@jskit-ai/agent-docs/patterns/INDEX.md` when present, or `packages/agent-docs/...` when working inside the JSKIT monorepo or a devlinked sibling. Only run shell commands when inspecting the app. Do not run `printf`, `echo`, `cat`, heredocs, or similar commands merely to display your own summary or communicate with the user. Engage with the user meaningfully: restate what you think the user wants; identify ambiguities, hidden constraints, and likely ownership boundaries; ask focused questions only when the answer would materially change scope or implementation; suggest a practical scope if the request is too broad; call out what should be excluded from this issue; and when the issue is clear enough, respond normally in the Codex conversation with the agreed scope, acceptance criteria, and any important implementation boundaries. Stop there. The user will continue to the next JSKIT step when they are satisfied with the scoped issue.
@@ -1,57 +0,0 @@
1
- Create an implementation plan for JSKIT session {{session_id}}.
2
-
3
- GitHub issue: {{issue_url}}
4
- Issue number: {{issue_number}}
5
- Issue title: {{issue_title}}
6
- Issue body file: {{issue_file}}
7
- Issue title file: {{issue_title_file}}
8
- App blueprint file (`.jskit/APP_BLUEPRINT.md`): {{app_blueprint_file}}
9
- Worktree: {{worktree}}
10
-
11
- This planning step is read-only for app code. Do not edit app files, create commits, create branches, create issues, create pull requests, merge, or clean worktrees.
12
-
13
- Create the plan from the issue and local app. Use the issue files, package.json, .jskit metadata, config, packages, routes, generated references, package docs, any saved app blueprint, and `.jskit/helper-map.md` when available.
14
-
15
- Before deriving JSKIT architecture from source files, read the package-owned agent docs that apply to this work. Start with `node_modules/@jskit-ai/agent-docs/DISTR_AGENT.md`, `node_modules/@jskit-ai/agent-docs/guide/agent/index.md`, and `node_modules/@jskit-ai/agent-docs/patterns/INDEX.md` when present. If the worktree is the JSKIT monorepo or a devlinked sibling, use the equivalent `packages/agent-docs/...` paths. Then read the specific pattern docs needed for the lane, such as `patterns/crud-scaffolding.md`, `patterns/crud-repository-mapping.md`, `patterns/page-scaffolding.md`, `patterns/placements.md`, `patterns/surfaces.md`, `patterns/client-requests.md`, `patterns/live-actions.md`, `patterns/generated-ui-contract-tracking.md`, or `patterns/ui-testing.md`.
16
-
17
- If these docs are unavailable, continue with app inspection and say that the agent docs were unavailable. Do not compensate by inventing framework rules from isolated source files.
18
-
19
- Start by identifying the implementation lane:
20
-
21
- - package install
22
- - generator scaffolding
23
- - custom local code
24
- - a combination of those
25
-
26
- Planning rules:
27
-
28
- - Keep the plan scoped to the issue. Avoid "while I am here" work.
29
- - If details are insufficient, say exactly what is missing instead of inventing foundational details.
30
- - Prefer vertical slices that produce visible or end-to-end progress.
31
- - If the work is too broad to review confidently, split it into clear chunks.
32
- - Make generator decisions concrete. Name the exact `npx --no-install jskit` commands to run when a generator or package install applies.
33
- - Base JSKIT lane and generator decisions on the agent docs and package descriptors first, then verify against the local codebase.
34
- - For non-CRUD route page work, plan to check `npx --no-install jskit show ui-generator --details` and `npx --no-install jskit list-placements` before hand-writing pages or placement entries.
35
- - For CRUD work, plan server ownership first. Name the `npx --no-install jskit generate crud-server-generator scaffold ...` command before any CRUD UI plan.
36
- - For CRUD-owned tables, plan around the real database table shape. Do not plan a separate hand-written migration for a table that `crud-server-generator` will own.
37
- - Every persisted app-owned table should have generated/package CRUD ownership unless there is a narrow explicit exception.
38
- - Do not hand-build CRUD routes, CRUD endpoints, or CRUD page trees before the server CRUD package and shared resource file exist.
39
- - `feature-server-generator` is for non-CRUD workflows and orchestration, not ordinary persisted entity tables.
40
- - Keep runtime, UI, and data concerns separated.
41
- - Before planning new helpers, composables, service functions, maps, or package glue, check `.jskit/helper-map.md` when it exists and prefer existing entries.
42
- - Keep direct knex exceptional and minimal. Prefer internal json-rest-api seams outside generated CRUD packages and explicit weird-custom feature lanes.
43
- - For package-owned baseline workflows, plan to install and verify the baseline before inventing custom code around it.
44
- - For user-facing UI, include Material/Vuetify quality expectations and a Playwright verification path.
45
- - If login is required for UI verification, plan for a development-only auth bootstrap path instead of live external auth.
46
- - Do not create or update the old `.jskit/WORKBOARD.md` workflow. JSKIT session state, issue text, terminal transcript, and commits are the tracker.
47
-
48
- If setup values are needed, ask plainly using exact env var or option names. For example: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, DB_PORT, AUTH_SUPABASE_URL, AUTH_SUPABASE_PUBLISHABLE_KEY, APP_PUBLIC_URL.
49
-
50
- If the issue is not clear enough to plan safely, ask the user concise follow-up questions first.
51
-
52
- When the plan is ready:
53
-
54
- - Present the final plan and any new decisions clearly in the terminal for the user to review.
55
- - Do not write a plan file.
56
-
57
- Keep the plan concrete and implementation-oriented. Include likely files or areas to touch, ordered steps, generator commands to consider, review expectations, and checks that should be run.
@@ -1,39 +0,0 @@
1
- Execute the approved implementation plan for JSKIT session {{session_id}}.
2
-
3
- GitHub issue: {{issue_url}}
4
- Issue number: {{issue_number}}
5
- Issue title: {{issue_title}}
6
- Issue body file: {{issue_file}}
7
- Worktree: {{worktree}}
8
-
9
- Implement the plan that was just reviewed in this Codex conversation. If the plan is not visible in the current terminal context, first make a concise plan from the issue, then execute it. Keep the change scoped to the issue.
10
-
11
- Implementation rules:
12
-
13
- - Inspect the current app before editing. App setup has already passed; if required JSKIT app files are missing, report setup failure rather than inventing recovery work.
14
- - Follow `{{issue_file}}`. If the request is ambiguous, ask for clarification before changing files.
15
- - Before implementing JSKIT app structure, generators, CRUD, surfaces, placements, app setup, package-owned workflows, or UI verification paths, read the relevant JSKIT agent docs. Start with `node_modules/@jskit-ai/agent-docs/DISTR_AGENT.md`, `node_modules/@jskit-ai/agent-docs/guide/agent/index.md`, and `node_modules/@jskit-ai/agent-docs/patterns/INDEX.md` when present. If working inside the JSKIT monorepo or a devlinked sibling, use `packages/agent-docs/...` as the source-tree equivalent.
16
- - Read specific pattern docs before touching their lane, such as CRUD scaffolding/repository mapping, page scaffolding, surfaces, placements, client requests, live actions, generated UI contract tracking, and UI testing. Prefer these docs and package descriptors over reverse-engineering framework rules from source files.
17
- - Read `.jskit/helper-map.md` when it exists before creating helpers, composables, service functions, maps, or package glue.
18
- - Prefer existing JSKIT helpers, app-local helpers, package runtime seams, generated scaffolds, and documented generators over new local helpers.
19
- - If the plan calls for a generator or package install, use the planned `npx --no-install jskit` command unless inspection proves it does not apply. If you skip a generator, explain the exact gap.
20
- - For non-CRUD route pages, use `npx --no-install jskit generate ui-generator page ...` when it fits instead of hand-writing both route files and placement entries.
21
- - For CRUD work, scaffold the server side first with `crud-server-generator` before CRUD UI or CRUD route work.
22
- - Do not hand-write a separate CRUD migration for a table owned by `crud-server-generator`.
23
- - Do not hand-build CRUD endpoints or page trees before the server CRUD package and shared resource file exist.
24
- - Keep direct knex exceptional and minimal. Prefer internal json-rest-api seams outside generated CRUD packages and explicit weird-custom feature lanes.
25
- - Keep runtime, UI, and data concerns separated.
26
- - Avoid accidental scope expansion.
27
- - Do not create `.jskit/WORKBOARD.md`; the session files are the workflow record.
28
- - If user-facing UI changes, bring the screen to Material Design and Vuetify quality before calling it done. Include coherent responsive layout, loading, empty, error, disabled, and success states where relevant.
29
- - If verification needs login, use the app's local development auth bootstrap path rather than a live external auth login.
30
-
31
- After making changes:
32
-
33
- - Review for repeated code, unnecessary helpers, fragmented functions, placeholder work, missing states, broken route wiring, ownership mistakes, and weak JSKIT reuse.
34
- - Run the smallest relevant checks you can run safely in the worktree.
35
- - For changed user-facing UI, run or clearly identify the Playwright verification path. When possible, record UI verification with `npx --no-install jskit app verify-ui --command "<playwright command>" --feature "<label>" --auth-mode <mode>`.
36
- - `npx --no-install jskit app verify-ui` does not start the app server. Before using it for Playwright, make sure the app is reachable. If a local server is needed, inspect `.jskit/config/testrun_command` when present and use the app's documented server command, or start the server explicitly and wait for it before invoking `verify-ui`. Do not first run a bare Playwright command against a stopped server.
37
- - Summarize changed files, checks run, and any important implementation decisions or verification gaps in the terminal.
38
-
39
- Do not create commits, branches, issues, pull requests, merges, or worktree cleanup yourself. JSKIT session will handle those steps.
@@ -1,28 +0,0 @@
1
- The JSKIT session PR operation failed.
2
-
3
- Session:
4
-
5
- {{session_id}}
6
-
7
- Worktree:
8
-
9
- {{worktree}}
10
-
11
- Failure output:
12
-
13
- {{doctor_output}}
14
-
15
- Diagnose the failure and fix only what is required in this worktree.
16
-
17
- Check for:
18
-
19
- - missing or wrong GitHub remote
20
- - missing GitHub auth
21
- - branch push failure
22
- - PR body/title issue
23
- - stale local git state
24
- - rejected merge or failing required checks
25
-
26
- Use repository-portable repairs only. Do not hard-code local paths or credentials. Do not create a parallel manual workflow around the JSKIT session.
27
-
28
- Do not push, open a PR, merge, or remove the worktree unless JSKIT Studio or the JSKIT session step explicitly instructs it. Report root cause, changed files, commands run, and remaining risk.
@@ -1,22 +0,0 @@
1
- Prepare the JSKIT session pull request for merge.
2
-
3
- Session: {{session_id}}
4
- Worktree: {{worktree}}
5
- Target root: {{target_root}}
6
- Branch: {{branch}}
7
- Base branch: {{base_branch}}
8
- Pull request: {{pr_url}}
9
- Issue: {{issue_url}}
10
- Pull request file: {{pull_request_file}}
11
-
12
- Your job is to do whatever is needed, within the session scope, to get the pull request into a state where the user can press the JSKIT Merge button.
13
-
14
- Required boundaries:
15
-
16
- - Inspect the pull request state, checks, and branch status.
17
- - Resolve merge conflicts or failing checks if the fix is clear and in scope.
18
- - Commit and push any preparation changes to the session branch.
19
- - Do not merge the pull request.
20
- - Do not remove the worktree, archive the session, update the local base branch, or write JSKIT session state. JSKIT owns deterministic cleanup after the user decides.
21
-
22
- When you are done, summarize what you checked, what changed, and whether you believe the PR is ready for the user to merge.
@@ -1,12 +0,0 @@
1
- Resolve the important findings from the latest deslop review in this conversation.
2
-
3
- Fix only those findings. Keep scope tight. Do not create commits, branches, issues, pull requests, merges, or worktree cleanup.
4
-
5
- Use existing JSKIT helpers, generators, package seams, and app-local helpers where they fit. Do not introduce helper churn or unrelated refactors while resolving these findings.
6
-
7
- When finished:
8
-
9
- - Summarize the exact findings fixed.
10
- - List changed files.
11
- - List checks run, or say why checks were not run.
12
- - Wait for the next review prompt.
@@ -1,61 +0,0 @@
1
- Review changes for session {{session_id}}.
2
-
3
- Review pass: {{review_pass_number}}.
4
-
5
- Changed files in the current session worktree:
6
-
7
- {{changed_files}}
8
-
9
- Review the current worktree changes, but do not silently fix everything you find unless the user explicitly sends the resolve deslop prompt.
10
-
11
- Inspect the worktree and produce a short, prioritized list of important findings. The answer should be conversational and useful for the user to read; the user will decide what happens next.
12
-
13
- Use priorities this way:
14
-
15
- - `high`: correctness, broken flow, data loss, security, route/runtime breakage, or serious JSKIT ownership/generator mistake.
16
- - `medium`: maintainability, meaningful duplication, missing required state, weak JSKIT reuse, important verification gap, or visible UI quality issue inside the requested scope.
17
- - `low`: polish, optional cleanup, copy tuning, minor test expansion, or judgment-call improvements the user should decide on.
18
-
19
- If the user later sends the resolve deslop prompt, fix the important findings from this deslop review in the current worktree. After fixing them, summarize what changed and wait for the next review prompt.
20
-
21
- If there are no important findings, say so explicitly and do not make cosmetic churn.
22
-
23
- Use four passes:
24
-
25
- 1. Deslop review
26
- - repeated functions or duplicated local helpers
27
- - helpers reimplemented locally when a kernel/runtime seam already exists
28
- - helpers reimplemented locally when `.jskit/helper-map.md` already lists a usable app-local helper or JSKIT export
29
- - placeholder, fake-complete, or vague UI/copy/code structure
30
- - dead code, unused props/imports, TODO-shaped gaps, or accidental abstractions
31
- - missing loading, empty, error, permission, or ownership states
32
- - broken flows, missing route wiring, missing migrations, or stale generated metadata
33
- - surface or entity ownership mistakes: public, user, workspace, workspace_user
34
- 2. JSKIT review
35
- - were relevant `@jskit-ai/agent-docs` guide or pattern docs consulted before inferring JSKIT architecture from source?
36
- - existing helper/runtime seam available?
37
- - was `.jskit/helper-map.md` checked before introducing helper-like code?
38
- - should this have been a package install, generator step, or scaffold extension instead of hand code?
39
- - if a generator existed, was the exact `npx --no-install jskit` command used or was the gap documented?
40
- - for CRUD work, was `crud-server-generator scaffold` used before CRUD UI or CRUD route hand-coding?
41
- - for CRUD-owned tables, did the change avoid a separate hand-written CRUD migration?
42
- - does every live app-owned table have generated/package CRUD ownership or a narrow explicit exception?
43
- - is direct app-owned knex usage limited to generated CRUD packages or explicit weird-custom feature lanes?
44
- - are surface, route, ownership, package metadata, and migration choices aligned with JSKIT conventions?
45
- 3. UI standards review
46
- - user-facing screens follow Material Design and Vuetify best practices
47
- - list screens have clear hierarchy, actions, density, empty states, and table/list patterns
48
- - view and edit/new screens have clear grouping, labels, helper text, validation, spacing, and action placement
49
- - responsive layout, loading, disabled, success, and error states are coherent
50
- - improve weak screens before sign-off when the fix is scoped
51
- 4. Verification review
52
- - run the smallest relevant verification commands for the changed scope
53
- - any changed user-facing UI should be exercised with Playwright when possible
54
- - UI verification should normally be recorded through `npx --no-install jskit app verify-ui`
55
- - `npx --no-install jskit app verify-ui` does not start the app server; if Playwright needs a local server, inspect `.jskit/config/testrun_command` when present and start or wrap the documented server command before invoking `verify-ui`
56
- - if login is required, use the chosen local test-auth path instead of live external auth
57
- - if there is no usable local auth bootstrap path, record it as a blocking testability gap
58
-
59
- Do not create commits, branches, pull requests, merges, or worktree cleanup yourself. JSKIT session owns those steps.
60
-
61
- When finished, report the findings considered, fixes made during this pass if any, changed files, checks run, and anything still unverified. If there are no important findings, say so explicitly and list residual risk.
@@ -1,17 +0,0 @@
1
- Complete user check for session {{session_id}}.
2
-
3
- Issue: {{issue_url}}
4
- Issue title: {{issue_title}}
5
- Issue body file: {{issue_file}}
6
-
7
- The code should already be built or runnable according to the implementation instructions.
8
-
9
- Ask the user to test the changed behavior in the app and report whether it works as intended. Be specific about the user-visible behavior, route, command, or workflow to inspect.
10
-
11
- If the user finds a problem, diagnose the root cause and fix it in this worktree. Keep the fix scoped. Reuse JSKIT helpers, generated seams, and package workflows where they apply.
12
-
13
- If the behavior works, tell the user to run:
14
-
15
- npx --no-install jskit session {{session_id}} step --user-check passed
16
-
17
- Do not commit, push, create a PR, merge, or clean up the worktree yourself. JSKIT session owns those steps.