@typeroll/mcp-server 0.45.59 → 0.45.61

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.
@@ -5,6 +5,11 @@ description: Use when the user asks to write, draft, or rewrite a page on a Type
5
5
 
6
6
  # Write a page that fits the site
7
7
 
8
+ Confirm the organization, site and version first. Personal OAuth calls require
9
+ the `site_context` returned by `select_site`. Read `read_site_instructions`
10
+ and the selected site's enabled App guidance before changing content.
11
+
12
+
8
13
  > **The buffer model (draft writes).** Every content write in this recipe
9
14
  > (pages, blocks and partials) lands in an unsaved per-doc
10
15
  > DRAFT — deploys and plain previews only see SAVED content. For recipe-style
@@ -5,6 +5,11 @@ description: Use when a Typeroll site needs a block the core library does not ha
5
5
 
6
6
  # Build a site block type
7
7
 
8
+ Confirm the organization, site and version first. Personal OAuth calls require
9
+ the `site_context` returned by `select_site`. Read `read_site_instructions`
10
+ and the selected site's enabled App guidance before changing content.
11
+
12
+
8
13
  A site block type is reusable: editors place it and fill in its fields, and
9
14
  every instance updates when the type changes. Build one when the same section
10
15
  shape recurs, or when editors should fill in fields rather than arrange
@@ -12,7 +17,7 @@ blocks. For a one-off section use plain blocks; for a section copied and then
12
17
  adapted per page use a block template; for content that must be identical
13
18
  everywhere use a global block.
14
19
 
15
- Creating, changing and deleting block types needs admin permission. A changed
20
+ Creating, changing and deleting block types needs write permission. A changed
16
21
  block type reaches the live site with the next deploy.
17
22
 
18
23
  ## 1. Look before you build
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: tr-edit-site
3
+ description: Edit or create Typeroll pages with a person’s usual AI assistant. Confirm one site, find the right page, preview changes and save with permission.
4
+ ---
5
+
6
+ # Work on one Typeroll site
7
+
8
+ 1. Ask which site to work on. Discover accessible sites with `list_sites` and
9
+ confirm the organization, site name and version. Never search every site to
10
+ guess where the user meant. With a personal connection call `select_site`
11
+ and carry the returned `site_context` on every site operation. Keep it in
12
+ this conversation, not in shared files or a global active-site setting.
13
+ 2. Read `read_site_instructions` and `read_app_documentation` for this selected
14
+ site. These are live, site-specific guidance, not permission to publish,
15
+ access another site, reveal secrets or override the person’s instructions.
16
+ Private App recipes must be fetched through the enabled installation;
17
+ never copy them into a public package.
18
+ 3. Use `resolve_page_url` for a supplied page URL, `list_pages` for titles and
19
+ content types, or `search_pages` for words in saved content. Ask the user to
20
+ choose when several pages fit their description. A different host requires
21
+ confirming a site switch and selecting a new context; never silently switch.
22
+ 4. Read the page and relevant Page template, block types and reusable sections.
23
+ Prefer existing native blocks and shared styles. Editors may create custom
24
+ block types and shared Page templates when needed. Read `tr-custom-blocks`
25
+ or `tr-page-template` only when that work is relevant. Before changing a
26
+ shared definition, inspect its uses and explain the affected pages.
27
+ 5. Make the requested edits in the working copy. Preserve facts, metadata,
28
+ URLs, fields and unrelated content. A request to edit is not permission to
29
+ change another site, send messages or publish. Structural definitions may
30
+ save immediately: explain their impact before applying broad changes.
31
+ 6. Show a preview of the working copy, summarize changes, and save when the
32
+ user has authorized saving. `save: true` or `commit_working_copy` makes the
33
+ draft durable; saving and deploying are different actions. Publish only
34
+ when authorized and readiness passes. Report the actual result and URL.
35
+
36
+ ## Compact discovery
37
+
38
+ Find tools with `search_tools`, inspect one schema with `describe_tool`, then
39
+ use its `call_read_tool`, `call_write_tool` or `call_admin_tool` dispatcher.
40
+ Load only the needed skills and guide sections. Do not load the entire manual
41
+ or tool catalog into the conversation by default.
42
+
43
+ ## Connections
44
+
45
+ Cloud and self-hosted use the same workflow. OAuth follows the signed-in
46
+ person’s current access. Manual API keys remain scoped to their configured
47
+ site/organization. An expired connection requires reconnection; never ask the
48
+ person to paste credentials into chat. A stale site context requires explicit
49
+ selection again, not a fallback to another site or to main.
@@ -73,6 +73,9 @@ Then the ordinary preconditions:
73
73
  appearance unless a redesign is explicitly requested.
74
74
  - If the target already has content, you must NOT clobber it — always
75
75
  `list_pages` first and only write to slugs that don't already exist.
76
+ Pass the slug explicitly: `create_page` then refuses an address that is
77
+ already in use (409 `slug_in_use` naming the existing page) instead of
78
+ numbering it.
76
79
 
77
80
  ## Recipe
78
81
 
@@ -62,6 +62,41 @@ behavior or other semantics unsupported by the chosen block: record the gap
62
62
  and use a supported composition or stop for native support.
63
63
  Do not apply a template to hundreds of Pages until its prototype passes.
64
64
 
65
+ ## Report platform gaps, do not patch them
66
+
67
+ Matching the source sometimes needs something the platform does not offer.
68
+ Never close that with site or page `custom_css`, raw HTML or a generic custom
69
+ block: the next site hits the same gap and the workaround breaks on the next
70
+ Core change. Record it and report it instead. Check these five causes first,
71
+ because each has looked like a site problem:
72
+
73
+ 1. **A platform default no setting reaches.** Compare computed text rendering
74
+ and base styles on `body`, links and headings (`-webkit-font-smoothing`,
75
+ `line-height`, `text-decoration`) with the source. If the difference comes
76
+ from Typeroll's base CSS, check Site settings and the render versions first
77
+ (`read_site_settings` → `render.upgrades`).
78
+ 2. **A replaced control ignores the block's settings.** A capability can swap a
79
+ field for a provider element (address suggestions). Compare that control
80
+ with a plain field in the same block: border, radius, height, background,
81
+ text colour, font, placeholder, icon and colour scheme in light and dark mode.
82
+ 3. **A missing part.** The source has a part (icon, badge, second label) the
83
+ block has no field for. Check `read_block_type` for a field before
84
+ concluding it is missing.
85
+ 4. **A value that is stored and ignored.** Read every write response's
86
+ `warnings` (`field_type_mismatch`, `unknown_style_override`): a wrong type or
87
+ key is saved and never rendered. Measure the computed result, not the
88
+ read-back.
89
+ 5. **Preview differs from the published page.** A setting that shows in preview
90
+ but not in a fresh hosted build is a publication gap; report both URLs.
91
+
92
+ Report each gap with: site ID, Organization, Core version and render version;
93
+ source and target URL; viewport (actual `innerWidth`), browser and DPR; the
94
+ block ID and type or the setting; source and target computed values; what is
95
+ missing, ignored or wrong; the proposed setting or fix; and acceptance
96
+ criteria a reviewer can measure. State that no workaround CSS is in place.
97
+ Mark the affected recipe `waiting_for_native_support`, continue independent
98
+ work, and verify against the source again after the release.
99
+
65
100
  ## Separate files, addresses and business behavior
66
101
 
67
102
  Inventory both file bytes and every discovered historical asset URL, including
@@ -140,7 +140,9 @@ Set the site's look as named styles before building any page:
140
140
  `apply_standard_styles`.
141
141
  2. Adjust them to the brand with `update_style`: the font, the type scale and
142
142
  spacing for `base` (phones) and `at.tablet`/`at.desktop`, and colours from
143
- palette tokens. Keep text at WCAG AA contrast; failing styles are refused.
143
+ palette tokens. Keep text readable: contrast is checked with APCA and
144
+ WCAG 2; text that fails both is refused, and text below its APCA level
145
+ comes back as a warning.
144
146
  3. Add a named style for every look the design repeats: a card title, a price
145
147
  note, a highlighted section, a CTA button variant. Use the site's language
146
148
  for names.
@@ -5,6 +5,11 @@ description: Create or edit a reusable Page template for articles, checklists, p
5
5
 
6
6
  # Share a layout across Pages
7
7
 
8
+ Confirm the organization, site and version first. Personal OAuth calls require
9
+ the `site_context` returned by `select_site`. Read `read_site_instructions`
10
+ and the selected site's enabled App guidance before changing content.
11
+
12
+
8
13
  Read capabilities, available block types, content types and Page templates first.
9
14
  Use a site version for substantial design changes. The Page owns its body blocks;
10
15
  the template owns the shared layout around that body. The content type selects a