@terreno/mcp 0.31.0 → 56.0.0-beta.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 (209) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/bootstrap.js +15 -16
  3. package/dist/bootstrap.js.map +1 -1
  4. package/dist/docs/templates/bootstrap/backend/types/models/userTypes.template.md +4 -5
  5. package/dist/docs/templates/bootstrap/frontend/app/_layout.template.tsx +1 -1
  6. package/dist/docs/templates/tools/model.template.md +2 -4
  7. package/dist/docs/versioned/next/README.md +1 -0
  8. package/dist/docs/versioned/next/explanation/README.md +1 -7
  9. package/dist/docs/versioned/next/how-to/README.md +2 -8
  10. package/dist/docs/versioned/next/how-to/deploy-to-gcp.md +228 -20
  11. package/dist/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +445 -0
  12. package/dist/docs/versioned/next/implementationPlans/PLAN_INDEX.md +4 -57
  13. package/dist/docs/versioned/next/implementationPlans/README.md +30 -56
  14. package/dist/docs/versioned/next/implementationPlans/agentic-sdlc-plugin.md +1 -2
  15. package/dist/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +0 -1
  16. package/dist/docs/versioned/next/implementationPlans/build-terreno-app-validation.md +0 -1
  17. package/dist/docs/versioned/next/implementationPlans/deploy-to-gcp.md +0 -1
  18. package/dist/docs/versioned/next/implementationPlans/deploy-to-vercel.md +0 -1
  19. package/dist/docs/versioned/next/implementationPlans/deployment-foundation.md +0 -1
  20. package/dist/docs/versioned/next/implementationPlans/docs-reference-coverage.md +0 -1
  21. package/dist/docs/versioned/next/implementationPlans/docs-tutorials-ai-first.md +0 -1
  22. package/dist/docs/versioned/next/implementationPlans/examples-demo-coverage.md +0 -1
  23. package/dist/docs/versioned/next/implementationPlans/oss-governance-baseline.md +0 -1
  24. package/dist/docs/versioned/next/implementationPlans/positioning-django-rails-universal.md +0 -1
  25. package/dist/docs/versioned/next/implementationPlans/public-roadmap-github.md +0 -1
  26. package/dist/docs/versioned/next/implementationPlans/rtk-to-syncdb-migration-docs.md +52 -47
  27. package/dist/docs/versioned/next/implementationPlans/syncdb-api-inventory.md +303 -0
  28. package/dist/docs/versioned/next/implementationPlans/syncdb-codegen.md +252 -0
  29. package/dist/docs/versioned/next/implementationPlans/syncdb-local-first.md +468 -420
  30. package/dist/docs/versioned/next/implementationPlans/syncdb-phase-c-design.md +425 -0
  31. package/dist/docs/versioned/next/implementationPlans/terreno-syncdb-2.md +800 -0
  32. package/dist/docs/versioned/next/implementationPlans/upgrade-guides-and-skill.md +0 -1
  33. package/dist/docs/versioned/next/implementationPlans/web-ssr-and-admin-spa.md +0 -1
  34. package/dist/docs/versioned/next/reference/README.md +1 -4
  35. package/dist/docs/versioned/next/reference/environment-variables.md +382 -220
  36. package/dist/docs/versioned/next/reference/syncdb.md +456 -0
  37. package/dist/docs/versioned/next/superpowers/plans/2026-07-28-admin-mobile-navigation.md +97 -0
  38. package/dist/docs/versioned/next/superpowers/specs/2026-07-28-admin-mobile-navigation-design.md +36 -0
  39. package/dist/docs/versioned/next/tasks/agentic-sdlc-plugin.md +5 -5
  40. package/dist/docs/versioned/next/tasks/deploy-to-gcp.md +11 -11
  41. package/dist/docs/versioned/next/tasks/deployment-foundation.md +12 -12
  42. package/dist/docs/versioned/next/tasks/docs-reference-coverage.md +4 -4
  43. package/dist/docs/versioned/next/tasks/oss-governance-baseline.md +18 -18
  44. package/dist/docs/versioned/next/tasks/positioning-django-rails-universal.md +4 -4
  45. package/dist/docs/versioned/next/tasks/public-roadmap-github.md +15 -15
  46. package/dist/docs/versioned/next/tasks/rtk-to-syncdb-migration-docs.md +10 -10
  47. package/dist/docs/versioned/next/tasks/syncdb-codegen.md +65 -0
  48. package/dist/docs/versioned/next/tasks/syncdb-local-first.md +434 -117
  49. package/package.json +4 -5
  50. package/src/docs/templates/bootstrap/backend/types/models/userTypes.template.md +4 -5
  51. package/src/docs/templates/bootstrap/frontend/app/_layout.template.tsx +1 -1
  52. package/src/docs/templates/tools/model.template.md +2 -4
  53. package/src/docs/versioned/next/README.md +1 -0
  54. package/src/docs/versioned/next/explanation/README.md +1 -7
  55. package/src/docs/versioned/next/how-to/README.md +2 -8
  56. package/src/docs/versioned/next/how-to/deploy-to-gcp.md +228 -20
  57. package/src/docs/versioned/next/how-to/migrate-rtk-to-syncdb.md +445 -0
  58. package/src/docs/versioned/next/implementationPlans/PLAN_INDEX.md +4 -57
  59. package/src/docs/versioned/next/implementationPlans/README.md +30 -56
  60. package/src/docs/versioned/next/implementationPlans/agentic-sdlc-plugin.md +1 -2
  61. package/src/docs/versioned/next/implementationPlans/ai-dev-loop-boost.md +0 -1
  62. package/src/docs/versioned/next/implementationPlans/build-terreno-app-validation.md +0 -1
  63. package/src/docs/versioned/next/implementationPlans/deploy-to-gcp.md +0 -1
  64. package/src/docs/versioned/next/implementationPlans/deploy-to-vercel.md +0 -1
  65. package/src/docs/versioned/next/implementationPlans/deployment-foundation.md +0 -1
  66. package/src/docs/versioned/next/implementationPlans/docs-reference-coverage.md +0 -1
  67. package/src/docs/versioned/next/implementationPlans/docs-tutorials-ai-first.md +0 -1
  68. package/src/docs/versioned/next/implementationPlans/examples-demo-coverage.md +0 -1
  69. package/src/docs/versioned/next/implementationPlans/oss-governance-baseline.md +0 -1
  70. package/src/docs/versioned/next/implementationPlans/positioning-django-rails-universal.md +0 -1
  71. package/src/docs/versioned/next/implementationPlans/public-roadmap-github.md +0 -1
  72. package/src/docs/versioned/next/implementationPlans/rtk-to-syncdb-migration-docs.md +52 -47
  73. package/src/docs/versioned/next/implementationPlans/syncdb-api-inventory.md +303 -0
  74. package/src/docs/versioned/next/implementationPlans/syncdb-codegen.md +252 -0
  75. package/src/docs/versioned/next/implementationPlans/syncdb-local-first.md +468 -420
  76. package/src/docs/versioned/next/implementationPlans/syncdb-phase-c-design.md +425 -0
  77. package/src/docs/versioned/next/implementationPlans/terreno-syncdb-2.md +800 -0
  78. package/src/docs/versioned/next/implementationPlans/upgrade-guides-and-skill.md +0 -1
  79. package/src/docs/versioned/next/implementationPlans/web-ssr-and-admin-spa.md +0 -1
  80. package/src/docs/versioned/next/reference/README.md +1 -4
  81. package/src/docs/versioned/next/reference/environment-variables.md +382 -220
  82. package/src/docs/versioned/next/reference/syncdb.md +456 -0
  83. package/src/docs/versioned/next/superpowers/plans/2026-07-28-admin-mobile-navigation.md +97 -0
  84. package/src/docs/versioned/next/superpowers/specs/2026-07-28-admin-mobile-navigation-design.md +36 -0
  85. package/src/docs/versioned/next/tasks/agentic-sdlc-plugin.md +5 -5
  86. package/src/docs/versioned/next/tasks/deploy-to-gcp.md +11 -11
  87. package/src/docs/versioned/next/tasks/deployment-foundation.md +12 -12
  88. package/src/docs/versioned/next/tasks/docs-reference-coverage.md +4 -4
  89. package/src/docs/versioned/next/tasks/oss-governance-baseline.md +18 -18
  90. package/src/docs/versioned/next/tasks/positioning-django-rails-universal.md +4 -4
  91. package/src/docs/versioned/next/tasks/public-roadmap-github.md +15 -15
  92. package/src/docs/versioned/next/tasks/rtk-to-syncdb-migration-docs.md +10 -10
  93. package/src/docs/versioned/next/tasks/syncdb-codegen.md +65 -0
  94. package/src/docs/versioned/next/tasks/syncdb-local-first.md +434 -117
  95. package/LICENSE +0 -21
  96. package/dist/__tests__/bootstrap.test.d.ts +0 -2
  97. package/dist/__tests__/bootstrap.test.d.ts.map +0 -1
  98. package/dist/__tests__/bootstrap.test.js +0 -299
  99. package/dist/__tests__/bootstrap.test.js.map +0 -1
  100. package/dist/__tests__/databaseQuery.test.d.ts +0 -2
  101. package/dist/__tests__/databaseQuery.test.d.ts.map +0 -1
  102. package/dist/__tests__/databaseQuery.test.js +0 -83
  103. package/dist/__tests__/databaseQuery.test.js.map +0 -1
  104. package/dist/__tests__/docsRoot.test.d.ts +0 -2
  105. package/dist/__tests__/docsRoot.test.d.ts.map +0 -1
  106. package/dist/__tests__/docsRoot.test.js +0 -59
  107. package/dist/__tests__/docsRoot.test.js.map +0 -1
  108. package/dist/__tests__/inferPackages.test.d.ts +0 -2
  109. package/dist/__tests__/inferPackages.test.d.ts.map +0 -1
  110. package/dist/__tests__/inferPackages.test.js +0 -35
  111. package/dist/__tests__/inferPackages.test.js.map +0 -1
  112. package/dist/__tests__/preload.d.ts +0 -2
  113. package/dist/__tests__/preload.d.ts.map +0 -1
  114. package/dist/__tests__/preload.js +0 -12
  115. package/dist/__tests__/preload.js.map +0 -1
  116. package/dist/__tests__/prompts.test.d.ts +0 -2
  117. package/dist/__tests__/prompts.test.d.ts.map +0 -1
  118. package/dist/__tests__/prompts.test.js +0 -295
  119. package/dist/__tests__/prompts.test.js.map +0 -1
  120. package/dist/__tests__/resources.test.d.ts +0 -2
  121. package/dist/__tests__/resources.test.d.ts.map +0 -1
  122. package/dist/__tests__/resources.test.js +0 -352
  123. package/dist/__tests__/resources.test.js.map +0 -1
  124. package/dist/__tests__/search.test.d.ts +0 -2
  125. package/dist/__tests__/search.test.d.ts.map +0 -1
  126. package/dist/__tests__/search.test.js +0 -163
  127. package/dist/__tests__/search.test.js.map +0 -1
  128. package/dist/__tests__/tools.test.d.ts +0 -2
  129. package/dist/__tests__/tools.test.d.ts.map +0 -1
  130. package/dist/__tests__/tools.test.js +0 -540
  131. package/dist/__tests__/tools.test.js.map +0 -1
  132. package/dist/__tests__/upgradeGuide.test.d.ts +0 -2
  133. package/dist/__tests__/upgradeGuide.test.d.ts.map +0 -1
  134. package/dist/__tests__/upgradeGuide.test.js +0 -22
  135. package/dist/__tests__/upgradeGuide.test.js.map +0 -1
  136. package/dist/docs/upgrades/0.31.0.md +0 -60
  137. package/dist/docs/versioned/next/explanation/deployment-architecture-gcp.md +0 -65
  138. package/dist/docs/versioned/next/explanation/deployment-baseline.md +0 -78
  139. package/dist/docs/versioned/next/explanation/positioning.md +0 -164
  140. package/dist/docs/versioned/next/explanation/repository-settings.md +0 -44
  141. package/dist/docs/versioned/next/explanation/roadmap-process.md +0 -330
  142. package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +0 -866
  143. package/dist/docs/versioned/next/how-to/build-for-web.md +0 -69
  144. package/dist/docs/versioned/next/how-to/deploy-backend-to-cloud-run.md +0 -115
  145. package/dist/docs/versioned/next/how-to/deploy-web-to-gcs-cdn.md +0 -183
  146. package/dist/docs/versioned/next/implementationPlans/b2b-platform-program.md +0 -114
  147. package/dist/docs/versioned/next/implementationPlans/billing-stripe.md +0 -158
  148. package/dist/docs/versioned/next/implementationPlans/comms-abstraction.md +0 -240
  149. package/dist/docs/versioned/next/implementationPlans/comms-adapter-expo-push.md +0 -107
  150. package/dist/docs/versioned/next/implementationPlans/comms-adapter-sendgrid.md +0 -107
  151. package/dist/docs/versioned/next/implementationPlans/comms-adapter-twilio-sms.md +0 -102
  152. package/dist/docs/versioned/next/implementationPlans/comms-adapter-twilio-verify.md +0 -93
  153. package/dist/docs/versioned/next/implementationPlans/infra-mcp-research.md +0 -188
  154. package/dist/docs/versioned/next/implementationPlans/infra-mcp.md +0 -269
  155. package/dist/docs/versioned/next/implementationPlans/native-module-baseline.md +0 -105
  156. package/dist/docs/versioned/next/implementationPlans/orgs-and-teams.md +0 -158
  157. package/dist/docs/versioned/next/implementationPlans/password-reset-and-email-verification.md +0 -147
  158. package/dist/docs/versioned/next/reference/admin-spa.md +0 -130
  159. package/dist/docs/versioned/next/reference/ai.md +0 -519
  160. package/dist/docs/versioned/next/reference/test.md +0 -108
  161. package/dist/docs/versioned/next/roadmap.md +0 -9
  162. package/dist/docs/versioned/next/tasks/README.md +0 -42
  163. package/dist/docs/versioned/next/tasks/billing-stripe.md +0 -75
  164. package/dist/docs/versioned/next/tasks/comms-abstraction.md +0 -77
  165. package/dist/docs/versioned/next/tasks/comms-adapter-expo-push.md +0 -29
  166. package/dist/docs/versioned/next/tasks/comms-adapter-sendgrid.md +0 -29
  167. package/dist/docs/versioned/next/tasks/comms-adapter-twilio-sms.md +0 -29
  168. package/dist/docs/versioned/next/tasks/comms-adapter-twilio-verify.md +0 -19
  169. package/dist/docs/versioned/next/tasks/infra-mcp.md +0 -43
  170. package/dist/docs/versioned/next/tasks/native-module-baseline.md +0 -42
  171. package/dist/docs/versioned/next/tasks/orgs-and-teams.md +0 -70
  172. package/dist/docs/versioned/next/tasks/password-reset-and-email-verification.md +0 -60
  173. package/src/docs/upgrades/0.31.0.md +0 -60
  174. package/src/docs/versioned/next/explanation/deployment-architecture-gcp.md +0 -65
  175. package/src/docs/versioned/next/explanation/deployment-baseline.md +0 -78
  176. package/src/docs/versioned/next/explanation/positioning.md +0 -164
  177. package/src/docs/versioned/next/explanation/repository-settings.md +0 -44
  178. package/src/docs/versioned/next/explanation/roadmap-process.md +0 -330
  179. package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +0 -866
  180. package/src/docs/versioned/next/how-to/build-for-web.md +0 -69
  181. package/src/docs/versioned/next/how-to/deploy-backend-to-cloud-run.md +0 -115
  182. package/src/docs/versioned/next/how-to/deploy-web-to-gcs-cdn.md +0 -183
  183. package/src/docs/versioned/next/implementationPlans/b2b-platform-program.md +0 -114
  184. package/src/docs/versioned/next/implementationPlans/billing-stripe.md +0 -158
  185. package/src/docs/versioned/next/implementationPlans/comms-abstraction.md +0 -240
  186. package/src/docs/versioned/next/implementationPlans/comms-adapter-expo-push.md +0 -107
  187. package/src/docs/versioned/next/implementationPlans/comms-adapter-sendgrid.md +0 -107
  188. package/src/docs/versioned/next/implementationPlans/comms-adapter-twilio-sms.md +0 -102
  189. package/src/docs/versioned/next/implementationPlans/comms-adapter-twilio-verify.md +0 -93
  190. package/src/docs/versioned/next/implementationPlans/infra-mcp-research.md +0 -188
  191. package/src/docs/versioned/next/implementationPlans/infra-mcp.md +0 -269
  192. package/src/docs/versioned/next/implementationPlans/native-module-baseline.md +0 -105
  193. package/src/docs/versioned/next/implementationPlans/orgs-and-teams.md +0 -158
  194. package/src/docs/versioned/next/implementationPlans/password-reset-and-email-verification.md +0 -147
  195. package/src/docs/versioned/next/reference/admin-spa.md +0 -130
  196. package/src/docs/versioned/next/reference/ai.md +0 -519
  197. package/src/docs/versioned/next/reference/test.md +0 -108
  198. package/src/docs/versioned/next/roadmap.md +0 -9
  199. package/src/docs/versioned/next/tasks/README.md +0 -42
  200. package/src/docs/versioned/next/tasks/billing-stripe.md +0 -75
  201. package/src/docs/versioned/next/tasks/comms-abstraction.md +0 -77
  202. package/src/docs/versioned/next/tasks/comms-adapter-expo-push.md +0 -29
  203. package/src/docs/versioned/next/tasks/comms-adapter-sendgrid.md +0 -29
  204. package/src/docs/versioned/next/tasks/comms-adapter-twilio-sms.md +0 -29
  205. package/src/docs/versioned/next/tasks/comms-adapter-twilio-verify.md +0 -19
  206. package/src/docs/versioned/next/tasks/infra-mcp.md +0 -43
  207. package/src/docs/versioned/next/tasks/native-module-baseline.md +0 -42
  208. package/src/docs/versioned/next/tasks/orgs-and-teams.md +0 -70
  209. package/src/docs/versioned/next/tasks/password-reset-and-email-verification.md +0 -60
@@ -1,330 +0,0 @@
1
- # Public roadmap process
2
-
3
- Terreno runs its **public roadmap on GitHub** and keeps **sprint execution in Linear**.
4
- Implementation plans in `docs/implementationPlans/` remain the design source of truth for
5
- both.
6
-
7
- - **GitHub** — discussions, triaged issues, the Terreno Roadmap project board, generated
8
- [`ROADMAP.md`](https://github.com/FlourishHealth/terreno/blob/master/ROADMAP.md)
9
- - **Linear** — estimates, assignees, sprint workflow (internal)
10
- - **IPs** — approved design docs before substantial cross-package work
11
-
12
- See also [CONTRIBUTING.md](https://github.com/FlourishHealth/terreno/blob/master/CONTRIBUTING.md) for the contributor intake flow.
13
-
14
- ## How work flows (IP ↔ roadmap)
15
-
16
- One idea travels through discussion, a tracking issue, a design doc, implementation, and
17
- release. Each artifact is authoritative for exactly one thing, so nothing is entered twice.
18
-
19
- ```
20
- Discussion (Ideas/RFC)
21
- │ maintainer accepts → roadmap-promote
22
- ▼
23
- Issue: Status = Shaping ─────────────────────────────┐
24
- │ IP approved → roadmap-item
25
- Blend writes IP + task list ────────────────────────┤ (sets IP field, Shaping → Planned)
26
- (docs/implementationPlans/ + docs/tasks/) ▼
27
- Issue: Status = Planned
28
- │ Roast → Cupping → Pour
29
- ▼
30
- PR: Fixes #NNN
31
- │ merge
32
- ▼
33
- Issue closed · board: Shipped
34
- ```
35
-
36
- The planning pipeline (the `terreno-planning` plugin) drives the design-and-build half;
37
- the roadmap skills drive the public-tracking half. They meet at one handoff: **Blend
38
- writes the IP, and once it is Approved hands off to `roadmap-item`.**
39
-
40
- | Transition | Who owns it | Authoritative artifact |
41
- | ---------- | ----------- | ---------------------- |
42
- | Idea debated and shaped | Community + maintainers | GitHub Discussion |
43
- | Discussion → first tracking issue (`Shaping`) | `roadmap-promote` | GitHub Issue + Project |
44
- | Design, scope, acceptance criteria | `terreno-1-blend` / `ip` | `docs/implementationPlans/<slug>.md` |
45
- | Task breakdown for implementation | `terreno-1-blend` / `ip` | `docs/tasks/<slug>.md` |
46
- | Approved IP → issue `Planned` + `IP` field set | `roadmap-item` | GitHub Issue + Project |
47
- | Implement, verify, submit, review | `terreno-2-roast` … `terreno-5-dialin` | the PR |
48
- | Sprint estimates, assignees, internal-only work | Linear | Linear |
49
- | Public rendered list | CI (`roadmap:generate`) | `ROADMAP.md` |
50
-
51
- **promote vs item — the one ambiguity worth stating plainly:** `roadmap-promote` opens the
52
- issue for community-originated work at `Shaping` and never sets the `IP` field or `Planned`.
53
- `roadmap-item` is the only skill that sets the `IP` field and moves an item to `Planned`,
54
- and it **updates the promoted issue** rather than opening a second one. Internal-origin work
55
- with no discussion skips promote and starts at `roadmap-item`.
56
-
57
- ### Repos without a public roadmap
58
-
59
- The `terreno-planning` plugin is meant to run in any Terreno repo, including ones with no
60
- Discussions and no roadmap board (Flourish, most consumer apps). There, only the design-and-build
61
- half applies:
62
-
63
- - **Blend** still writes the IP + task list — that dual-file model is the source of truth
64
- everywhere. It detects the absence of `.github/roadmap-fields.yml` and the `roadmap-item`
65
- skill and **skips the roadmap handoff** instead of inventing issues or labels.
66
- - Sprint execution is tracked in Linear and linked from the IP header; it is never copied
67
- into the plan.
68
- - The `roadmap-*` skills and everything under [Maintainer setup](#maintainer-setup) only
69
- apply once a repo adopts the public roadmap.
70
-
71
- ## Maintainer setup
72
-
73
- > **Human action required.** Cloud agents cannot mutate GitHub org/repo settings. Run these
74
- > steps once per environment.
75
-
76
- ### Enable Discussions
77
-
78
- 1. GitHub → **Settings** → **General** → **Features** → enable **Discussions**.
79
- 2. Create the categories below in **Discussions** → **⚙️ Categories** (display order top to
80
- bottom).
81
-
82
- | Order | Name | Format | Who can post | Description (paste into GitHub) |
83
- | ----- | ---- | ------ | ------------ | --------------------------------- |
84
- | 1 | Announcements | Announcement | Maintainers only | Official release notes, breaking changes, deprecations, and launch updates from the Terreno team. |
85
- | 2 | Q&A | Question / Answer | Anyone | Ask how to use Terreno. Search existing threads first; accepted answers may become how-to guides in `docs/how-to/`. |
86
- | 3 | Ideas | Open-ended | Anyone | Feature ideas and improvements before they are shaped. This is the intake funnel — do not open a tracking issue until a maintainer promotes your idea. |
87
- | 4 | Agents & AI | Open-ended | Anyone | MCP setup, Cursor/Claude skills, agent workflows, and prompt patterns for building with Terreno. |
88
- | 5 | RFCs | Open-ended | Anyone | Substantial proposals that change public API or add packages. Use the RFC discussion template; accepted RFCs become IPs. |
89
- | 6 | Show and tell | Open-ended | Anyone | Apps and experiments built with Terreno. Share what you shipped and what friction you hit. |
90
- | 7 | Docs feedback | Open-ended | Anyone | Report missing or confusing documentation. Link the page URL; recurring feedback becomes docs PRs. |
91
-
92
- ### Pinned posts
93
-
94
- Pin one intro post per category after creation. Bodies below are ready to paste.
95
-
96
- #### Announcements
97
-
98
- ```markdown
99
- Release announcements, breaking changes, and deprecation notices land here.
100
-
101
- - Do **not** file support bugs as announcements — use [Issues](https://github.com/FlourishHealth/terreno/issues/new/choose) or Q&A.
102
- - Security issues: see [SECURITY.md](https://github.com/FlourishHealth/terreno/blob/master/SECURITY.md) (private report only).
103
- ```
104
-
105
- #### Q&A
106
-
107
- ```markdown
108
- Ask **how** to use Terreno — setup, APIs, deployment, agents.
109
-
110
- 1. Search [existing Q&A](https://github.com/FlourishHealth/terreno/discussions/categories/q-a) and the [docs site](https://terreno-docs.netlify.app/).
111
- 2. For step-by-step guides, start with [`docs/how-to/`](https://github.com/FlourishHealth/terreno/tree/master/docs/how-to).
112
- 3. Bug reports belong in [Bug report issues](https://github.com/FlourishHealth/terreno/issues/new?template=bug_report.yml), not here.
113
-
114
- When an answer repeats, maintainers turn it into a how-to doc via PR.
115
- ```
116
-
117
- #### Ideas
118
-
119
- ```markdown
120
- **Ideas are the intake funnel.** Share problems and rough solutions before they become roadmap items.
121
-
122
- - Do **not** open a feature issue directly — maintainers promote accepted ideas to tracked issues on the [Terreno Roadmap](https://github.com/FlourishHealth/terreno/projects) board.
123
- - For API/package-level design, use the **RFCs** category instead.
124
- - Bugs → [Bug report](https://github.com/FlourishHealth/terreno/issues/new?template=bug_report.yml).
125
- ```
126
-
127
- #### Agents & AI
128
-
129
- ```markdown
130
- MCP server setup, Cursor/Claude skills, and agent-driven workflows.
131
-
132
- - MCP package: [`mcp-server/`](https://github.com/FlourishHealth/terreno/tree/master/mcp-server) and hosted `terreno-mcp`.
133
- - Agent skills: [`.rulesync/skills/`](https://github.com/FlourishHealth/terreno/tree/master/.rulesync/skills) (mirrored to `.cursor/`, `.claude/`, etc.).
134
- - Terreno planning plugin: [`plugins/terreno-planning/`](https://github.com/FlourishHealth/terreno/tree/master/plugins/terreno-planning).
135
-
136
- General feature ideas → **Ideas**. Doc typos → **Docs feedback** or a docs PR.
137
- ```
138
-
139
- #### RFCs
140
-
141
- ```markdown
142
- Propose changes to **public API**, **new published packages**, or **cross-package architecture**.
143
-
144
- Use the [RFC template](https://github.com/FlourishHealth/terreno/discussions/new?category=rfcs) (Summary, Motivation, Design, Alternatives).
145
-
146
- Accepted RFCs become implementation plans in `docs/implementationPlans/` before large code changes. Small bugs and docs fixes do not need an RFC.
147
- ```
148
-
149
- #### Show and tell
150
-
151
- ```markdown
152
- Show what you built with Terreno — screenshots, repos, and lessons learned welcome.
153
-
154
- Friction you discover may become Ideas, bugs, or docs PRs. This category is for celebration and learning, not support tickets.
155
- ```
156
-
157
- #### Docs feedback
158
-
159
- ```markdown
160
- Report missing, outdated, or confusing documentation.
161
-
162
- Include the **page URL** (docs site or `docs/` path). For quick fixes, open a PR instead.
163
-
164
- Every docs page also has a **Discuss this page** link in the footer.
165
- ```
166
-
167
- ### Project board
168
-
169
- Create one GitHub Project named **Terreno Roadmap** (repo-level is fine; org-level also
170
- works). Link it to `FlourishHealth/terreno`.
171
-
172
- **Fields** (single-select unless noted):
173
-
174
- | Field | Type | Options |
175
- | ----- | ---- | ------- |
176
- | Status | Single select | `Inbox`, `Shaping`, `Planned`, `In progress`, `In review`, `Shipped`, `Declined` |
177
- | Area | Single select | `api`, `ui`, `syncdb`, `auth`, `admin`, `ai`, `mcp`, `docs`, `deploy`, `examples`, `dx` |
178
- | Target | Single select | `0.28`, `0.29`, `Next`, `Future` (add version labels as releases approach) |
179
- | IP | Text | Slug e.g. `web-ssr-and-admin-spa` (empty when no IP yet) |
180
- | Impact | Single select | `Breaking`, `Feature`, `Improvement`, `Fix` |
181
- | Community interest | Number | 👍 count — refresh manually on triage |
182
-
183
- **Views**
184
-
185
- 1. **Roadmap** — Board layout, group by `Status`, filter `Status != Declined` (default public view).
186
- 2. **By area** — Table, group by `Area`.
187
- 3. **Next release** — Table, filter `Target = Next` (update filter when cutting a release).
188
- 4. **Needs shaping** — Table, filter `Status = Shaping`.
189
-
190
- **CLI (partial support)**
191
-
192
- ```bash
193
- gh project list --owner FlourishHealth --limit 20
194
- gh project link <project-number> --owner FlourishHealth --repo FlourishHealth/terreno
195
- ```
196
-
197
- Field and view creation is **UI-only** today — recreate the tables above in the Project
198
- settings.
199
-
200
- **Backfill:** paste tracking issues from [`roadmap-seed-issues.md`](roadmap-seed-issues.md)
201
- when each IP reaches **Approved**.
202
-
203
- ### Labels
204
-
205
- [`.github/labels.yml`](https://github.com/FlourishHealth/terreno/blob/master/.github/labels.yml) is the source of truth.
206
-
207
- Apply or update labels with `gh` authenticated as a maintainer:
208
-
209
- ```bash
210
- bun run labels:sync --repo FlourishHealth/terreno --dry-run # preview
211
- bun run labels:sync --repo FlourishHealth/terreno # apply
212
- ```
213
-
214
- [`scripts/sync-labels.ts`](https://github.com/FlourishHealth/terreno/blob/master/scripts/sync-labels.ts)
215
- parses the YAML and passes each description to `gh` as a single argument, so descriptions
216
- containing commas or quotes survive intact. It refuses to run on a malformed color,
217
- a missing description, or a duplicate name.
218
-
219
- Delete unused GitHub defaults after the new taxonomy is applied (`gh label list`).
220
-
221
- ### Secrets for roadmap generation
222
-
223
- | Name | Kind | Purpose |
224
- | ---- | ---- | ------- |
225
- | `TERRENO_PROJECT_NUMBER` | Repository variable | GitHub Project number for **Terreno Roadmap** |
226
- | `ROADMAP_PROJECT_TOKEN` | Repository secret | Classic PAT with `read:project` (plus `repo` for private repos) |
227
-
228
- The workflow's built-in `GITHUB_TOKEN` **cannot** be used here: it is repository-scoped and
229
- returns no `projectV2` data for an organization project. GitHub also reserves the name
230
- `GITHUB_TOKEN`, so a PAT cannot be supplied under that name — hence the separate
231
- `ROADMAP_PROJECT_TOKEN` secret. Pushing the regenerated `ROADMAP.md` still uses the default
232
- token via `permissions: contents: write`.
233
-
234
- Locally, export the PAT as `GITHUB_TOKEN` (for example `GITHUB_TOKEN=$(gh auth token)`), which
235
- is the variable the generator reads.
236
-
237
- ## Maintainer skills
238
-
239
- Four agent skills cover the recurring roadmap work. Each one researches, proposes, and then
240
- **stops for a maintainer to approve** before touching GitHub — roadmap decisions are the most
241
- human part of the process, so none of them mutate state on their own. All four are
242
- `disable-model-invocation`, meaning an agent will not start them on its own initiative;
243
- you invoke them explicitly.
244
-
245
- | Skill | Use it when |
246
- | ----- | ----------- |
247
- | `roadmap-triage` | An inbound issue or discussion needs `area:*` / `type:*` / `status:*` labels, or a call on whether it belongs on the board |
248
- | `roadmap-promote` | Maintainers accepted an Ideas or RFC discussion and it needs a tracked issue that links back to the thread |
249
- | `roadmap-item` | An approved IP needs its public tracking issue, or an existing entry's scope changed |
250
- | `roadmap-review` | Recurring hygiene: status drift, stale items, untriaged backlog, promotion candidates, then regenerate `ROADMAP.md` |
251
-
252
- Sources live in `.rulesync/skills/`; run `bun run rules` after editing to regenerate the
253
- per-agent mirrors.
254
-
255
- ### Checking an item before you file it
256
-
257
- The skills do not carry a copy of the taxonomy. They call:
258
-
259
- ```bash
260
- bun run roadmap:check --labels "area:api,type:feature" --status Planned --target Next --impact Feature --area api
261
- ```
262
-
263
- Run it with no arguments to print every valid label and field option. It enforces exactly one
264
- `area:*` and one `type:*` label, rejects labels absent from
265
- [`.github/labels.yml`](https://github.com/FlourishHealth/terreno/blob/master/.github/labels.yml),
266
- rejects Project values absent from
267
- [`.github/roadmap-fields.yml`](https://github.com/FlourishHealth/terreno/blob/master/.github/roadmap-fields.yml),
268
- and catches an `Area` field that disagrees with the issue's `area:` label.
269
-
270
- Those two files are the single source for the taxonomy: labels in `labels.yml`, Status/Target/
271
- Impact options in `roadmap-fields.yml`, and Area derived from the `area:*` labels rather than
272
- listed a second time. The Project field options in the table above must match
273
- `roadmap-fields.yml`; a test asserts the roadmap generator's own ordering stays in sync with
274
- both files.
275
-
276
- ## Linear bridge
277
-
278
- | Artifact | System of record |
279
- | -------- | ---------------- |
280
- | Public discussion, prioritization debate | GitHub Discussions |
281
- | Triaged work items, roadmap columns | GitHub Issues + Project |
282
- | Design scope, acceptance criteria | `docs/implementationPlans/*.md` |
283
- | Sprint estimates, assignees, internal-only work | Linear |
284
-
285
- **GitHub → Linear (one-way intake)**
286
-
287
- 1. Maintainer adds the `tracked` label to a GitHub issue.
288
- 2. Linear's GitHub integration imports the issue into the Terreno Linear team.
289
- 3. Title and description sync on creation; **status is not synced back**.
290
-
291
- **Closing the loop:** merging PRs use `Fixes #NNN` so GitHub closes the issue and the board
292
- item moves to `Shipped`. Closing Linear alone does **not** change GitHub state.
293
-
294
- **Internal → public:** open a GitHub issue manually and paste the Linear URL. Internal-only
295
- Linear work is never mirrored.
296
-
297
- **Why not two-way status sync?** Bidirectional sync produces confusing loops between board
298
- columns and sprint state. One-way intake plus `Fixes #NNN` keeps public state accurate.
299
-
300
- Configure Linear: **Settings → Integrations → GitHub** → import issues with label `tracked`.
301
-
302
- ## One-time backfill
303
-
304
- ```bash
305
- gh issue list --state open --limit 200 --json number,title,labels,updatedAt
306
- ```
307
-
308
- For each issue: assign `area:*` + `type:*`, add to board as `Inbox` if relevant, or
309
- `status:wontfix` / close if stale (> 6 months, no longer applies). A human must run this —
310
- do not claim completion until done.
311
-
312
- ## Automation in this repo
313
-
314
- | Workflow | Trigger | Purpose |
315
- | -------- | ------- | ------- |
316
- | [`.github/workflows/triage.yml`](https://github.com/FlourishHealth/terreno/blob/master/.github/workflows/triage.yml) | Issue opened | `status:needs-triage` + `area:*` from package dropdown |
317
- | [`.github/workflows/roadmap-generate.yml`](https://github.com/FlourishHealth/terreno/blob/master/.github/workflows/roadmap-generate.yml) | Daily + manual | Regenerate `ROADMAP.md` from the Project board |
318
-
319
- Triage resolves the `area:*` label with
320
- [`scripts/issueAreaLabels.ts`](https://github.com/FlourishHealth/terreno/blob/master/scripts/issueAreaLabels.ts),
321
- which owns the package-to-area table. Add new packages there, not in the workflow.
322
-
323
- Run the generator locally against the real board:
324
-
325
- ```bash
326
- GITHUB_TOKEN=$(gh auth token) TERRENO_PROJECT_NUMBER=... bun run roadmap:generate
327
- ```
328
-
329
- The generator exits non-zero when the project cannot be read, so a bad project number or a
330
- token without `read:project` fails loudly instead of writing an empty `ROADMAP.md`.