بنقرة واحدة
ppt-frontend
Navigate the React/pnpm frontend workspace — apps, shared packages, generated API client, Biome.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Navigate the React/pnpm frontend workspace — apps, shared packages, generated API client, Biome.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Implement one task end-to-end for the PPT project — pick the right per-stack specialist, code, verify per-stack, push a draft PR against `dev`.
Project-management & delivery analysis for the PPT research routine (Phase 1.6). Runs an always-on Scrum Master synthesis plus role-based deep analysis (rotating one role/day by default; all 8 on `full`; a specific role on `pm:<role>`). Reads sprint-status + repo activity + research backlog, spawns role subagents, and writes delivery artifacts under .research/management/. Use from routine Phase 1.6, or standalone for a delivery snapshot.
Post-merge code review with issue creation. Reviews merged PRs in a time window, spots better approaches / missed edge cases / security holes / perf issues / test gaps, and opens GitHub issues with concrete improvement proposals.
Deterministic goal/convergence checks for the PPT dispatcher — coverage referential integrity, coverage-progress monotonicity, and buffer bounds. Run in dispatcher Phase 6 and CI. Use when adding/auditing the dispatcher's goal-verification layer.
Open a PR in this project's style — title, body template, IG3 evidence, CI surface, draft handling.
Land a green, approved PR. Verify preconditions (CI green, approved, no unresolved threads, not draft), auto-resolve mechanical merge conflicts against the base branch (sqlx offline data, Cargo.lock, generated openapi/api-client, lockfiles), then `gh pr merge --squash --auto`. Stops and surfaces if real code conflicts or stale CI.
استنادا إلى تصنيف SOC المهني
| name | ppt-frontend |
| description | Navigate the React/pnpm frontend workspace — apps, shared packages, generated API client, Biome. |
| when_to_use | The plan touches anything under frontend/ — an app, a package, or the generated API client. |
| mode | both |
| capabilities | ["C6"] |
| tags | ["frontend"] |
pnpm workspace at frontend/. ppt-web is a Vite + React SPA;
reality-web is a Next.js 16 SSR app. Shared TS packages alongside.
Biome for lint / format on most packages, ESLint per-app. Generated API
clients live as separate packages.
Plan area is frontend, or Suggested approach references
frontend/apps/** or frontend/packages/**.
ppt-typespec)frontend/apps/:
| App | Port | Stack | Notes |
|---|---|---|---|
ppt-web | 3000 | Vite + React (TS, vitest) | Property Management main web (SPA) |
reality-web | 3001 | Next.js 16 (SSR, App Router) | Reality Portal public site |
mobile | n/a | RN / Expo | React Native — see also ppt-mobile-native for the Kotlin native app |
frontend/packages/:
| Package | Purpose |
|---|---|
api-client | Generated client for PPT API (regenerated by just generate-api-client) |
reality-api-client | Generated client for Reality API (just generate-reality-api-client) |
admin-ui | Admin/super-admin UI components |
dev-panel | In-app dev/debug panel |
screen-map | Screen-map generation tooling |
shared | Cross-app types and utils |
sitemap | Sitemap generation |
ui-kit | Shared component library |
vite-plugin-ppt-worktree | Worktree-aware vite plugin |
cd frontend && pnpm install
# dev mode
cd frontend && pnpm dev:ppt # ppt-web (Vite) on :3000
cd frontend && pnpm dev:reality # reality-web (Next.js) on :3001
cd frontend && pnpm dev:mobile # RN/Expo
# build / test one package
cd frontend && pnpm -F <pkg> build
cd frontend && pnpm -F <pkg> test
cd frontend && pnpm -F <pkg> typecheck
just generate-api # both clients
just generate-api-client # PPT only
just generate-reality-api-client # Reality only
These wrap pnpm generate-api / pnpm generate-reality-api. They consume
the spec emitted by ppt-typespec. If the
contract changed, regenerate typespec → API spec → client in that order.just check-frontend # Biome lint + format check
just fix-frontend # auto-fix
just test-frontend # all
cd frontend && pnpm -F @ppt/web test # one app (package name, NOT dir name)
# Other apps: @ppt/reality-web, @ppt/mobile. Packages: @ppt/api-client, @ppt/admin-ui, …
# 1. pnpm available
pnpm --version >/dev/null && echo OK
# expected: OK
# 2. workspace resolves
(cd frontend && pnpm -r exec true >/dev/null 2>&1) && echo OK
# expected: OK (works even before install — exec true is a noop)
# (subshell so the cwd stays at the repo root for the following checks)
# 3. expected apps present (paths from repo root)
for a in ppt-web reality-web mobile; do
test -f "frontend/apps/$a/package.json" || { echo "missing app: $a"; exit 1; }
done
echo OK
# expected: OK
# 4. generated api-client package present
test -d frontend/packages/api-client && echo OK
# expected: OK
cd frontend && pnpm -r list --depth -1 --json >/dev/null
First run after a fresh clone needs
pnpm install(downloads + builds native deps); the smoke check above only verifies the workspace resolves, not that node_modules is populated.
just check-frontend && just test-frontend
ppt-typespec — regenerate clients after API
contract changeppt-tests — pnpm filter syntaxppt-mobile-native — Kotlin app
(separate from frontend/apps/mobile)