@yottagraph-app/aether-instructions 1.1.5 → 1.1.7

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.
@@ -28,25 +28,35 @@ Stop here and wait for the user to describe what they want.
28
28
 
29
29
  ---
30
30
 
31
- ## Step 2: Enable MCP Servers
31
+ ## Step 2: Check MCP Servers
32
32
 
33
- Check if `.cursor/mcp.json` exists and contains Lovelace MCP servers:
33
+ Check if Lovelace MCP tools are available by looking at your tool list for
34
+ tools like `elemental_get_schema`, `elemental_get_entity`, etc.
35
+
36
+ **If MCP tools are available:** Great — you have access to Lovelace platform
37
+ tools (entity search, market data, news, etc.) that you can use during
38
+ development.
39
+
40
+ **If MCP tools are NOT available:** Check if `.cursor/mcp.json` exists:
34
41
 
35
42
  ```bash
36
43
  cat .cursor/mcp.json 2>/dev/null
37
44
  ```
38
45
 
39
- **If the file contains `mcpServers`:** These MCP servers give you access to Lovelace platform tools (entity search, market data, news, etc.) that you'll need during development. Cursor disables new MCP servers by default, so ask the user:
46
+ If the file exists but tools aren't showing, they may need to be enabled:
40
47
 
41
- > Before we start building, let's make sure your MCP tools are enabled.
48
+ > Your project has Lovelace MCP servers configured (`.cursor/mcp.json`),
49
+ > but they don't appear to be active yet. Cursor disables new MCP servers
50
+ > by default.
42
51
  >
43
- > Open **Cursor Settings** (Cmd+Shift+J) → **Tools & MCP** and enable the `lovelace-*` servers listed there. They should show green toggles when active.
44
- >
45
- > Let me know when they're enabled (or if you'd like to skip this for now).
46
-
47
- Wait for confirmation before proceeding. If the user skips this step, note that MCP tools won't be available during the build but can be enabled later.
52
+ > Open **Cursor Settings** (Cmd+Shift+J) → **Tools & MCP** and enable the
53
+ > `lovelace-*` servers listed there. They should show green toggles when
54
+ > active. Let me know when they're enabled (or if you'd like to skip this).
48
55
 
49
- **If the file doesn't exist or has no servers:** Skip this step silently.
56
+ Wait for confirmation before proceeding. If the user skips this step or
57
+ the settings panel isn't available (e.g. Cursor Cloud), proceed without
58
+ MCP tools — the app can still be built using the Elemental API client
59
+ (`useElementalClient()`) directly.
50
60
 
51
61
  ---
52
62
 
@@ -73,8 +83,8 @@ Key capabilities:
73
83
  - **Query Server / Elemental API** -- the primary data source. Use `useElementalClient()` from `@yottagraph-app/elemental-api/client`. See the `api` rule.
74
84
  - **KV storage** -- always available for preferences and lightweight data (see `pref` rule)
75
85
  - **Supabase** -- check if `NUXT_PUBLIC_SUPABASE_URL` is in `.env` for database access
76
- - **AI agent chat** -- `pages/chat.vue` exists for agent interactions
77
- - **MCP Explorer** -- `pages/mcp.vue` for testing MCP tools
86
+ - **AI agent chat** -- use the `useAgentChat` composable to build a chat UI for deployed agents
87
+ - **MCP servers** -- Lovelace MCP servers may be available (check `.cursor/mcp.json`)
78
88
  - **Components** -- Vuetify 3 component library is available
79
89
 
80
90
  ---
@@ -96,7 +106,7 @@ Plan what you'll build:
96
106
  3. What shared logic belongs in `composables/`
97
107
  4. What data needs to be persisted (and whether KV or Supabase is appropriate)
98
108
  5. Whether the app needs AI agents or MCP servers
99
- 6. Whether to keep, modify, or remove the built-in pages (`chat.vue`, `mcp.vue`, `entity-lookup.vue`)
109
+ 6. Whether the app needs an agent chat page (use the `useAgentChat` composable)
100
110
  7. Whether `app.vue` needs a sidebar, tabs, or other navigation (and what it should look like)
101
111
 
102
112
  Present the plan to the user and ask for approval before proceeding.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yottagraph-app/aether-instructions",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "Cursor rules, commands, and skills for Aether development",
5
5
  "files": [
6
6
  "rules",
package/rules/agents.mdc CHANGED
@@ -161,17 +161,17 @@ adk deploy agent_engine \
161
161
  agents/<agent-name>/
162
162
  ```
163
163
 
164
- ## How Agents Reach the Chat UI
164
+ ## How Agents Reach the App
165
165
 
166
166
  Once deployed, the agent is reachable through the Portal Gateway:
167
167
 
168
168
  ```
169
- Chat UI (pages/chat.vue)
169
+ App (useAgentChat composable)
170
170
  → POST NUXT_PUBLIC_GATEWAY_URL/api/agents/{tenantId}/{agentId}/query
171
171
  → Portal Gateway proxies to Vertex AI Agent Engine (streamQuery)
172
172
  → Agent runs (may invoke tools, make multiple LLM calls)
173
173
  → Gateway collects the ADK event stream, extracts final text
174
- Chat UI displays it
174
+ App displays it
175
175
  ```
176
176
 
177
177
  The gateway URL and tenant ID come from `broadchurch.yaml` (injected as
@@ -179,7 +179,7 @@ The gateway URL and tenant ID come from `broadchurch.yaml` (injected as
179
179
 
180
180
  ### Agent Discovery
181
181
 
182
- The chat page discovers deployed agents by fetching the tenant config:
182
+ The app discovers deployed agents by fetching the tenant config:
183
183
 
184
184
  ```
185
185
  GET {NUXT_PUBLIC_GATEWAY_URL}/api/config/{NUXT_PUBLIC_TENANT_ORG_ID}
package/rules/api.mdc CHANGED
@@ -329,8 +329,8 @@ the servers route through the Portal Gateway proxy (no credentials needed).
329
329
  For local development without a gateway, the servers require an
330
330
  `AUTH0_M2M_DEV_TOKEN` environment variable.
331
331
 
332
- The MCP Explorer page (`pages/mcp.vue`) also connects to these servers
333
- through the Portal Gateway for interactive exploration in the browser.
332
+ These servers are also accessible from the browser through the Portal
333
+ Gateway, so you can build MCP tool exploration UIs if needed.
334
334
 
335
335
  ### When MCP Servers Are Available
336
336
 
@@ -121,7 +121,7 @@ Aether apps are more than just a Nuxt SPA. The project contains three additional
121
121
 
122
122
  ### `agents/` -- ADK Agents (Python)
123
123
 
124
- Each subdirectory is a self-contained Python agent that deploys to Vertex AI Agent Engine. See the `agents` cursor rule for development patterns. Agents are deployed via the Broadchurch Portal UI or the `/deploy_agent` Cursor command, both of which trigger `deploy-agent.yml`. Once deployed, the chat UI at `pages/chat.vue` talks to agents through the Portal Gateway (`NUXT_PUBLIC_GATEWAY_URL`).
124
+ Each subdirectory is a self-contained Python agent that deploys to Vertex AI Agent Engine. See the `agents` cursor rule for development patterns. Agents are deployed via the Broadchurch Portal UI or the `/deploy_agent` Cursor command, both of which trigger `deploy-agent.yml`. Once deployed, agents are reachable through the Portal Gateway (`NUXT_PUBLIC_GATEWAY_URL`). Use the `useAgentChat` composable to build a chat UI that talks to them.
125
125
 
126
126
  ### `mcp-servers/` -- MCP Servers (Python)
127
127
 
@@ -131,23 +131,19 @@ Each subdirectory is a FastMCP server that deploys to Cloud Run. See the `mcp-se
131
131
 
132
132
  Tenant-specific configuration generated during provisioning. Contains GCP project, org ID, service account, gateway URL, and query server URL. Read by deploy commands and GitHub Actions workflows. Don't edit manually.
133
133
 
134
- ## Built-in Pages
135
-
136
- Recent template versions include these pages. They can be kept, modified,
137
- or removed based on the app's needs:
138
-
139
- - `pages/chat.vue` -- Agent chat UI. Uses `useAgentChat()` and
140
- `useTenantConfig()` to discover deployed agents and stream responses
141
- through the Portal Gateway. Keep if the app uses AI agents.
142
- - `pages/mcp.vue` -- MCP Explorer. Browse and test MCP server tools. Keep
143
- if the app uses MCP servers.
144
- - `pages/entity-lookup.vue` -- Entity search tool. Useful for looking up
145
- NEIDs. Keep or remove based on the app.
146
-
147
- **If these pages are missing** from your project, your project was created
148
- from an older template version. Create them from scratch — they're
149
- straightforward Vuetify pages. The key composables (`useAgentChat`,
150
- `useTenantConfig`) are included in all template versions and provide the
151
- connection logic. See the `agents` cursor rule for the gateway endpoints
152
- and response formats these pages use.
134
+ ## Available Composables for Platform Features
135
+
136
+ The template ships composables for interacting with the Lovelace platform.
137
+ Use these to build whatever UI fits the app:
138
+
139
+ - **`useAgentChat()`** -- Send messages to deployed ADK agents through the
140
+ Portal Gateway. Handles streaming, session management, and response
141
+ parsing. See the `agents` cursor rule for gateway endpoints and response
142
+ formats.
143
+ - **`useTenantConfig()`** -- Fetch the tenant's runtime config (deployed
144
+ agents, feature flags, MCP servers) from the Portal Gateway.
145
+ - **`useElementalClient()`** -- Query Server client for entities, news,
146
+ filings, etc. See the `api` rule.
147
+ - **`usePrefsStore()` / `Pref<T>`** -- KV-backed user preferences. See
148
+ the `pref` rule.
153
149
 
package/rules/design.mdc CHANGED
@@ -15,16 +15,13 @@ The sections of the design doc are flexible and you should add or remove section
15
15
 
16
16
  # Starter App is a Placeholder
17
17
 
18
- The default UI that ships with this template (home page, chat page, entity
19
- lookup) is **placeholder content** meant to demonstrate capabilities. When
20
- building from a project brief or user request, feel free to:
18
+ The default UI that ships with this template is **placeholder content**.
19
+ When building from a project brief or user request, feel free to:
21
20
 
22
21
  - **Replace** `pages/index.vue` with the app's real home page
23
- - **Remove** example pages (`entity-lookup.vue`, `chat.vue`, `mcp.vue`)
24
- if the app doesn't need them
22
+ - **Remove** any pages that don't fit the app
25
23
  - **Restructure** the navigation, layout, and branding entirely
26
- - **Keep** only the infrastructure: `composables/`, `server/api/kv/`,
27
- `agents/`, and `pages/chat.vue` (if the app uses agent chat)
24
+ - **Keep** the infrastructure: `composables/`, `server/api/kv/`, `agents/`
28
25
 
29
26
  Do NOT treat the existing UI as something to preserve. Build what the
30
27
  user described, using the template's infrastructure and patterns but not