Commit e50b5f3
authored
LLM Oneshot Prompts, Oneshotted Apps, and Cursor Rules (C#/Rust/TS) (#4032)
# Description of Changes
This PR introduces an **LLM One-Shot App Generation** benchmarking
framework and comprehensive **Cursor rules for SpacetimeDB
development**.
**Cursor Rules (`docs/.cursor/rules/`):**
- `spacetimedb.mdc` - General SpacetimeDB concepts and architecture
- `spacetimedb-csharp.mdc` - C# module and client patterns
- `spacetimedb-rust.mdc` - Rust module development
- `spacetimedb-typescript.mdc` - TypeScript SDK usage
**LLM One-Shot Framework (`tools/llm-oneshot/`):**
- Benchmarking tool to measure how well AI can one-shot SpacetimeDB apps
- Composable prompt system with 12 cumulative feature levels (basic chat
→ full-featured with threading, permissions, presence, etc.)
- Support for 4 tech stacks: TypeScript+SpacetimeDB,
TypeScript+PostgreSQL, Rust+SpacetimeDB, C#+SpacetimeDB
- Additional Cursor rules for deployment, grading, and frontend patterns
**Sample One-Shotted Apps:**
- Multiple chat-app implementations (TypeScript, Rust, C#/MAUI)
- Multiple paint-app implementations (TypeScript, Rust, C#/MAUI)
# API and ABI breaking changes
None - this is a documentation and tooling addition only.
# Expected complexity level and risk
**1** - Trivial addition of documentation, tooling, and example
applications. No changes to core SpacetimeDB functionality. The
`tools/llm-oneshot/` folder is entirely self-contained and the Cursor
rules in `docs/` are purely informational.
# Testing
- [ ] Verified Cursor rules load correctly in IDE
- [ ] Ran one-shot generation with various prompt levels to validate
rules work
- [ ] Sample apps compile and deploy correctly1 parent fe9ad4c commit e50b5f3
414 files changed
Lines changed: 111193 additions & 407 deletions
File tree
- docs
- llms
- static/ai-rules
- tools/llm-oneshot
- .cursor/rules
- apps
- chat-app
- prompts
- composed
- features
- language
- typescript
- gemini-3-pro
- postgres/chat-app-20260108-120000
- client
- src
- components
- server
- src
- db
- spacetime/chat-app-20260107-120000
- backend/spacetimedb
- src
- client
- src
- gpt-5-2
- postgres/chat-app-20260108-140800
- client
- src
- server
- src
- db
- spacetime/chat-app-20260107-092240
- backend/spacetimedb
- src
- client
- src
- grok-code
- postgres/chat-app-20260128-112222
- client
- src
- components
- server
- src
- db
- services
- socket
- spacetime/chat-app-20260107-120000
- backend/spacetimedb
- src
- client
- src
- components
- opus-4-5
- postgres
- chat-app-20260104-120000
- client
- src
- server
- src
- db
- chat-app-20260104-160000
- client
- src
- server
- src
- chat-app-20260104-180000
- client
- src
- server
- src
- spacetime
- chat-app-20260102-162918
- backend/spacetimedb
- src
- client
- src
- components
- chat-app-20260102-170500
- backend/spacetimedb
- src
- client
- src
- chat-app-20260102-171317
- backend/spacetimedb
- src
- client
- src
- chat-app-20260105-180000
- backend/spacetimedb
- src
- client
- src
- paint-app
- prompts
- composed
- features
- language
- typescript/opus-4-5/spacetime
- paint-app-20260109-164112
- backend/spacetimedb
- src
- client
- src
- paint-app-20260112-154500
- backend/spacetimedb
- src
- client
- src
- scripts
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments