feat: add pstack-style rigor skill family for Zed
- wursor-precheck: router skill, entry point for non-trivial tasks - wursor-principles: 21 engineering principles adapted for Wursor - wursor-tdd, wursor-bug-fix, wursor-feature, wursor-investigation, wursor-review, wursor-decision-log: playbook skills - AGENTS.md: repo guide wiring the skill routing table - Fix: double-quote YAML frontmatter descriptions (colon-space in plain scalars broke Zed's skill loader)
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# Wursor — Agent Guide
|
||||
|
||||
This repository is **Wursor**, the agentic WordPress management platform. Before starting any non-trivial task, read this file and follow the skill routing below.
|
||||
|
||||
## The product, in one line
|
||||
|
||||
Non-technical WordPress site owners describe what they want; Wursor makes it happen in a cloud sandbox, shows a live preview, and deploys on approval. The interface is chat → preview → approve. Nothing else.
|
||||
|
||||
## Repo layout
|
||||
|
||||
```
|
||||
api/ Node.js + TypeScript API server (session manager, agent orchestrator,
|
||||
playbook runner, sandbox manager, deploy manager, plugin client)
|
||||
web/ React + TypeScript frontend (chat, preview, approve/reject, deploy history)
|
||||
plugin/ WordPress plugin (PHP) — the connector on the user's hosting
|
||||
infrastructure/ Docker images, warm pool, GC, deploy scripts
|
||||
e2e/ Playwright end-to-end tests
|
||||
PRD.md Product requirements (v2.0 — non-technical-first)
|
||||
IMPLEMENTATION.md TDD build guide with 8-sprint Phase 1 plan
|
||||
```
|
||||
|
||||
## Skill routing — use the precheck first
|
||||
|
||||
The `.agents/skills/` directory is a family of rigor skills modeled on Cursor's pstack. **The entry point for any non-trivial task is `wursor-precheck`** — it routes to the right playbook and sets the verification bar.
|
||||
|
||||
| Task shape | Skill |
|
||||
|---|---|
|
||||
| Any non-trivial task — start here | `wursor-precheck` |
|
||||
| How does X work / why was Y built this way | `wursor-investigation` |
|
||||
| A defect — reproduce, root-cause, fix | `wursor-bug-fix` |
|
||||
| New behavior, TDD-first from a data shape | `wursor-feature` |
|
||||
| Review a diff / PR across lenses | `wursor-review` |
|
||||
| Any code change with a test path | `wursor-tdd` |
|
||||
| Capture a reviewable decision trail | `wursor-decision-log` |
|
||||
| Structure, tradeoffs, verification standards | `wursor-principles` |
|
||||
|
||||
## Hard rules
|
||||
|
||||
1. **Tests first.** No implementation without a failing test (see `wursor-tdd`). Coverage floors: api/ + web/ ≥ 90%, plugin/ ≥ 80%.
|
||||
2. **Prove it works.** A task is not done on self-report — run the test, start the sandbox, hit the endpoint.
|
||||
3. **Non-technical-first.** The user never sees a diff, a terminal, a settings screen, or an error log. If a change would leak engineer-only UI into the product, it's wrong.
|
||||
4. **Safety.** Never touch a live WordPress site, production credentials, or real user data from this repo. Sandboxes are the only environment code runs against.
|
||||
5. **Decisions are logged.** Non-trivial choices get a decision-log entry (see `wursor-decision-log`).
|
||||
|
||||
## Stack notes
|
||||
|
||||
- Backend: Node.js + TypeScript, Express/Fastify, PostgreSQL (Wursor data), Redis (SSE/queue)
|
||||
- Frontend: React + TypeScript, Vite
|
||||
- Sandboxes: Docker on VPS, pre-baked WordPress image, overlayfs layers, media proxied (not copied)
|
||||
- Plugin: standard WordPress PHP plugin, REST API + token auth
|
||||
- Tests: vitest (api, web), phpunit (plugin), Playwright (e2e)
|
||||
Reference in New Issue
Block a user