Merge pull request 'fix: sync context contract, tool roster, and version with current platform' (#2) from fix/sync-context-and-tools into main
Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
@@ -30,16 +30,15 @@ Sign in once at [spaghetti.gg](https://spaghetti.gg) — your account is created
|
||||
|
||||
## Project context (optional)
|
||||
|
||||
Your UE5 project can have a `.spaghetti` file at its root:
|
||||
Your UE5 project can be linked to a Spaghetti team and project. With the Spaghetti editor connector (UE 5.8+) installed, the link lives in the project's own configuration — Project Settings → Plugins → Spaghetti — persisted to `Config/DefaultGame.ini`:
|
||||
|
||||
```json
|
||||
{
|
||||
"team_id": "your-team-uuid",
|
||||
"project_id": "your-project-uuid"
|
||||
}
|
||||
```ini
|
||||
[/Script/Spaghetti.SpaghettiProjectSettings]
|
||||
TeamId=your-team-uuid
|
||||
ProjectId=your-project-uuid
|
||||
```
|
||||
|
||||
Team and project ids are UUIDs; a setup CLI that fetches them and writes this file automatically is coming. Until then, all tools also work on your personal account without this file. The file is safe to commit to Git/Perforce (no secrets).
|
||||
No secrets — safe to commit to Git/Perforce. Everyone opening the project works on the same team/project, while each user still signs in individually. Automatic team/project wiring is on the roadmap; until then, all tools also work on your personal account without any context. Details: [spaghetti.gg/docs](https://spaghetti.gg/docs).
|
||||
|
||||
## Structure
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
||||
"name": "unreal-workbench",
|
||||
"version": "0.1.1",
|
||||
"version": "0.3.1",
|
||||
"description": "Unreal Engine 5 agent tools — log analysis, asset auditing, engine docs research, script generation. Powered by Spaghetti Unreal AI Workbench.",
|
||||
"author": {
|
||||
"name": "Tinirau Ltd",
|
||||
|
||||
+37
-26
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: ue5-unreal
|
||||
description: >
|
||||
Unreal Engine 5 development assistant — crash analysis, asset auditing,
|
||||
Unreal Engine 5 development assistant — log analysis, asset auditing,
|
||||
knowledge-base search, and Python script generation via Spaghetti Unreal AI
|
||||
Workbench. Call these tools when the user is working in a UE5 project and
|
||||
needs expert help with crashes, asset cleanup, engine docs, or editor
|
||||
@@ -17,28 +17,32 @@ connect — a browser window opens for sign-in at spaghetti.gg).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Your UE5 project must have a `.spaghetti` file at its root containing
|
||||
`team_id` and `project_id`. If no `.spaghetti` exists, the first tool call
|
||||
returns an Agentic Directive instructing you to create one. Follow it.
|
||||
Project context is **optional**. If present, it lives in the project's
|
||||
`Config/DefaultGame.ini` under `[/Script/Spaghetti.SpaghettiProjectSettings]`
|
||||
(`TeamId`, `ProjectId`, written by the Spaghetti editor connector's Project
|
||||
Settings page). If the section is absent, tools run on the user's personal
|
||||
account — that is a valid state, not an error. Do not hand-edit the ini while
|
||||
the editor is running (the editor owns that file); context changes go through
|
||||
the connector's Project Settings.
|
||||
|
||||
## Available tools (Phase 1 — MVP)
|
||||
## Available tools
|
||||
|
||||
### Crash Investigator (`spaghetti/analyze_crash`)
|
||||
### Log Analyzer (`analyze_logs`)
|
||||
|
||||
**When to call:** The user reports a UE5 crash, paste an output log, or
|
||||
mentions a crash dump / minidump.
|
||||
**When to call:** The user reports a UE5 crash, pastes an output log, or
|
||||
mentions a crash dump / minidump — or wants structured findings from any UE
|
||||
log file.
|
||||
|
||||
**What it does:** Parses the UE5 Output Log and crash dumps, identifies
|
||||
root-cause nodes or C++ pointers, and returns a precise fix with context from
|
||||
the proprietary UE5 bug knowledge base.
|
||||
|
||||
**Input:** Crash log text (paste the Output Log contents or the relevant
|
||||
section).
|
||||
**Input:** Log text (paste the Output Log contents or the relevant section).
|
||||
|
||||
**Safety:** Read-only analysis. Returns a diagnosis + suggested fix; does
|
||||
not modify project files.
|
||||
|
||||
### Asset Janitor (`spaghetti/audit_assets`)
|
||||
### Asset Janitor (`tidy_assets`)
|
||||
|
||||
**When to call:** The user asks about asset cleanup, naming conventions, unused
|
||||
assets, missing LODs, or compliance reports.
|
||||
@@ -52,21 +56,26 @@ generates compliance reports.
|
||||
**Safety:** Audit is read-only. If the user wants to apply fixes, use
|
||||
Tool-Maker to generate a dry-run Python script first.
|
||||
|
||||
### Smart Librarian (`spaghetti/search_kb`)
|
||||
### Research tools (free)
|
||||
|
||||
**When to call:** The user asks about UE5 engine architecture, best practices,
|
||||
or how specific systems work. Also for snippet search (verified node setups,
|
||||
Blueprint patterns).
|
||||
or how specific systems work — or wants to search their project's ingested
|
||||
logs and knowledge.
|
||||
|
||||
**What it does:** Semantic search over two knowledge bases:
|
||||
- **Team KB:** your project's private RAG index (studio docs, past bug
|
||||
resolutions, conventions).
|
||||
- **UE5 Engine Graph:** GraphRAG over the public UE 5.8 source for multi-hop
|
||||
reasoning about engine architecture.
|
||||
- **`search_docs_code`** — semantic search over curated UE engine
|
||||
documentation and source code.
|
||||
- **`search_patterns`** — known engine patterns and anti-patterns (verified
|
||||
node setups, Blueprint conventions).
|
||||
- **`search_logs_temporal`** — the project's ingested log events over time
|
||||
(requires project context).
|
||||
- **`query_temporal_relations`** — temporal knowledge-graph queries over the
|
||||
project's entities and their relations (requires project context).
|
||||
- **`investigate_incident`** — multi-source incident investigation across the
|
||||
project's logs, entities, and relations (requires project context).
|
||||
|
||||
**Input:** Natural-language query about UE5 or your project's knowledge base.
|
||||
**Input:** Natural-language query about UE5 or the project's knowledge base.
|
||||
|
||||
### Tool-Maker (`spaghetti/make_tool`)
|
||||
### Tool-Maker (`make_tool`)
|
||||
|
||||
**When to call:** The user wants to automate a UE5 editor task (batch-rename
|
||||
assets, apply materials, configure project settings, etc.).
|
||||
@@ -92,9 +101,11 @@ script modifies assets, wrap in `unreal.ScopedTransaction` for undo support.
|
||||
- **Use ScopedTransaction** for reversible operations (enables Ctrl+Z).
|
||||
- **Read the Output Log** for errors after any automated editor operation.
|
||||
|
||||
## Context
|
||||
## Context and billing
|
||||
|
||||
The `.spaghetti` file at the project root identifies which team and project
|
||||
this UE5 project belongs to. All tool calls are billed to the team's Spaghetti
|
||||
wallet. If you see a `402 Payment Required`, direct the user to
|
||||
`spaghetti.gg/billing` to top up.
|
||||
The `Config/DefaultGame.ini` Spaghetti section (see Prerequisites) identifies
|
||||
which team and project this UE5 project belongs to; billed tools draw from
|
||||
that team's wallet — the research tools are free. On `402 Payment Required`,
|
||||
direct the user to top up at `spaghetti.gg/billing`. A `403` with a portal
|
||||
URL means the account needs to sign in or finish onboarding — open the URL;
|
||||
retrying will not help.
|
||||
|
||||
Reference in New Issue
Block a user