@kinqs/brainrouter-mcp-server 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +144 -0
- package/README.md +56 -0
- package/agents/README.md +120 -0
- package/agents/code-reviewer.md +97 -0
- package/agents/security-auditor.md +101 -0
- package/agents/test-engineer.md +95 -0
- package/dist/__tests__/agent_mode.test.d.ts +1 -0
- package/dist/__tests__/api-routes.test.d.ts +1 -0
- package/dist/__tests__/api-routes.test.js +170 -0
- package/dist/__tests__/crypto.test.d.ts +1 -0
- package/dist/__tests__/crypto.test.js +28 -0
- package/dist/__tests__/host-integrations.test.d.ts +1 -0
- package/dist/__tests__/host-integrations.test.js +82 -0
- package/dist/__tests__/integration.test.d.ts +1 -0
- package/dist/__tests__/integration.test.js +50 -0
- package/dist/__tests__/loader.test.d.ts +1 -0
- package/dist/__tests__/loader.test.js +89 -0
- package/dist/__tests__/neural-spark.test.d.ts +1 -0
- package/dist/__tests__/neural-spark.test.js +112 -0
- package/dist/__tests__/pagination.test.d.ts +1 -0
- package/dist/__tests__/pagination.test.js +23 -0
- package/dist/__tests__/redaction.test.d.ts +1 -0
- package/dist/__tests__/redaction.test.js +17 -0
- package/dist/__tests__/registry.test.d.ts +1 -0
- package/dist/__tests__/registry.test.js +56 -0
- package/dist/__tests__/retry.test.d.ts +1 -0
- package/dist/__tests__/retry.test.js +30 -0
- package/dist/__tests__/skill-activation.test.d.ts +1 -0
- package/dist/__tests__/skill-activation.test.js +112 -0
- package/dist/__tests__/working-memory.test.d.ts +1 -0
- package/dist/__tests__/working-memory.test.js +200 -0
- package/dist/__tests__/workspace-paths.test.d.ts +1 -0
- package/dist/__tests__/workspace-paths.test.js +56 -0
- package/dist/__tests__/writer.test.d.ts +1 -0
- package/dist/__tests__/writer.test.js +94 -0
- package/dist/api/auth/crypto.d.ts +4 -0
- package/dist/api/auth/crypto.js +54 -0
- package/dist/api/middleware/auth.d.ts +12 -0
- package/dist/api/middleware/auth.js +90 -0
- package/dist/api/pagination.d.ts +18 -0
- package/dist/api/pagination.js +32 -0
- package/dist/api/routes/auth.d.ts +1 -0
- package/dist/api/routes/auth.js +130 -0
- package/dist/api/routes/chat-completions.d.ts +7 -0
- package/dist/api/routes/chat-completions.js +474 -0
- package/dist/api/routes/contradictions.d.ts +1 -0
- package/dist/api/routes/contradictions.js +28 -0
- package/dist/api/routes/evidence.d.ts +1 -0
- package/dist/api/routes/evidence.js +59 -0
- package/dist/api/routes/governance.d.ts +1 -0
- package/dist/api/routes/governance.js +95 -0
- package/dist/api/routes/graph.d.ts +1 -0
- package/dist/api/routes/graph.js +25 -0
- package/dist/api/routes/hooks.d.ts +1 -0
- package/dist/api/routes/hooks.js +88 -0
- package/dist/api/routes/memories.d.ts +1 -0
- package/dist/api/routes/memories.js +92 -0
- package/dist/api/routes/persona.d.ts +1 -0
- package/dist/api/routes/persona.js +9 -0
- package/dist/api/routes/scenes.d.ts +1 -0
- package/dist/api/routes/scenes.js +35 -0
- package/dist/api/routes/skills.d.ts +1 -0
- package/dist/api/routes/skills.js +14 -0
- package/dist/api/routes/stats.d.ts +1 -0
- package/dist/api/routes/stats.js +8 -0
- package/dist/api/routes/users.d.ts +1 -0
- package/dist/api/routes/users.js +82 -0
- package/dist/api/routes/working.d.ts +1 -0
- package/dist/api/routes/working.js +88 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +492 -0
- package/dist/integrations/claude-code.d.ts +12 -0
- package/dist/integrations/claude-code.js +35 -0
- package/dist/integrations/codex.d.ts +12 -0
- package/dist/integrations/codex.js +34 -0
- package/dist/integrations/generic-mcp.d.ts +52 -0
- package/dist/integrations/generic-mcp.js +118 -0
- package/dist/loader.d.ts +29 -0
- package/dist/loader.js +200 -0
- package/dist/memory/capture.d.ts +35 -0
- package/dist/memory/capture.js +230 -0
- package/dist/memory/config.d.ts +2 -0
- package/dist/memory/config.js +3 -0
- package/dist/memory/engine.d.ts +203 -0
- package/dist/memory/engine.js +626 -0
- package/dist/memory/llm-semaphore.d.ts +41 -0
- package/dist/memory/llm-semaphore.js +81 -0
- package/dist/memory/memory-type-config.d.ts +11 -0
- package/dist/memory/memory-type-config.js +65 -0
- package/dist/memory/pipeline/cognitive-contradiction.d.ts +7 -0
- package/dist/memory/pipeline/cognitive-contradiction.js +59 -0
- package/dist/memory/pipeline/cognitive-dedup.d.ts +23 -0
- package/dist/memory/pipeline/cognitive-dedup.js +38 -0
- package/dist/memory/pipeline/cognitive-extractor.d.ts +21 -0
- package/dist/memory/pipeline/cognitive-extractor.js +183 -0
- package/dist/memory/pipeline/contextual-focus-builder.d.ts +13 -0
- package/dist/memory/pipeline/contextual-focus-builder.js +135 -0
- package/dist/memory/pipeline/focus-direction-shift.d.ts +10 -0
- package/dist/memory/pipeline/focus-direction-shift.js +27 -0
- package/dist/memory/pipeline/graph-builder.d.ts +11 -0
- package/dist/memory/pipeline/graph-builder.js +88 -0
- package/dist/memory/pipeline/graph-recall.d.ts +13 -0
- package/dist/memory/pipeline/graph-recall.js +55 -0
- package/dist/memory/pipeline/identity-distiller.d.ts +15 -0
- package/dist/memory/pipeline/identity-distiller.js +40 -0
- package/dist/memory/pipeline/l1-contradiction.d.ts +7 -0
- package/dist/memory/pipeline/l1-contradiction.js +66 -0
- package/dist/memory/pipeline/l1-dedup.d.ts +23 -0
- package/dist/memory/pipeline/l1-dedup.js +39 -0
- package/dist/memory/pipeline/l1-extractor.d.ts +21 -0
- package/dist/memory/pipeline/l1-extractor.js +180 -0
- package/dist/memory/pipeline/l2-direction-shift.d.ts +10 -0
- package/dist/memory/pipeline/l2-direction-shift.js +27 -0
- package/dist/memory/pipeline/l2-scene.d.ts +15 -0
- package/dist/memory/pipeline/l2-scene.js +140 -0
- package/dist/memory/pipeline/l3-distiller.d.ts +15 -0
- package/dist/memory/pipeline/l3-distiller.js +40 -0
- package/dist/memory/pipeline/neural-spark.d.ts +27 -0
- package/dist/memory/pipeline/neural-spark.js +78 -0
- package/dist/memory/pipeline/skill-prewarm.d.ts +63 -0
- package/dist/memory/pipeline/skill-prewarm.js +127 -0
- package/dist/memory/pipeline/task-queue.d.ts +54 -0
- package/dist/memory/pipeline/task-queue.js +117 -0
- package/dist/memory/prompts/cognitive-contradiction.d.ts +1 -0
- package/dist/memory/prompts/cognitive-contradiction.js +25 -0
- package/dist/memory/prompts/cognitive-extraction.d.ts +10 -0
- package/dist/memory/prompts/cognitive-extraction.js +114 -0
- package/dist/memory/prompts/core-identity.d.ts +6 -0
- package/dist/memory/prompts/core-identity.js +60 -0
- package/dist/memory/prompts/focus-direction-shift.d.ts +5 -0
- package/dist/memory/prompts/focus-direction-shift.js +32 -0
- package/dist/memory/prompts/focus-scene-cluster.d.ts +2 -0
- package/dist/memory/prompts/focus-scene-cluster.js +33 -0
- package/dist/memory/prompts/focus-scene.d.ts +7 -0
- package/dist/memory/prompts/focus-scene.js +40 -0
- package/dist/memory/prompts/graph-extraction-batch.d.ts +14 -0
- package/dist/memory/prompts/graph-extraction-batch.js +54 -0
- package/dist/memory/prompts/graph-extraction.d.ts +2 -0
- package/dist/memory/prompts/graph-extraction.js +53 -0
- package/dist/memory/prompts/l1-contradiction-batch.d.ts +16 -0
- package/dist/memory/prompts/l1-contradiction-batch.js +47 -0
- package/dist/memory/prompts/l1-contradiction.d.ts +1 -0
- package/dist/memory/prompts/l1-contradiction.js +25 -0
- package/dist/memory/prompts/l1-extraction.d.ts +10 -0
- package/dist/memory/prompts/l1-extraction.js +114 -0
- package/dist/memory/prompts/l2-direction-shift.d.ts +5 -0
- package/dist/memory/prompts/l2-direction-shift.js +32 -0
- package/dist/memory/prompts/l2-scene-cluster.d.ts +2 -0
- package/dist/memory/prompts/l2-scene-cluster.js +33 -0
- package/dist/memory/prompts/l2-scene.d.ts +7 -0
- package/dist/memory/prompts/l2-scene.js +40 -0
- package/dist/memory/prompts/l3-persona.d.ts +6 -0
- package/dist/memory/prompts/l3-persona.js +60 -0
- package/dist/memory/recall.d.ts +47 -0
- package/dist/memory/recall.js +427 -0
- package/dist/memory/redaction.d.ts +1 -0
- package/dist/memory/redaction.js +24 -0
- package/dist/memory/retry.d.ts +13 -0
- package/dist/memory/retry.js +53 -0
- package/dist/memory/scheduler.d.ts +9 -0
- package/dist/memory/scheduler.js +16 -0
- package/dist/memory/skill-hints-loader.d.ts +30 -0
- package/dist/memory/skill-hints-loader.js +100 -0
- package/dist/memory/store/embedding.d.ts +16 -0
- package/dist/memory/store/embedding.js +68 -0
- package/dist/memory/store/reranker.d.ts +24 -0
- package/dist/memory/store/reranker.js +83 -0
- package/dist/memory/store/sqlite.d.ts +167 -0
- package/dist/memory/store/sqlite.js +1816 -0
- package/dist/memory/store/types.d.ts +101 -0
- package/dist/memory/store/types.js +1 -0
- package/dist/memory/types.d.ts +207 -0
- package/dist/memory/types.js +7 -0
- package/dist/memory/validation.d.ts +441 -0
- package/dist/memory/validation.js +129 -0
- package/dist/memory/working/canvas.d.ts +5 -0
- package/dist/memory/working/canvas.js +43 -0
- package/dist/memory/working/offload.d.ts +71 -0
- package/dist/memory/working/offload.js +211 -0
- package/dist/memory/working/step-log.d.ts +16 -0
- package/dist/memory/working/step-log.js +35 -0
- package/dist/registry.d.ts +34 -0
- package/dist/registry.js +305 -0
- package/dist/resolver.d.ts +17 -0
- package/dist/resolver.js +126 -0
- package/dist/scripts/validate-foreign-workspace-path.d.ts +1 -0
- package/dist/scripts/validate-foreign-workspace-path.js +39 -0
- package/dist/tools/agent_memory_tools.d.ts +485 -0
- package/dist/tools/agent_memory_tools.js +793 -0
- package/dist/tools/create_skill.d.ts +46 -0
- package/dist/tools/create_skill.js +46 -0
- package/dist/tools/get_doc.d.ts +21 -0
- package/dist/tools/get_doc.js +24 -0
- package/dist/tools/get_persona.d.ts +15 -0
- package/dist/tools/get_persona.js +20 -0
- package/dist/tools/get_reference.d.ts +15 -0
- package/dist/tools/get_reference.js +20 -0
- package/dist/tools/get_skill.d.ts +34 -0
- package/dist/tools/get_skill.js +65 -0
- package/dist/tools/get_template_doc.d.ts +21 -0
- package/dist/tools/get_template_doc.js +24 -0
- package/dist/tools/list_docs.d.ts +15 -0
- package/dist/tools/list_docs.js +16 -0
- package/dist/tools/list_skills.d.ts +18 -0
- package/dist/tools/list_skills.js +17 -0
- package/dist/tools/list_template_docs.d.ts +15 -0
- package/dist/tools/list_template_docs.js +16 -0
- package/dist/tools/memory-engineering.d.ts +225 -0
- package/dist/tools/memory-engineering.js +284 -0
- package/dist/tools/memory-explain.d.ts +34 -0
- package/dist/tools/memory-explain.js +109 -0
- package/dist/tools/memory-governance.d.ts +171 -0
- package/dist/tools/memory-governance.js +224 -0
- package/dist/tools/memory-hooks.d.ts +67 -0
- package/dist/tools/memory-hooks.js +102 -0
- package/dist/tools/memory-working.d.ts +98 -0
- package/dist/tools/memory-working.js +101 -0
- package/dist/tools/memory_capture_turn.d.ts +66 -0
- package/dist/tools/memory_capture_turn.js +85 -0
- package/dist/tools/memory_consolidate.d.ts +55 -0
- package/dist/tools/memory_consolidate.js +176 -0
- package/dist/tools/memory_contradictions.d.ts +53 -0
- package/dist/tools/memory_contradictions.js +52 -0
- package/dist/tools/memory_graph_query.d.ts +51 -0
- package/dist/tools/memory_graph_query.js +35 -0
- package/dist/tools/memory_mark_cited.d.ts +43 -0
- package/dist/tools/memory_mark_cited.js +63 -0
- package/dist/tools/memory_recall.d.ts +77 -0
- package/dist/tools/memory_recall.js +81 -0
- package/dist/tools/memory_register_skill_hints.d.ts +49 -0
- package/dist/tools/memory_register_skill_hints.js +55 -0
- package/dist/tools/memory_resolve_session.d.ts +24 -0
- package/dist/tools/memory_resolve_session.js +133 -0
- package/dist/tools/memory_search.d.ts +146 -0
- package/dist/tools/memory_search.js +84 -0
- package/dist/tools/search_skills.d.ts +18 -0
- package/dist/tools/search_skills.js +17 -0
- package/dist/tools/update_doc.d.ts +24 -0
- package/dist/tools/update_doc.js +35 -0
- package/dist/tools/update_skill.d.ts +30 -0
- package/dist/tools/update_skill.js +80 -0
- package/dist/types.d.ts +81 -0
- package/dist/types.js +4 -0
- package/dist/writer.d.ts +30 -0
- package/dist/writer.js +220 -0
- package/docs/TEMPLATE ONLY +1 -0
- package/docs/api/API.md +64 -0
- package/docs/api/security/SECURITY.md +58 -0
- package/docs/deployment/DockerDeployment.md +30 -0
- package/docs/design/Design.md +59 -0
- package/docs/design/themes/apple.md +101 -0
- package/docs/design/themes/dieter-grid.md +100 -0
- package/docs/design/themes/gallery-white.md +100 -0
- package/docs/design/themes/pinterest.md +101 -0
- package/docs/design/themes/realty-open-house.md +101 -0
- package/docs/design/themes/vodafone.md +101 -0
- package/docs/hooks/Hooks.md +30 -0
- package/docs/schema/Schema.md +35 -0
- package/docs/strategy/ScalingStrategy.md +19 -0
- package/package.json +88 -0
- package/references/accessibility-checklist.md +160 -0
- package/references/orchestration-patterns.md +370 -0
- package/references/performance-checklist.md +153 -0
- package/references/security-checklist.md +134 -0
- package/references/testing-patterns.md +236 -0
- package/skills/agent/adr-skill/SKILL.md +299 -0
- package/skills/agent/agentic-engineering-workflow/SKILL.md +95 -0
- package/skills/agent/bootstrap-skill/SKILL.md +103 -0
- package/skills/agent/context-engineering/SKILL.md +307 -0
- package/skills/agent/debugging-and-error-recovery/SKILL.md +308 -0
- package/skills/agent/developer-growth-analysis/SKILL.md +328 -0
- package/skills/agent/doubt-driven-skill/SKILL.md +249 -0
- package/skills/agent/handover-skill/SKILL.md +112 -0
- package/skills/agent/idea-refine-skill/SKILL.md +185 -0
- package/skills/agent/idea-refine-skill/examples.md +238 -0
- package/skills/agent/idea-refine-skill/frameworks.md +99 -0
- package/skills/agent/idea-refine-skill/refinement-criteria.md +113 -0
- package/skills/agent/interview-skill/SKILL.md +226 -0
- package/skills/agent/planning-skill/SKILL.md +270 -0
- package/skills/agent/skill-authoring/SKILL.md +189 -0
- package/skills/agent/source-driven-skill/SKILL.md +197 -0
- package/skills/agent/spec-driven-skill/SKILL.md +221 -0
- package/skills/agent/sync-skill/SKILL.md +92 -0
- package/skills/agent/using-agent-skills/SKILL.md +189 -0
- package/skills/api/a11y-skill/SKILL.md +88 -0
- package/skills/api/api-skill/SKILL.md +123 -0
- package/skills/api/auth-skill/SKILL.md +80 -0
- package/skills/api/debug-skill/SKILL.md +535 -0
- package/skills/api/performance-skill/SKILL.md +100 -0
- package/skills/api/testing-skill/SKILL.md +100 -0
- package/skills/codebase/code-review-and-quality/SKILL.md +228 -0
- package/skills/codebase/code-simplification/SKILL.md +352 -0
- package/skills/codebase/code-structure-cleanup/SKILL.md +142 -0
- package/skills/codebase/concerns-skill/SKILL.md +89 -0
- package/skills/codebase/conventions-skill/SKILL.md +95 -0
- package/skills/codebase/doc-management-skill/SKILL.md +47 -0
- package/skills/codebase/git-workflow-skill/SKILL.md +312 -0
- package/skills/communication/1-3-1-rule/SKILL.md +120 -0
- package/skills/design/brutalist-skill/SKILL.md +131 -0
- package/skills/design/concept-diagrams/SKILL.md +387 -0
- package/skills/design/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
- package/skills/design/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
- package/skills/design/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
- package/skills/design/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
- package/skills/design/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
- package/skills/design/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
- package/skills/design/concept-diagrams/examples/electricity-grid-flow.md +182 -0
- package/skills/design/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
- package/skills/design/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
- package/skills/design/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
- package/skills/design/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
- package/skills/design/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
- package/skills/design/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
- package/skills/design/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
- package/skills/design/concept-diagrams/examples/wind-turbine-structure.md +338 -0
- package/skills/design/concept-diagrams/references/dashboard-patterns.md +43 -0
- package/skills/design/concept-diagrams/references/infrastructure-patterns.md +144 -0
- package/skills/design/concept-diagrams/references/physical-shape-cookbook.md +42 -0
- package/skills/design/concept-diagrams/templates/template.html +174 -0
- package/skills/design/gpt-tasteskill/SKILL.md +114 -0
- package/skills/design/minimalist-skill/SKILL.md +116 -0
- package/skills/design/output-skill/SKILL.md +87 -0
- package/skills/design/redesign-skill/SKILL.md +213 -0
- package/skills/design/soft-skill/SKILL.md +132 -0
- package/skills/design/stitch-skill/EXAMPLE.md +121 -0
- package/skills/design/stitch-skill/SKILL.md +222 -0
- package/skills/design/taste-skill/SKILL.md +269 -0
- package/skills/devops/ci-cd-skill/SKILL.md +402 -0
- package/skills/devops/docker-skill/SKILL.md +297 -0
- package/skills/devops/domain-skill/SKILL.md +234 -0
- package/skills/lifecycle/changelog-generator/SKILL.md +135 -0
- package/skills/lifecycle/incremental-skill/SKILL.md +257 -0
- package/skills/lifecycle/migration-skill/SKILL.md +218 -0
- package/skills/lifecycle/shipping-skill/SKILL.md +321 -0
- package/skills/memory/agent-memory/SKILL.md +122 -0
- package/skills/qa/browser-testing-skill/SKILL.md +314 -0
- package/skills/ux/adversarial-ux-skill/SKILL.md +168 -0
package/docs/api/API.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# API Documentation
|
|
2
|
+
|
|
3
|
+
This document outlines the API endpoints, authentication, and data structures for the project.
|
|
4
|
+
|
|
5
|
+
## 🚀 Base URL
|
|
6
|
+
- Development: `http://localhost:3001/api`
|
|
7
|
+
- Production: `https://api.the project domain.com`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 🔐 Authentication
|
|
12
|
+
|
|
13
|
+
Describe the authentication mechanism here (e.g., JWT, OAuth2, API Keys).
|
|
14
|
+
|
|
15
|
+
### Authorization Header
|
|
16
|
+
`Authorization: Bearer <token>`
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📡 Endpoints
|
|
21
|
+
|
|
22
|
+
### [Component/Module Name]
|
|
23
|
+
|
|
24
|
+
#### `GET /v1/resource`
|
|
25
|
+
- **Description**: Fetch a list of resources.
|
|
26
|
+
- **Query Params**:
|
|
27
|
+
- `cursor` (optional): Opaque cursor returned by the previous response.
|
|
28
|
+
- `limit` (optional): Page size from `1` to `100`. Defaults to `20`.
|
|
29
|
+
- **Response**:
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"success": true,
|
|
33
|
+
"data": [],
|
|
34
|
+
"nextCursor": null,
|
|
35
|
+
"limit": 20,
|
|
36
|
+
"hasMore": false
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
List endpoints use cursor-based pagination only. Do not use offset or `page` query parameters for live lists.
|
|
41
|
+
|
|
42
|
+
#### `POST /v1/resource`
|
|
43
|
+
- **Description**: Create a new resource.
|
|
44
|
+
- **Body**:
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"name": "string"
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🏗️ Error Handling
|
|
54
|
+
|
|
55
|
+
Standard error response format:
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"success": false,
|
|
59
|
+
"error": {
|
|
60
|
+
"code": "ERROR_CODE",
|
|
61
|
+
"message": "Human readable message"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
This repository handles production user data and privileged database access. Treat security requirements as **non-optional**. These rules are machine-readable and will be enforced by AI agents during development and PR review.
|
|
4
|
+
|
|
5
|
+
## 🛡️ Core Rules (AI Enforced)
|
|
6
|
+
|
|
7
|
+
### 🔑 Credentials & Secrets
|
|
8
|
+
- **[SEC-001] No Hardcoded Secrets**: Never commit database passwords, JWT secrets, API keys, or service account credentials.
|
|
9
|
+
- **[SEC-002] Environment Variable Scoping**: Only variables prefixed with `NEXT_PUBLIC_` are allowed in client-side code. All others must remain server-side.
|
|
10
|
+
- **[SEC-003] Secret Rotation**: Any exposed secret must be rotated within 1 hour of discovery.
|
|
11
|
+
|
|
12
|
+
### 💉 Injection & Sanitization
|
|
13
|
+
- **[SEC-101] No Raw Queries**: Always use parameterized queries or ORM methods. Never use string concatenation to build SQL.
|
|
14
|
+
- **[SEC-102] XSS Prevention**: All user-generated content (e.g., Stories, Bios) must be sanitized before being rendered. Prefer React's default escaping; use `DOMPurify` for HTML.
|
|
15
|
+
- **[SEC-103] Input Validation**: Every API endpoint must have a Zod schema validating 100% of the input surface area.
|
|
16
|
+
|
|
17
|
+
### 👤 Identity & Access
|
|
18
|
+
- **[SEC-201] derived User Identity**: Never trust `user_id` or `role` from request bodies. Always derive identity from the verified JWT/Session in `req.user`.
|
|
19
|
+
- **[SEC-202] Secure Session Cookies**: Refresh tokens must use `httpOnly`, `Secure`, and `SameSite=Strict` flags.
|
|
20
|
+
- **[SEC-203] RBAC Enforcement**: Admin-only routes must use the `requireAdmin` middleware which performs a database-level role check.
|
|
21
|
+
|
|
22
|
+
### 📦 Data & Dependencies
|
|
23
|
+
- **[SEC-301] PII Masking**: Never log full email addresses, phone numbers, or passwords. Use `maskEmail()` or similar utilities in logs.
|
|
24
|
+
- **[SEC-302] Dependency Auditing**: Run `npm audit` weekly. Critical/High vulnerabilities must be patched immediately.
|
|
25
|
+
- **[SEC-303] Secure Headers**: Every response must include `X-Content-Type-Options: nosniff` and a strict `Content-Security-Policy`.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 🛠️ Architectural Guardians
|
|
30
|
+
|
|
31
|
+
### The "Security Shield" Pattern
|
|
32
|
+
Every new API route must implement the following "Shield" in order:
|
|
33
|
+
1. **Rate Limiting**: Defend against brute force.
|
|
34
|
+
2. **Authentication**: Verify the caller.
|
|
35
|
+
3. **Authorization**: Check permissions.
|
|
36
|
+
4. **Validation**: Sanitize the data.
|
|
37
|
+
|
|
38
|
+
### Database Hardening
|
|
39
|
+
- Direct database writes from client code are strictly forbidden.
|
|
40
|
+
- Use the `readQuery` vs `writeQuery` pattern to support read replicas while ensuring data integrity on the primary.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 🤖 AI Agent Review Protocol
|
|
45
|
+
|
|
46
|
+
When reviewing a Pull Request, AI agents must:
|
|
47
|
+
1. Scan for `[SEC-xxx]` compliance.
|
|
48
|
+
2. If a violation is found, comment with the Rule ID and required fix.
|
|
49
|
+
3. Block merge if any `Critical` rules (SEC-001, SEC-101, SEC-201) are violated.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🚨 Incident Response
|
|
54
|
+
If a security vulnerability or secret exposure is detected:
|
|
55
|
+
1. **Kill Switch**: Use the Admin dashboard to revoke sessions or deactivate impacted accounts.
|
|
56
|
+
2. **Rotate**: Update environment variables in production immediately.
|
|
57
|
+
3. **Audit**: Use `GET /api/admin/audit-logs` to trace the impact.
|
|
58
|
+
4. **Review**: Refer to the [Authentication Skill](../../../skills/api/auth-skill/SKILL.md) for session revocation technicals.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Deployment Guide
|
|
2
|
+
|
|
3
|
+
Instructions for deploying the project using Docker and related infrastructure.
|
|
4
|
+
|
|
5
|
+
## 🐳 Docker Setup
|
|
6
|
+
|
|
7
|
+
### Local Development
|
|
8
|
+
```bash
|
|
9
|
+
docker-compose up -d
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
### Production Build
|
|
13
|
+
```bash
|
|
14
|
+
docker build -t-api .
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 🛠️ Infrastructure Stack
|
|
20
|
+
- **Ingress**: Traefik / Cloudflare Tunnel.
|
|
21
|
+
- **SSL**: Let's Encrypt / Certbot.
|
|
22
|
+
- **Monitoring**: Prometheus / Grafana.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🚀 Rollout Process
|
|
27
|
+
1. Build images.
|
|
28
|
+
2. Push to registry.
|
|
29
|
+
3. Update `docker-compose.prod.yml` on server.
|
|
30
|
+
4. Restart containers.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# [PROJECT_NAME] Design System
|
|
2
|
+
|
|
3
|
+
This document defines the visual language, design tokens, and component standards for the project.
|
|
4
|
+
|
|
5
|
+
## 🎨 Visual Identity
|
|
6
|
+
|
|
7
|
+
- **Brand Essence**: [Describe the core vibe/mood of the project]
|
|
8
|
+
- **Core Principle**: [e.g., Minimalist, High-Density, Editorial]
|
|
9
|
+
|
|
10
|
+
## 🌈 Colors
|
|
11
|
+
|
|
12
|
+
| Name | Value | Usage |
|
|
13
|
+
| :--- | :--- | :--- |
|
|
14
|
+
| **Primary** | `#000000` | Headlines, core text |
|
|
15
|
+
| **Secondary** | `#666666` | Metadata, borders |
|
|
16
|
+
| **Accent** | `#007AFF` | Primary actions, highlights |
|
|
17
|
+
| **Surface** | `#FFFFFF` | Backgrounds, cards |
|
|
18
|
+
|
|
19
|
+
## Typography
|
|
20
|
+
|
|
21
|
+
- **Heading**: [Font Family], [Weight], [Size]
|
|
22
|
+
- **Body**: [Font Family], [Weight], [Size]
|
|
23
|
+
- **Mono**: [Font Family], [Weight], [Size]
|
|
24
|
+
|
|
25
|
+
## 📐 Layout & Spacing
|
|
26
|
+
|
|
27
|
+
- **Grid System**: [e.g., 12-column, Masonry]
|
|
28
|
+
- **Border Radius**: [e.g., 12px, 22px]
|
|
29
|
+
- **Base Spacing**: [e.g., 8px]
|
|
30
|
+
|
|
31
|
+
## 🧩 Components
|
|
32
|
+
|
|
33
|
+
### Buttons
|
|
34
|
+
- **Primary**: Accent background, white text.
|
|
35
|
+
- **Secondary**: Clear background, primary border.
|
|
36
|
+
|
|
37
|
+
### Cards
|
|
38
|
+
- Surface background, subtle shadow/border, [X]px radius.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 🎭 Themes
|
|
43
|
+
|
|
44
|
+
[PROJECT_NAME] supports swappable themes. You can find pre-configured design systems in [docs/design/themes/](./themes/):
|
|
45
|
+
|
|
46
|
+
- **[Apple](./themes/apple.md)**: Premium white space, cinematic imagery.
|
|
47
|
+
- **[Pinterest](./themes/pinterest.md)**: Masonry grid, image-first, red accents.
|
|
48
|
+
- **[Vodafone](./themes/vodafone.md)**: Monumental all-caps, bold red bands.
|
|
49
|
+
- **[Concrete Lemon](./themes/dieter-grid.md)**: Brutalist restraint, high-viz yellow.
|
|
50
|
+
- **[Gallery White](./themes/gallery-white.md)**: Maximum whitespace, portfolio-ready.
|
|
51
|
+
- **[Realty Open House](./themes/realty-open-house.md)**: Linen warmth, brass accents, serif display.
|
|
52
|
+
|
|
53
|
+
To apply a theme, copy its contents into this file.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## AI Agent Instructions
|
|
58
|
+
|
|
59
|
+
When generating UI, adhere strictly to these tokens. Use the `taste-skill` for layout engineering and motion standards.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
name: Apple
|
|
4
|
+
description: Premium white space. SF Pro. Cinematic imagery.
|
|
5
|
+
colors:
|
|
6
|
+
primary: "#1D1D1F"
|
|
7
|
+
secondary: "#6E6E73"
|
|
8
|
+
tertiary: "#0071E3"
|
|
9
|
+
neutral: "#F5F5F7"
|
|
10
|
+
surface: "#FFFFFF"
|
|
11
|
+
on-primary: "#FFFFFF"
|
|
12
|
+
typography:
|
|
13
|
+
display:
|
|
14
|
+
fontFamily: Inter
|
|
15
|
+
fontSize: 5rem
|
|
16
|
+
fontWeight: 600
|
|
17
|
+
letterSpacing: "-0.035em"
|
|
18
|
+
h1:
|
|
19
|
+
fontFamily: Inter
|
|
20
|
+
fontSize: 2.6rem
|
|
21
|
+
fontWeight: 600
|
|
22
|
+
body:
|
|
23
|
+
fontFamily: Inter
|
|
24
|
+
fontSize: 1rem
|
|
25
|
+
lineHeight: 1.5
|
|
26
|
+
label:
|
|
27
|
+
fontFamily: Inter
|
|
28
|
+
fontSize: 0.82rem
|
|
29
|
+
fontWeight: 500
|
|
30
|
+
letterSpacing: "0"
|
|
31
|
+
rounded:
|
|
32
|
+
sm: 8px
|
|
33
|
+
md: 12px
|
|
34
|
+
lg: 20px
|
|
35
|
+
spacing:
|
|
36
|
+
sm: 8px
|
|
37
|
+
md: 16px
|
|
38
|
+
lg: 32px
|
|
39
|
+
components:
|
|
40
|
+
button-primary:
|
|
41
|
+
backgroundColor: "{colors.tertiary}"
|
|
42
|
+
textColor: "{colors.on-primary}"
|
|
43
|
+
rounded: "{rounded.md}"
|
|
44
|
+
padding: 12px 20px
|
|
45
|
+
card:
|
|
46
|
+
backgroundColor: "{colors.surface}"
|
|
47
|
+
textColor: "{colors.primary}"
|
|
48
|
+
rounded: "{rounded.lg}"
|
|
49
|
+
padding: 24px
|
|
50
|
+
---
|
|
51
|
+
## Overview
|
|
52
|
+
|
|
53
|
+
Apple: premium white space, SF-Pro-style tight sans, cinematic full-bleed imagery, near-zero chrome.
|
|
54
|
+
|
|
55
|
+
## Colors
|
|
56
|
+
|
|
57
|
+
The palette is built around high-contrast neutrals and a single accent that drives interaction.
|
|
58
|
+
|
|
59
|
+
- **Primary (`#1D1D1F`):** Headlines and core text.
|
|
60
|
+
- **Secondary (`#6E6E73`):** Borders, captions, and metadata.
|
|
61
|
+
- **Tertiary (`#0071E3`):** The sole driver for interaction. Reserve it.
|
|
62
|
+
- **Neutral (`#F5F5F7`):** The page foundation.
|
|
63
|
+
|
|
64
|
+
## Typography
|
|
65
|
+
|
|
66
|
+
- **display:** Inter 5rem
|
|
67
|
+
- **h1:** Inter 2.6rem
|
|
68
|
+
- **body:** Inter 1rem
|
|
69
|
+
- **label:** Inter 0.82rem
|
|
70
|
+
|
|
71
|
+
## Do's and Don'ts
|
|
72
|
+
|
|
73
|
+
- **Do** use Tertiary for exactly one action per screen.
|
|
74
|
+
- **Do** let Neutral carry the composition — negative space is a feature.
|
|
75
|
+
- **Don't** introduce gradients. This system is flat on purpose.
|
|
76
|
+
- **Don't** mix Tertiary with alternate accents; the single-accent rule is load-bearing.
|
|
77
|
+
|
|
78
|
+
## AI Agent Instructions: Taste Skill Integration
|
|
79
|
+
|
|
80
|
+
When generating code or designing interfaces based on this system, the AI Agent **MUST** also apply the advanced frontend engineering principles defined in the Taste Skill framework.
|
|
81
|
+
|
|
82
|
+
1. **Apply the Skill:** Read and follow the directives outlined in `../../skills/design/taste-skill/SKILL.md` (or the equivalent `design-taste-frontend` skill).
|
|
83
|
+
2. **Merge Logic:**
|
|
84
|
+
- Use the **Colors**, **Typography**, and **Spacing** defined in this `Design.md` document as your absolute source of truth for all design tokens.
|
|
85
|
+
- Use the **Taste Skill** directives for layout engineering, motion (e.g., Framer Motion), anti-slop bias correction, and modern component architecture.
|
|
86
|
+
3. **Active Baseline Configuration for this Design:**
|
|
87
|
+
- `DESIGN_VARIANCE`: 2 (Enforce strict, symmetrical Apple-style grids and cinematic full-bleed imagery).
|
|
88
|
+
- `MOTION_INTENSITY`: 3 (Slow, cinematic spring physics with high-quality eases).
|
|
89
|
+
- `VISUAL_DENSITY`: 2 (Extremely airy and spacious, maximum negative space).
|
|
90
|
+
|
|
91
|
+
### Available Taste Skill Modules
|
|
92
|
+
The following modules are available in `../../skills/design/`. The AI should refer to the corresponding `SKILL.md` files when specific stylistic variations or task optimizations are needed:
|
|
93
|
+
- **`taste-skill`**: The main design skill for premium frontend code. Covers layout, typography, colors, spacing, and motion.
|
|
94
|
+
- **`gpt-taste`**: Elite Awwwards-level frontend design and GSAP motion skill for premium, deterministic, anti-slop UI generation.
|
|
95
|
+
- **`soft-skill`**: Focuses on an expensive, soft UI look with premium fonts, whitespace, depth, and smooth animations.
|
|
96
|
+
- **`minimalist-skill`**: Enforces clean, editorial-style interfaces (Notion/Linear style) with strict monochrome palettes.
|
|
97
|
+
- **`brutalist-skill`**: Raw mechanical interfaces, Swiss typography, extreme scale contrast.
|
|
98
|
+
- **`redesign-skill`**: For upgrading existing projects by auditing and fixing design problems.
|
|
99
|
+
- **`output-skill`**: Prevents AI from being lazy, skipping code blocks, or using placeholder comments.
|
|
100
|
+
- **`stitch-skill`**: Google Stitch-compatible semantic design rules for premium AI UI generation.
|
|
101
|
+
- **`concept-diagrams`**: Unified visual language for creating minimal, SVG-based architecture and concept diagrams.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
name: Concrete Lemon
|
|
4
|
+
description: Raw concrete, structural grid, lemon accent.
|
|
5
|
+
colors:
|
|
6
|
+
primary: "#1A1A1A"
|
|
7
|
+
secondary: "#6B6B6B"
|
|
8
|
+
tertiary: "#D4E157"
|
|
9
|
+
neutral: "#D9D6D0"
|
|
10
|
+
surface: "#F0EDE6"
|
|
11
|
+
on-primary: "#1A1A1A"
|
|
12
|
+
typography:
|
|
13
|
+
display:
|
|
14
|
+
fontFamily: Archivo
|
|
15
|
+
fontSize: 4.5rem
|
|
16
|
+
fontWeight: 800
|
|
17
|
+
letterSpacing: "-0.04em"
|
|
18
|
+
h1:
|
|
19
|
+
fontFamily: Archivo
|
|
20
|
+
fontSize: 2.5rem
|
|
21
|
+
fontWeight: 800
|
|
22
|
+
body:
|
|
23
|
+
fontFamily: Archivo
|
|
24
|
+
fontSize: 0.95rem
|
|
25
|
+
lineHeight: 1.5
|
|
26
|
+
label:
|
|
27
|
+
fontFamily: Archivo Narrow
|
|
28
|
+
fontSize: 0.72rem
|
|
29
|
+
letterSpacing: "0.1em"
|
|
30
|
+
rounded:
|
|
31
|
+
sm: 0px
|
|
32
|
+
md: 0px
|
|
33
|
+
lg: 2px
|
|
34
|
+
spacing:
|
|
35
|
+
sm: 8px
|
|
36
|
+
md: 16px
|
|
37
|
+
lg: 32px
|
|
38
|
+
components:
|
|
39
|
+
button-primary:
|
|
40
|
+
backgroundColor: "{colors.tertiary}"
|
|
41
|
+
textColor: "{colors.on-primary}"
|
|
42
|
+
rounded: "{rounded.md}"
|
|
43
|
+
padding: 12px 20px
|
|
44
|
+
card:
|
|
45
|
+
backgroundColor: "{colors.surface}"
|
|
46
|
+
textColor: "{colors.primary}"
|
|
47
|
+
rounded: "{rounded.lg}"
|
|
48
|
+
padding: 24px
|
|
49
|
+
---
|
|
50
|
+
## Overview
|
|
51
|
+
|
|
52
|
+
Brutalist restraint with a jolt. Concrete greys, hard sans, a single high-visibility lemon for wayfinding.
|
|
53
|
+
|
|
54
|
+
## Colors
|
|
55
|
+
|
|
56
|
+
The palette is built around high-contrast neutrals and a single accent that drives interaction.
|
|
57
|
+
|
|
58
|
+
- **Primary (`#1A1A1A`):** Headlines and core text.
|
|
59
|
+
- **Secondary (`#6B6B6B`):** Borders, captions, and metadata.
|
|
60
|
+
- **Tertiary (`#D4E157`):** The sole driver for interaction. Reserve it.
|
|
61
|
+
- **Neutral (`#D9D6D0`):** The page foundation.
|
|
62
|
+
|
|
63
|
+
## Typography
|
|
64
|
+
|
|
65
|
+
- **display:** Archivo 4.5rem
|
|
66
|
+
- **h1:** Archivo 2.5rem
|
|
67
|
+
- **body:** Archivo 0.95rem
|
|
68
|
+
- **label:** Archivo Narrow 0.72rem
|
|
69
|
+
|
|
70
|
+
## Do's and Don'ts
|
|
71
|
+
|
|
72
|
+
- **Do** use Tertiary for exactly one action per screen.
|
|
73
|
+
- **Do** let Neutral carry the composition — negative space is a feature.
|
|
74
|
+
- **Don't** introduce gradients. This system is flat on purpose.
|
|
75
|
+
- **Don't** mix Tertiary with alternate accents; the single-accent rule is load-bearing.
|
|
76
|
+
|
|
77
|
+
## AI Agent Instructions: Taste Skill Integration
|
|
78
|
+
|
|
79
|
+
When generating code or designing interfaces based on this system, the AI Agent **MUST** also apply the advanced frontend engineering principles defined in the Taste Skill framework.
|
|
80
|
+
|
|
81
|
+
1. **Apply the Skill:** Read and follow the directives outlined in `../../skills/design/taste-skill/SKILL.md` (or the equivalent `design-taste-frontend` skill).
|
|
82
|
+
2. **Merge Logic:**
|
|
83
|
+
- Use the **Colors**, **Typography**, and **Spacing** defined in this `Design.md` document as your absolute source of truth for all design tokens.
|
|
84
|
+
- Use the **Taste Skill** directives for layout engineering, motion (e.g., Framer Motion), anti-slop bias correction, and modern component architecture.
|
|
85
|
+
3. **Active Baseline Configuration for this Design:**
|
|
86
|
+
- `DESIGN_VARIANCE`: 1 (Strict, mathematical grid layouts; brutalist restraint).
|
|
87
|
+
- `MOTION_INTENSITY`: 1 (Mechanical, near-instant transitions; zero fluff).
|
|
88
|
+
- `VISUAL_DENSITY`: 8 (High information density, structural hierarchy, and functional clarity).
|
|
89
|
+
|
|
90
|
+
### Available Taste Skill Modules
|
|
91
|
+
The following modules are available in `../../skills/design/`. The AI should refer to the corresponding `SKILL.md` files when specific stylistic variations or task optimizations are needed:
|
|
92
|
+
- **`taste-skill`**: The main design skill for premium frontend code. Covers layout, typography, colors, spacing, and motion.
|
|
93
|
+
- **`gpt-taste`**: Elite Awwwards-level frontend design and GSAP motion skill for premium, deterministic, anti-slop UI generation.
|
|
94
|
+
- **`soft-skill`**: Focuses on an expensive, soft UI look with premium fonts, whitespace, depth, and smooth animations.
|
|
95
|
+
- **`minimalist-skill`**: Enforces clean, editorial-style interfaces (Notion/Linear style) with strict monochrome palettes.
|
|
96
|
+
- **`brutalist-skill`**: Raw mechanical interfaces, Swiss typography, extreme scale contrast.
|
|
97
|
+
- **`redesign-skill`**: For upgrading existing projects by auditing and fixing design problems.
|
|
98
|
+
- **`output-skill`**: Prevents AI from being lazy, skipping code blocks, or using placeholder comments.
|
|
99
|
+
- **`stitch-skill`**: Google Stitch-compatible semantic design rules for premium AI UI generation.
|
|
100
|
+
- **`concept-diagrams`**: Unified visual language for creating minimal, SVG-based architecture and concept diagrams.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
name: Gallery White
|
|
4
|
+
description: Contemporary gallery: nothing on the walls but art.
|
|
5
|
+
colors:
|
|
6
|
+
primary: "#1C1C1B"
|
|
7
|
+
secondary: "#8F8F8D"
|
|
8
|
+
tertiary: "#595957"
|
|
9
|
+
neutral: "#F9F9F7"
|
|
10
|
+
surface: "#FFFFFF"
|
|
11
|
+
on-primary: "#FFFFFF"
|
|
12
|
+
typography:
|
|
13
|
+
display:
|
|
14
|
+
fontFamily: Cormorant Garamond
|
|
15
|
+
fontSize: 5.5rem
|
|
16
|
+
fontWeight: 300
|
|
17
|
+
letterSpacing: "-0.02em"
|
|
18
|
+
h1:
|
|
19
|
+
fontFamily: Cormorant Garamond
|
|
20
|
+
fontSize: 3rem
|
|
21
|
+
fontWeight: 300
|
|
22
|
+
body:
|
|
23
|
+
fontFamily: Inter
|
|
24
|
+
fontSize: 0.95rem
|
|
25
|
+
lineHeight: 1.65
|
|
26
|
+
label:
|
|
27
|
+
fontFamily: Inter
|
|
28
|
+
fontSize: 0.7rem
|
|
29
|
+
letterSpacing: "0.14em"
|
|
30
|
+
rounded:
|
|
31
|
+
sm: 0px
|
|
32
|
+
md: 0px
|
|
33
|
+
lg: 0px
|
|
34
|
+
spacing:
|
|
35
|
+
sm: 8px
|
|
36
|
+
md: 16px
|
|
37
|
+
lg: 32px
|
|
38
|
+
components:
|
|
39
|
+
button-primary:
|
|
40
|
+
backgroundColor: "{colors.tertiary}"
|
|
41
|
+
textColor: "{colors.on-primary}"
|
|
42
|
+
rounded: "{rounded.md}"
|
|
43
|
+
padding: 12px 20px
|
|
44
|
+
card:
|
|
45
|
+
backgroundColor: "{colors.surface}"
|
|
46
|
+
textColor: "{colors.primary}"
|
|
47
|
+
rounded: "{rounded.lg}"
|
|
48
|
+
padding: 24px
|
|
49
|
+
---
|
|
50
|
+
## Overview
|
|
51
|
+
|
|
52
|
+
Maximum whitespace. Near-white surface, thin rules, a single charcoal for typography. Built for portfolios.
|
|
53
|
+
|
|
54
|
+
## Colors
|
|
55
|
+
|
|
56
|
+
The palette is built around high-contrast neutrals and a single accent that drives interaction.
|
|
57
|
+
|
|
58
|
+
- **Primary (`#1C1C1B`):** Headlines and core text.
|
|
59
|
+
- **Secondary (`#8F8F8D`):** Borders, captions, and metadata.
|
|
60
|
+
- **Tertiary (`#595957`):** The sole driver for interaction. Reserve it.
|
|
61
|
+
- **Neutral (`#F9F9F7`):** The page foundation.
|
|
62
|
+
|
|
63
|
+
## Typography
|
|
64
|
+
|
|
65
|
+
- **display:** Cormorant Garamond 5.5rem
|
|
66
|
+
- **h1:** Cormorant Garamond 3rem
|
|
67
|
+
- **body:** Inter 0.95rem
|
|
68
|
+
- **label:** Inter 0.7rem
|
|
69
|
+
|
|
70
|
+
## Do's and Don'ts
|
|
71
|
+
|
|
72
|
+
- **Do** use Tertiary for exactly one action per screen.
|
|
73
|
+
- **Do** let Neutral carry the composition — negative space is a feature.
|
|
74
|
+
- **Don't** introduce gradients. This system is flat on purpose.
|
|
75
|
+
- **Don't** mix Tertiary with alternate accents; the single-accent rule is load-bearing.
|
|
76
|
+
|
|
77
|
+
## AI Agent Instructions: Taste Skill Integration
|
|
78
|
+
|
|
79
|
+
When generating code or designing interfaces based on this system, the AI Agent **MUST** also apply the advanced frontend engineering principles defined in the Taste Skill framework.
|
|
80
|
+
|
|
81
|
+
1. **Apply the Skill:** Read and follow the directives outlined in `../../skills/design/taste-skill/SKILL.md` (or the equivalent `design-taste-frontend` skill).
|
|
82
|
+
2. **Merge Logic:**
|
|
83
|
+
- Use the **Colors**, **Typography**, and **Spacing** defined in this `Design.md` document as your absolute source of truth for all design tokens.
|
|
84
|
+
- Use the **Taste Skill** directives for layout engineering, motion (e.g., Framer Motion), anti-slop bias correction, and modern component architecture.
|
|
85
|
+
3. **Active Baseline Configuration for this Design:**
|
|
86
|
+
- `DESIGN_VARIANCE`: 9 (Artistic, unexpected layouts with varying scales and asymmetric compositions).
|
|
87
|
+
- `MOTION_INTENSITY`: 4 (Smooth, elegant fades and subtle transitions).
|
|
88
|
+
- `VISUAL_DENSITY`: 1 (Maximum whitespace, focus on one element at a time; contemporary gallery feel).
|
|
89
|
+
|
|
90
|
+
### Available Taste Skill Modules
|
|
91
|
+
The following modules are available in `../../skills/design/`. The AI should refer to the corresponding `SKILL.md` files when specific stylistic variations or task optimizations are needed:
|
|
92
|
+
- **`taste-skill`**: The main design skill for premium frontend code. Covers layout, typography, colors, spacing, and motion.
|
|
93
|
+
- **`gpt-taste`**: Elite Awwwards-level frontend design and GSAP motion skill for premium, deterministic, anti-slop UI generation.
|
|
94
|
+
- **`soft-skill`**: Focuses on an expensive, soft UI look with premium fonts, whitespace, depth, and smooth animations.
|
|
95
|
+
- **`minimalist-skill`**: Enforces clean, editorial-style interfaces (Notion/Linear style) with strict monochrome palettes.
|
|
96
|
+
- **`brutalist-skill`**: Raw mechanical interfaces, Swiss typography, extreme scale contrast.
|
|
97
|
+
- **`redesign-skill`**: For upgrading existing projects by auditing and fixing design problems.
|
|
98
|
+
- **`output-skill`**: Prevents AI from being lazy, skipping code blocks, or using placeholder comments.
|
|
99
|
+
- **`stitch-skill`**: Google Stitch-compatible semantic design rules for premium AI UI generation.
|
|
100
|
+
- **`concept-diagrams`**: Unified visual language for creating minimal, SVG-based architecture and concept diagrams.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: alpha
|
|
3
|
+
name: Pinterest
|
|
4
|
+
description: Red accent. Masonry grid. Image-first.
|
|
5
|
+
colors:
|
|
6
|
+
primary: "#111111"
|
|
7
|
+
secondary: "#767676"
|
|
8
|
+
tertiary: "#E60023"
|
|
9
|
+
neutral: "#EFEFEF"
|
|
10
|
+
surface: "#FFFFFF"
|
|
11
|
+
on-primary: "#FFFFFF"
|
|
12
|
+
typography:
|
|
13
|
+
display:
|
|
14
|
+
fontFamily: Inter
|
|
15
|
+
fontSize: 4.5rem
|
|
16
|
+
fontWeight: 800
|
|
17
|
+
letterSpacing: "-0.03em"
|
|
18
|
+
h1:
|
|
19
|
+
fontFamily: Inter
|
|
20
|
+
fontSize: 2.25rem
|
|
21
|
+
fontWeight: 700
|
|
22
|
+
body:
|
|
23
|
+
fontFamily: Inter
|
|
24
|
+
fontSize: 0.96rem
|
|
25
|
+
lineHeight: 1.55
|
|
26
|
+
label:
|
|
27
|
+
fontFamily: Inter
|
|
28
|
+
fontSize: 0.78rem
|
|
29
|
+
fontWeight: 700
|
|
30
|
+
letterSpacing: "0"
|
|
31
|
+
rounded:
|
|
32
|
+
sm: 12px
|
|
33
|
+
md: 16px
|
|
34
|
+
lg: 22px
|
|
35
|
+
spacing:
|
|
36
|
+
sm: 8px
|
|
37
|
+
md: 16px
|
|
38
|
+
lg: 32px
|
|
39
|
+
components:
|
|
40
|
+
button-primary:
|
|
41
|
+
backgroundColor: "{colors.tertiary}"
|
|
42
|
+
textColor: "{colors.on-primary}"
|
|
43
|
+
rounded: "{rounded.md}"
|
|
44
|
+
padding: 12px 20px
|
|
45
|
+
card:
|
|
46
|
+
backgroundColor: "{colors.surface}"
|
|
47
|
+
textColor: "{colors.primary}"
|
|
48
|
+
rounded: "{rounded.lg}"
|
|
49
|
+
padding: 24px
|
|
50
|
+
---
|
|
51
|
+
## Overview
|
|
52
|
+
|
|
53
|
+
Pinterest: visual-discovery masonry grid, red accent, image-first cards, rounded pill interactions.
|
|
54
|
+
|
|
55
|
+
## Colors
|
|
56
|
+
|
|
57
|
+
The palette is built around high-contrast neutrals and a single accent that drives interaction.
|
|
58
|
+
|
|
59
|
+
- **Primary (`#111111`):** Headlines and core text.
|
|
60
|
+
- **Secondary (`#767676`):** Borders, captions, and metadata.
|
|
61
|
+
- **Tertiary (`#E60023`):** The sole driver for interaction. Reserve it.
|
|
62
|
+
- **Neutral (`#EFEFEF`):** The page foundation.
|
|
63
|
+
|
|
64
|
+
## Typography
|
|
65
|
+
|
|
66
|
+
- **display:** Inter 4.5rem
|
|
67
|
+
- **h1:** Inter 2.25rem
|
|
68
|
+
- **body:** Inter 0.96rem
|
|
69
|
+
- **label:** Inter 0.78rem
|
|
70
|
+
|
|
71
|
+
## Do's and Don'ts
|
|
72
|
+
|
|
73
|
+
- **Do** use Tertiary for exactly one action per screen.
|
|
74
|
+
- **Do** let Neutral carry the composition — negative space is a feature.
|
|
75
|
+
- **Don't** introduce gradients. This system is flat on purpose.
|
|
76
|
+
- **Don't** mix Tertiary with alternate accents; the single-accent rule is load-bearing.
|
|
77
|
+
|
|
78
|
+
## AI Agent Instructions: Taste Skill Integration
|
|
79
|
+
|
|
80
|
+
When generating code or designing interfaces based on this system, the AI Agent **MUST** also apply the advanced frontend engineering principles defined in the Taste Skill framework.
|
|
81
|
+
|
|
82
|
+
1. **Apply the Skill:** Read and follow the directives outlined in `../../skills/design/taste-skill/SKILL.md` (or the equivalent `design-taste-frontend` skill).
|
|
83
|
+
2. **Merge Logic:**
|
|
84
|
+
- Use the **Colors**, **Typography**, and **Spacing** defined in this `Design.md` document as your absolute source of truth for all design tokens.
|
|
85
|
+
- Use the **Taste Skill** directives for layout engineering, motion (e.g., Framer Motion), anti-slop bias correction, and modern component architecture.
|
|
86
|
+
3. **Active Baseline Configuration for this Design:**
|
|
87
|
+
- `DESIGN_VARIANCE`: 8 (Encourage masonry layouts, asymmetric grids, and image-first structures to match the Pinterest visual discovery vibe).
|
|
88
|
+
- `MOTION_INTENSITY`: 5 (Fluid CSS, subtle spring physics for hover states, keeping it clean and functional).
|
|
89
|
+
- `VISUAL_DENSITY`: 7 (High information density, image-heavy cards, and efficient use of space).
|
|
90
|
+
|
|
91
|
+
### Available Taste Skill Modules
|
|
92
|
+
The following modules are available in `../../skills/design/`. The AI should refer to the corresponding `SKILL.md` files when specific stylistic variations or task optimizations are needed:
|
|
93
|
+
- **`taste-skill`**: The main design skill for premium frontend code. Covers layout, typography, colors, spacing, and motion.
|
|
94
|
+
- **`gpt-taste`**: Elite Awwwards-level frontend design and GSAP motion skill for premium, deterministic, anti-slop UI generation.
|
|
95
|
+
- **`soft-skill`**: Focuses on an expensive, soft UI look with premium fonts, whitespace, depth, and smooth animations.
|
|
96
|
+
- **`minimalist-skill`**: Enforces clean, editorial-style interfaces (Notion/Linear style) with strict monochrome palettes.
|
|
97
|
+
- **`brutalist-skill`**: Raw mechanical interfaces, Swiss typography, extreme scale contrast.
|
|
98
|
+
- **`redesign-skill`**: For upgrading existing projects by auditing and fixing design problems.
|
|
99
|
+
- **`output-skill`**: Prevents AI from being lazy, skipping code blocks, or using placeholder comments.
|
|
100
|
+
- **`stitch-skill`**: Google Stitch-compatible semantic design rules for premium AI UI generation.
|
|
101
|
+
- **`concept-diagrams`**: Unified visual language for creating minimal, SVG-based architecture and concept diagrams.
|