AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
The golden starter template for a new app in the TEC Federated Platform.
It ships a correct, Portal-ready skeleton — Hub SSO, dual-mode Pi payments, CSRF,
legal pages, observability, and CI policy guards — so a new app is compliant from
commit zero.
Full architecture rules and rationale live in CLAUDE.md.
Reference of record: yasira82/tec-knowledge-base (C-12_Dual_Mode_Payment.md).
• Next.js 15 App Router + TypeScript strict · React 18
• @yasser172/tec-ui · @yasser172/tec-auth · @yasser172/tec-sdk
• Vitest (unit) + Playwright (e2e) · Deploy: Vercel檢視完整 README ↗The golden starter template for a new app in the TEC Federated Platform. It ships a correct, Portal-ready skeleton — Hub SSO, dual-mode Pi payments, CSRF, legal pages, observability, and CI policy guards — so a new app is compliant from commit zero.
Full architecture rules and rationale live in
CLAUDE.md. Reference of record:yasira82/tec-knowledge-base(C-12_Dual_Mode_Payment.md).
@yasser172/tec-ui · @yasser172/tec-auth · @yasser172/tec-sdkgit clone <this-repo> tec-<domain>
cd tec-<domain>
cp .env.example .env.local
npm install --legacy-peer-deps
npm run dev
□ package.json: set "name"
□ middleware.ts: adjust PROTECTED_ROUTES
□ sso-callback/route.ts: set ALLOWED_AUDIENCES + DEFAULT_REDIRECT to your domain
□ src/lib/pi-payment.ts + payment/create: set APP_SOURCE slug
□ privacy/page.tsx + terms/page.tsx: set APP / DOMAIN / governing law / contacts
□ Add ADR-007 isHubNavigation() guard to every buy handler
□ .env: API_GATEWAY_URL · INTERNAL_SECRET · SSO_SECRET · NEXT_PUBLIC_PI_APP_ID · PI_SANDBOX=false (prod)
□ Pi Developer Portal: register domain + App ID; set /privacy + /terms URLs
□ Verify a real Pi payment Mode 1 (via Hub) AND Mode 2 (standalone)
| Area | Files |
|---|---|
| Auth / SSO | middleware.ts (CSRF + page guard), api/auth/sso-callback, api/auth/refresh |
| Payments | api/bff/payment/{create,approve,complete,resolve-incomplete}, lib/pi-payment.ts |
| Pi runtime | lib/pi/PiRuntime.ts (PAL), lib/pi/PiCircuitBreaker.ts |
| Observability | api/health (fail-safe), lib/observability/{logger,reportError}.ts |
| Platform | lib/flags.ts, lib/bff/createHandler.ts, styles/tec-design-tokens.css |
| Legal | app/privacy, app/terms (Pi Portal) |
| CI | .github/workflows/ — payment-policy + CSRF guard + lint/typecheck/test/build + e2e |
| File | Change |
|---|---|
package.json | "name": "tec-<domain>" |
src/app/layout.tsx | title + description |
src/app/page.tsx | login page |
src/app/app/ | domain pages |
src/app/api/bff/ | domain BFF routes |
.env.local | domain secrets |
middleware.ts · src/lib/bff/createHandler.ts · src/lib-client/pi/* ·
src/lib/pi/* · src/lib/observability/* · src/components/ErrorBoundary.tsx ·
next.config.js · Dockerfile
npm run dev # dev server
npm run build # production build
npm run lint # ESLint
npm run typecheck # tsc --noEmit (strict + noUncheckedIndexedAccess)
npm run test # vitest
npm run test:coverage # vitest + coverage (60% floor)
npm run test:e2e # Playwright
See CHANGELOG.md. Licensed MIT.