@mriekki/project-forge 0.0.0-stage → 2.0.0

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 (117) hide show
  1. package/README.md +134 -2
  2. package/assets/components.json +33 -0
  3. package/assets/core/distribution.json +66 -0
  4. package/assets/deployment/distribution.json +54 -0
  5. package/assets/generated/ASSEMBLY.json +557 -0
  6. package/assets/generated/core/core/agents/coach.agent.md +69 -0
  7. package/assets/generated/core/core/agents/reviewer.agent.md +85 -0
  8. package/assets/generated/core/core/instructions/project-forge-docs.instructions.md +45 -0
  9. package/assets/generated/core/core/instructions/project-forge-workflow.instructions.md +79 -0
  10. package/assets/generated/core/core/learning/CODING_DRILLS.md +35 -0
  11. package/assets/generated/core/core/learning/DIAGRAM_GUIDE.md +59 -0
  12. package/assets/generated/core/core/learning/ENGINEERING_LEARNING_WORKBOOK.md +108 -0
  13. package/assets/generated/core/core/learning/LEARNING_MAP.md +108 -0
  14. package/assets/generated/core/core/learning/LEARNING_PROGRESS.md +39 -0
  15. package/assets/generated/core/core/learning/RESOURCE_CATALOG.md +25 -0
  16. package/assets/generated/core/core/learning/SQL_DRILLS.md +90 -0
  17. package/assets/generated/core/core/learning/SYSTEM_DESIGN_DRILLS.md +301 -0
  18. package/assets/generated/core/core/process/COACHING_GUIDE.md +92 -0
  19. package/assets/generated/core/core/process/DATABASE_LEARNING_WORKBENCH.md +397 -0
  20. package/assets/generated/core/core/process/DEPLOYMENT_ENABLEMENT.md +166 -0
  21. package/assets/generated/core/core/process/GUIDED_NEXT_STEPS.md +48 -0
  22. package/assets/generated/core/core/process/HUMAN_GATES.md +83 -0
  23. package/assets/generated/core/core/process/INTERACTIVE_SESSION_GUIDE.md +64 -0
  24. package/assets/generated/core/core/process/PROJECT_DOCUMENTATION_FRAMEWORK.md +326 -0
  25. package/assets/generated/core/core/process/PROJECT_FORGE_ENGINEERING_GUIDE.md +308 -0
  26. package/assets/generated/core/core/process/PR_WORKFLOW.md +55 -0
  27. package/assets/generated/core/core/process/SETUP_ACCEPTANCE_CHECKLIST.md +72 -0
  28. package/assets/generated/core/core/process/SYSTEM_DESIGN_LEARNING_WORKBENCH.md +520 -0
  29. package/assets/generated/core/core/process/WORK_ITEM_MODEL.md +56 -0
  30. package/assets/generated/core/core/skills/cleanup-branches/SKILL.md +190 -0
  31. package/assets/generated/core/core/skills/coach/SKILL.md +174 -0
  32. package/assets/generated/core/core/skills/code-walkthrough/SKILL.md +197 -0
  33. package/assets/generated/core/core/skills/core-sync/SKILL.md +178 -0
  34. package/assets/generated/core/core/skills/db-lab/SKILL.md +245 -0
  35. package/assets/generated/core/core/skills/define-feature/SKILL.md +144 -0
  36. package/assets/generated/core/core/skills/deliver/SKILL.md +397 -0
  37. package/assets/generated/core/core/skills/deploy/SKILL.md +188 -0
  38. package/assets/generated/core/core/skills/deployment-readiness/SKILL.md +234 -0
  39. package/assets/generated/core/core/skills/developer-env-mode/SKILL.md +231 -0
  40. package/assets/generated/core/core/skills/docs/SKILL.md +116 -0
  41. package/assets/generated/core/core/skills/grill-me/SKILL.md +77 -0
  42. package/assets/generated/core/core/skills/grill-with-docs/SKILL.md +90 -0
  43. package/assets/generated/core/core/skills/learning-review/SKILL.md +90 -0
  44. package/assets/generated/core/core/skills/next-step/SKILL.md +221 -0
  45. package/assets/generated/core/core/skills/progress/SKILL.md +207 -0
  46. package/assets/generated/core/core/skills/project-forge-update/SKILL.md +228 -0
  47. package/assets/generated/core/core/skills/pull-latest/SKILL.md +166 -0
  48. package/assets/generated/core/core/skills/refine-requirements/SKILL.md +207 -0
  49. package/assets/generated/core/core/skills/setup/SKILL.md +362 -0
  50. package/assets/generated/core/core/skills/start-work/SKILL.md +190 -0
  51. package/assets/generated/core/core/skills/system-lab/SKILL.md +333 -0
  52. package/assets/generated/core/core/skills/tear-down/SKILL.md +140 -0
  53. package/assets/generated/core/core/skills/upstream-fix/SKILL.md +221 -0
  54. package/assets/generated/core/core/skills/wait-what/SKILL.md +86 -0
  55. package/assets/generated/core/core/templates/ADR_TEMPLATE.md +41 -0
  56. package/assets/generated/core/core/templates/FEATURE_BRIEF_TEMPLATE.md +27 -0
  57. package/assets/generated/core/core/templates/PRODUCT_BRIEF_TEMPLATE.md +27 -0
  58. package/assets/generated/core/core/templates/PULL_REQUEST_TEMPLATE.md +37 -0
  59. package/assets/generated/core/core/templates/REQUIREMENTS_TEMPLATE.md +17 -0
  60. package/assets/generated/core/profiles/greenfield/project-forge-workspace.json +12 -0
  61. package/assets/generated/core/tools/db_lab/sqlite_workbench.py +463 -0
  62. package/assets/generated/core/tools/docs_site/docs_site.py +512 -0
  63. package/assets/generated/core/tools/package/check_baseline.py +102 -0
  64. package/assets/generated/core/tools/package/check_upstream.py +171 -0
  65. package/assets/generated/core/tools/system_lab/system_workbench.py +243 -0
  66. package/assets/generated/deployment/distribution/project-forge-deploy.py +8 -0
  67. package/assets/generated/deployment/docs/DEVELOPER_ENVIRONMENTS.md +335 -0
  68. package/assets/generated/deployment/docs/ENVIRONMENT_PROOF.md +95 -0
  69. package/assets/generated/deployment/docs/WORKSPACE_INSTANCES.md +154 -0
  70. package/assets/generated/deployment/docs/images/developer-environment-journey.svg +56 -0
  71. package/assets/generated/deployment/docs/images/personal-environment-architecture.svg +54 -0
  72. package/assets/generated/deployment/docs/images/poc-environment-model.svg +61 -0
  73. package/assets/generated/deployment/src/project_forge_deployment/__init__.py +3 -0
  74. package/assets/generated/deployment/src/project_forge_deployment/__main__.py +3 -0
  75. package/assets/generated/deployment/src/project_forge_deployment/app_cli.py +163 -0
  76. package/assets/generated/deployment/src/project_forge_deployment/app_runtime.py +455 -0
  77. package/assets/generated/deployment/src/project_forge_deployment/app_runtime_remote.py +416 -0
  78. package/assets/generated/deployment/src/project_forge_deployment/app_runtime_workstation.py +136 -0
  79. package/assets/generated/deployment/src/project_forge_deployment/box_platform.py +208 -0
  80. package/assets/generated/deployment/src/project_forge_deployment/box_platform_assets.py +100 -0
  81. package/assets/generated/deployment/src/project_forge_deployment/box_platform_remote.py +271 -0
  82. package/assets/generated/deployment/src/project_forge_deployment/cli.py +437 -0
  83. package/assets/generated/deployment/src/project_forge_deployment/doctor.py +121 -0
  84. package/assets/generated/deployment/src/project_forge_deployment/entrypoint.py +37 -0
  85. package/assets/generated/deployment/src/project_forge_deployment/environment_cli.py +271 -0
  86. package/assets/generated/deployment/src/project_forge_deployment/environment_probe.py +228 -0
  87. package/assets/generated/deployment/src/project_forge_deployment/errors.py +5 -0
  88. package/assets/generated/deployment/src/project_forge_deployment/home_lab.py +328 -0
  89. package/assets/generated/deployment/src/project_forge_deployment/image_transfer.py +105 -0
  90. package/assets/generated/deployment/src/project_forge_deployment/keys.py +171 -0
  91. package/assets/generated/deployment/src/project_forge_deployment/local_cli.py +189 -0
  92. package/assets/generated/deployment/src/project_forge_deployment/local_runtime.py +526 -0
  93. package/assets/generated/deployment/src/project_forge_deployment/local_spec.py +82 -0
  94. package/assets/generated/deployment/src/project_forge_deployment/local_sqlite.py +205 -0
  95. package/assets/generated/deployment/src/project_forge_deployment/portable_profile.py +181 -0
  96. package/assets/generated/deployment/src/project_forge_deployment/profile_migration.py +70 -0
  97. package/assets/generated/deployment/src/project_forge_deployment/profile_repository.py +348 -0
  98. package/assets/generated/deployment/src/project_forge_deployment/profiles.py +204 -0
  99. package/assets/generated/deployment/src/project_forge_deployment/registry_access.py +114 -0
  100. package/assets/generated/deployment/src/project_forge_deployment/registry_cli.py +51 -0
  101. package/assets/generated/deployment/src/project_forge_deployment/route_registry.py +367 -0
  102. package/assets/generated/deployment/src/project_forge_deployment/route_registry_remote.py +443 -0
  103. package/assets/generated/deployment/src/project_forge_deployment/security.py +290 -0
  104. package/assets/generated/deployment/src/project_forge_deployment/sqlite_adapter.py +335 -0
  105. package/assets/generated/deployment/src/project_forge_deployment/sqlite_adapter_remote.py +340 -0
  106. package/assets/generated/deployment/src/project_forge_deployment/sqlite_cli.py +86 -0
  107. package/assets/generated/deployment/src/project_forge_deployment/sqlite_import_recovery.py +437 -0
  108. package/assets/generated/deployment/src/project_forge_deployment/ssh.py +119 -0
  109. package/assets/generated/deployment/src/project_forge_deployment/teardown.py +300 -0
  110. package/assets/generated/deployment/src/project_forge_deployment/teardown_cli.py +139 -0
  111. package/assets/generated/deployment/src/project_forge_deployment/teardown_remote.py +100 -0
  112. package/assets/generated/deployment/src/project_forge_deployment/trust.py +278 -0
  113. package/bin/project-forge.mjs +9 -0
  114. package/package.json +31 -4
  115. package/src/cli.mjs +150 -0
  116. package/src/engine.mjs +243 -0
  117. package/src/package-data.mjs +18 -0
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: wait-what
3
+ description: "The last explanation did not land. Re-explain it with enough context to understand where we are and what happens next."
4
+ argument-hint: "[optional note about what was unclear]"
5
+ user-invocable: true
6
+ disable-model-invocation: true
7
+ ---
8
+
9
+ # Wait, What?
10
+
11
+ Purpose: repair communication when the immediately preceding explanation did not land.
12
+
13
+ This skill re-explains. It does not perform new engineering work.
14
+
15
+ ## 1. Use existing context first
16
+
17
+ Re-pitch the immediately preceding explanation, or the specific unclear point named by the human.
18
+
19
+ Prefer already-available conversation/repository context. Do not run commands, inspect new Git/GitHub state, modify files, or take the next workflow action merely to explain the prior response.
20
+
21
+ If a safe explanation depends on information that is genuinely missing, say what is missing instead of inventing it.
22
+
23
+ ## 2. Use plain technical English
24
+
25
+ Prefer:
26
+ - short, direct sentences;
27
+ - concrete nouns instead of vague pronouns;
28
+ - one idea per sentence when possible;
29
+ - familiar repository/work-item terminology;
30
+ - explicit cause-and-effect language;
31
+ - examples only when they make the explanation clearer.
32
+
33
+ Use a Simplified-Technical-English style, but do not claim formal ASD-STE100 compliance.
34
+
35
+ When repository glossary material exists, prefer its terminology. A glossary is helpful, not required.
36
+
37
+ ## 3. Re-establish orientation
38
+
39
+ For a substantive explanation, cover only what helps:
40
+
41
+ ```text
42
+ CURRENT CONTEXT
43
+ Where we are and what led here.
44
+
45
+ WHAT I MEANT
46
+ The important point in simpler language.
47
+
48
+ WHY IT MATTERS
49
+ Why the point affects the current work or decision.
50
+
51
+ WHAT HAPPENS NEXT
52
+ The immediate next step, if there is one.
53
+ ```
54
+
55
+ Do not force all headings for a tiny clarification. Keep the response proportional to the confusion.
56
+
57
+ ## 4. Respect human gates
58
+
59
+ If the unclear explanation immediately preceded a human approval or consequential-action gate, complete the re-explanation before asking for that approval again.
60
+
61
+ Do not treat `/wait-what` as approval to continue, write files, commit, push, merge, deploy, or call external systems.
62
+
63
+ ## 5. Route deeper needs without changing modes silently
64
+
65
+ If the human actually needs:
66
+ - current workflow-state orientation, suggest `/next-step`;
67
+ - deeper concept teaching, suggest `/coach`;
68
+ - a structured explanation of implementation changes, suggest `/code-walkthrough`;
69
+ - an understanding check, suggest `/learning-review`.
70
+
71
+ Do not silently switch into those modes unless the human asks.
72
+
73
+ ## 6. Boundaries
74
+
75
+ `/wait-what` is:
76
+ - read-only,
77
+ - user-invoked,
78
+ - non-blocking,
79
+ - communication-focused,
80
+ - usable during requirements, planning, implementation, review, delivery, setup, learning, or operations discussions.
81
+
82
+ It does not create a new engineering workflow state.
83
+
84
+ ## Provenance
85
+
86
+ Inspired by Matt Pocock's `wait-what` productivity skill in `mattpocock/skills` (MIT licensed). This Project Forge Core version is independently rewritten for repository-agnostic Human-in-the-Loop engineering workflows.
@@ -0,0 +1,41 @@
1
+ # ADR-NNN — <Decision title>
2
+
3
+ Status: **PROPOSED**
4
+
5
+ Date: `<YYYY-MM-DD>`
6
+
7
+ ## Context
8
+
9
+ What engineering/product constraint or tradeoff requires a durable decision?
10
+
11
+ ## Decision
12
+
13
+ What was decided?
14
+
15
+ Do not mark an ADR accepted until the human/repository process has actually accepted the decision.
16
+
17
+ ## Alternatives considered
18
+
19
+ - `<alternative>` — why it was considered and why it was not selected.
20
+ - `<alternative>` — why it was considered and why it was not selected.
21
+
22
+ ## Tradeoffs / consequences
23
+
24
+ ### Benefits
25
+
26
+ - `<benefit>`
27
+
28
+ ### Costs / risks
29
+
30
+ - `<cost or risk>`
31
+
32
+ ## Evidence / links
33
+
34
+ - Work item: `<ID or link>`
35
+ - Relevant code/config: `<path>`
36
+ - System Lab scenario/component: `<reference when useful>`
37
+ - Other docs: `<link>`
38
+
39
+ ## Follow-up / review trigger
40
+
41
+ What future condition should cause this decision to be revisited?
@@ -0,0 +1,27 @@
1
+ # Feature Brief — <Name>
2
+
3
+ > Authority: <AUTHORITATIVE | SUPPLEMENTAL / EXPERIMENTAL>
4
+ >
5
+ > Jira relationship: <Epic / Story set / other>
6
+ >
7
+ > A Jira Epic is not automatically equivalent to this Feature Brief.
8
+
9
+ ## Problem / User Outcome
10
+
11
+ ## Scope
12
+
13
+ ## Non-Scope
14
+
15
+ ## Workflows
16
+
17
+ ## Cross-Story / Domain Rules
18
+
19
+ ## Dependencies
20
+
21
+ ## Related Jira Epics / Stories
22
+
23
+ ## Acceptance Summary
24
+
25
+ ## Open Decisions
26
+
27
+ ## Approval / Status
@@ -0,0 +1,27 @@
1
+ # Product Brief — <Name>
2
+
3
+ > Authority: <AUTHORITATIVE | SUPPLEMENTAL / EXPERIMENTAL>
4
+ >
5
+ > External system relationship: <for example Jira Epics/Stories remain primary>
6
+
7
+ ## Problem / Opportunity
8
+
9
+ ## Users / Stakeholders
10
+
11
+ ## Desired Outcomes
12
+
13
+ ## Scope
14
+
15
+ ## Non-Scope
16
+
17
+ ## Major Workflows / Capabilities
18
+
19
+ ## Domain / Policy Constraints
20
+
21
+ ## Success Measures
22
+
23
+ ## Related Jira Epics / Work Items
24
+
25
+ ## Open Decisions
26
+
27
+ ## Approval / Status
@@ -0,0 +1,37 @@
1
+ <!--
2
+ Internal PR-body scaffolding for the Project Forge delivery workflow.
3
+ Populate from actual work-item, diff, test, review, and CI evidence.
4
+ Do not mark checks complete unless the evidence was observed.
5
+ -->
6
+
7
+ ## Work item
8
+
9
+ <!-- ID and concise title -->
10
+
11
+ ## What changed
12
+
13
+ -
14
+ -
15
+ -
16
+
17
+ ## Acceptance evidence
18
+
19
+ - [ ] Relevant local formatting/build/test/checks pass
20
+ - [ ] Relevant runtime/browser/container checks pass when applicable
21
+ - [ ] GitHub Actions passes
22
+
23
+ Mark items N/A in notes when they do not apply.
24
+
25
+ ## Review
26
+
27
+ - [ ] Project Forge Reviewer completed when required by the work classification
28
+ - [ ] Blocking findings resolved
29
+ - [ ] Human final PR diff review completed
30
+
31
+ ## Known limitations / follow-up
32
+
33
+ -
34
+
35
+ ## Notes
36
+
37
+ <!-- Keep concise. Link to authoritative work-item docs instead of duplicating requirements. -->
@@ -0,0 +1,17 @@
1
+ # Detailed Requirements — <Work Item>
2
+
3
+ > Use only when local detailed requirements are permitted and useful.
4
+ >
5
+ > Do not duplicate Jira/Issue authority without an explicit reason.
6
+
7
+ ## User / Engineering Outcomes
8
+
9
+ ## Domain / Engineering Requirements
10
+
11
+ ## Acceptance / Validation Scenarios
12
+
13
+ ## Open Decisions
14
+
15
+ ## Traceability
16
+
17
+ ## Authority / Approval
@@ -0,0 +1,12 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "profile": "greenfield",
4
+ "workItemSource": "local-docs",
5
+ "productBriefs": {"mode": "authoritative"},
6
+ "featureBriefs": {"mode": "authoritative"},
7
+ "engineeringEnablers": {"mode": "authoritative"},
8
+ "localDetailedRequirements": {"mode": "authoritative-combined"},
9
+ "jira": {"accessMode": "none", "epics": "not-used"},
10
+ "delivery": {"pr": true, "explicitFinalPrAcceptance": true, "explicitMerge": true, "postMergeCi": "observe-if-configured"},
11
+ "productionReadiness": {"enabled": "when-production-in-scope"}
12
+ }