forgetrail 0.3.0
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/CONTINUATION_PROMPT.md +42 -0
- package/INITIAL_PROMPT.md +214 -0
- package/LICENSE +201 -0
- package/README.md +198 -0
- package/TRACKING_SCHEMA.md +162 -0
- package/TRY_FORGETRAIL.md +78 -0
- package/WORKFLOW.md +921 -0
- package/content/AGENT_INTEGRATION_claude.md +38 -0
- package/content/AGENT_INTEGRATION_cursor.md +53 -0
- package/content/AGENT_INTEGRATION_generic.md +50 -0
- package/content/AGENT_INTEGRATION_grok.md +82 -0
- package/content/DEV_AUTOMATION_SCRIPTS.md +103 -0
- package/content/FORGETRAIL_LITE.md +1202 -0
- package/content/FORGETRAIL_LITE_UPDATES.md +13 -0
- package/content/FORGETRAIL_PROGRESS.md +26 -0
- package/content/GENESIS_SPEC_PROMPT.md +70 -0
- package/content/GENESIS_STUB.md +18 -0
- package/content/GREENFIELD_INTAKE.md +76 -0
- package/content/KICKOFF_WITHOUT_MCP.md +16 -0
- package/content/LITE_WORKFLOW_TRACKING.json +42 -0
- package/content/NEW_PROJECT_BOOTSTRAP.md +180 -0
- package/content/ONE_CLICK_DEV_SETUP.md +142 -0
- package/content/PLAN_MODE_PATTERNS.md +43 -0
- package/content/POCKETBASE_SCHEMA_SCRIPT.md +52 -0
- package/content/POST_BOOTSTRAP_USER_MESSAGE.md +51 -0
- package/content/SCAFFOLD_INSTALL.json +110 -0
- package/content/SESSION_RESUME_MCP.md +35 -0
- package/content/SYSTEM_HEALTH_CHECKS.md +131 -0
- package/content/USER_REPLY_FORMAT.md +41 -0
- package/content/cursor-rules/forgetrail-lessons-gate.mdc +30 -0
- package/content/cursor-rules/forgetrail-lessons-mcp.mdc +24 -0
- package/content/cursor-rules/forgetrail-no-trailer.mdc +49 -0
- package/content/cursor-rules/forgetrail-phase-status.mdc +61 -0
- package/content/cursor-rules/forgetrail-updates-log.mdc +30 -0
- package/content/cursor-rules/spec-completion.mdc +33 -0
- package/content/cursor-rules/specs-and-todo.mdc +26 -0
- package/content/cursor-rules/url-host-matching.mdc +31 -0
- package/content/cursor-rules/us-english.mdc +9 -0
- package/content/cursor-rules/user-facing-content.mdc +31 -0
- package/content/examples/GENESIS_SAMPLE_mars-habitat-roster.md +154 -0
- package/content/forgetrail-workspace-README.md +43 -0
- package/content/scripts/forgetrail-dev-launcher.mjs +208 -0
- package/content/scripts/forgetrail-env.mjs +51 -0
- package/content/scripts/setup-ollama.mjs +207 -0
- package/content/scripts/setup-pocketbase.mjs +133 -0
- package/content/scripts/test-ollama.mjs +71 -0
- package/content/scripts/test-pocketbase.mjs +110 -0
- package/content/skills/forgetrail/SKILL.md +92 -0
- package/docs/AUTOMATED_TESTING.md +269 -0
- package/docs/BLACK_HAT_REPORT.md +143 -0
- package/docs/BRAND_AND_PRODUCT.md +381 -0
- package/docs/BUGS.md +62 -0
- package/docs/BUSINESS_PLAN.md +256 -0
- package/docs/CODE_QUALITY.md +170 -0
- package/docs/CONTEXT_PROMPT.md +357 -0
- package/docs/DEPLOYMENT.md +181 -0
- package/docs/DESIGN_SYSTEM.md +414 -0
- package/docs/DEV_ESTIMATE.md +127 -0
- package/docs/FORGETRAIL_RENAME.md +193 -0
- package/docs/IDEAS.md +19 -0
- package/docs/MARKETING_GROWTH.md +301 -0
- package/docs/NAMING_EXPLORATION.md +406 -0
- package/docs/NPM.md +98 -0
- package/docs/PHASE_1_BRIEF.md +161 -0
- package/docs/README.md +75 -0
- package/docs/SPEC_FEATURE_TEMPLATE.md +155 -0
- package/docs/SPEC_UI_CHROME_NAV_TEMPLATE.md +48 -0
- package/docs/TECHNICAL_REFERENCE.md +836 -0
- package/docs/TEST_PLAN.md +467 -0
- package/docs/TODO.md +125 -0
- package/package.json +68 -0
- package/prompts/black-hat-audit.md +235 -0
- package/prompts/brand-copy-edit-pass.md +55 -0
- package/prompts/cialdini-marketing-audit.md +141 -0
- package/prompts/competitor-deep-dive.md +201 -0
- package/prompts/docs-alignment-audit.md +108 -0
- package/prompts/engineering-skill-library.md +75 -0
- package/prompts/landing-page-rewrite.md +63 -0
- package/prompts/microcopy-centralization.md +128 -0
- package/prompts/panel-usability-audit.md +197 -0
- package/prompts/personal-beta-outreach.md +195 -0
- package/prompts/pre-launch-audit.md +148 -0
- package/prompts/product-feedback-to-spec.md +76 -0
- package/prompts/propagate-to-forgetrail.md +315 -0
- package/prompts/user-facing-content-sync-audit.md +200 -0
- package/prompts/ux-cohesion-audit.md +165 -0
- package/scripts/ensure-lease.mjs +23 -0
- package/scripts/forgetrail-cli.mjs +85 -0
- package/scripts/install-forgetrail-lite.mjs +11 -0
- package/scripts/install-forgetrail.mjs +11 -0
- package/scripts/install-lib.mjs +115 -0
- package/scripts/install.mjs +163 -0
- package/scripts/link-global.mjs +100 -0
- package/scripts/mcp-lib.mjs +177 -0
- package/scripts/mcp-status.mjs +155 -0
- package/scripts/publish-gate.mjs +110 -0
- package/scripts/rename-to-forgetrail.mjs +273 -0
- package/workflow_tracking.json +124 -0
package/docs/README.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# [App Name]
|
|
2
|
+
|
|
3
|
+
*[One-line description. What it does, who it's for.]*
|
|
4
|
+
|
|
5
|
+
*Instructions: Create this during Phase 2 (Scaffolding). Keep it focused on "how to get running" for a new developer. Feature documentation belongs in TECHNICAL_REFERENCE.md, not here.*
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
### Prerequisites
|
|
10
|
+
|
|
11
|
+
- [Runtime]: [version] (e.g., Node.js 18+)
|
|
12
|
+
- [Package manager]: [version] (e.g., pnpm 8+)
|
|
13
|
+
- [Database]: [version] (e.g., PocketBase 0.23+)
|
|
14
|
+
- [Other]: [if applicable]
|
|
15
|
+
|
|
16
|
+
### Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Clone the repo
|
|
20
|
+
git clone [repo-url]
|
|
21
|
+
cd [project-name]
|
|
22
|
+
|
|
23
|
+
# Install dependencies
|
|
24
|
+
[package-manager] install
|
|
25
|
+
|
|
26
|
+
# Set up environment
|
|
27
|
+
cp .env.example .env
|
|
28
|
+
# Edit .env with your values (see Environment Variables below)
|
|
29
|
+
|
|
30
|
+
# Start development server
|
|
31
|
+
[package-manager] dev
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Environment Variables
|
|
35
|
+
|
|
36
|
+
| Variable | Required | Description |
|
|
37
|
+
|----------|----------|-------------|
|
|
38
|
+
| [VAR] | [yes/no] | [what it does, where to get the value] |
|
|
39
|
+
|
|
40
|
+
## Project Structure
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
[project-root]/
|
|
44
|
+
src/
|
|
45
|
+
lib/
|
|
46
|
+
components/ [UI components]
|
|
47
|
+
server/ [Backend services]
|
|
48
|
+
types/ [TypeScript types]
|
|
49
|
+
routes/
|
|
50
|
+
api/ [API endpoints]
|
|
51
|
+
[pages]/ [App pages]
|
|
52
|
+
static/ [Static assets]
|
|
53
|
+
docs/ [Project documentation]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Features
|
|
57
|
+
|
|
58
|
+
| Feature | Description | Location |
|
|
59
|
+
|---------|-------------|----------|
|
|
60
|
+
| [Feature] | [What it does] | [Where in the app] |
|
|
61
|
+
|
|
62
|
+
## Tech Stack
|
|
63
|
+
|
|
64
|
+
- **Framework:** [name + version]
|
|
65
|
+
- **Language:** [name]
|
|
66
|
+
- **Styling:** [name]
|
|
67
|
+
- **Database:** [name]
|
|
68
|
+
- **AI:** [name, or "none"]
|
|
69
|
+
|
|
70
|
+
## Documentation
|
|
71
|
+
|
|
72
|
+
- [TECHNICAL_REFERENCE.md](docs/TECHNICAL_REFERENCE.md) - How features work
|
|
73
|
+
- [BRAND_AND_PRODUCT.md](docs/BRAND_AND_PRODUCT.md) - Positioning and messaging
|
|
74
|
+
- [DEPLOYMENT.md](docs/DEPLOYMENT.md) - Production deployment
|
|
75
|
+
- [TODO.md](docs/TODO.md) - Feature backlog
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
# [Feature name] — feature spec
|
|
2
|
+
|
|
3
|
+
_Copy into your app repo as `specs/[feature-name].md` (kebab-case). Fill bracketed placeholders. Delete guidance blockquotes before locking the draft if you want a lean file. For MCP: `getTemplate({ name: "SPEC_FEATURE_TEMPLATE" })`._
|
|
4
|
+
|
|
5
|
+
**Spec kind:** `[Delivery | Canonical reference]`
|
|
6
|
+
**Status:** `[Draft | Partial | Implemented | Canonical; …]`
|
|
7
|
+
**Date:** `[YYYY-MM-DD]`
|
|
8
|
+
**Related:** `[TODO.md item, PHASE_1_BRIEF, other specs, issues]`
|
|
9
|
+
**Surfaces (optional):** `[components, routes, scripts this touches]`
|
|
10
|
+
|
|
11
|
+
> 🔧 **Guidance:** Use **Delivery** for time-boxed feature work (lifecycle: `specs/` → `partial/` → `completed/`). Use **Canonical reference** only for living catalogs that stay in `specs/canonical/` and never move for “done.” See ForgeTrail WORKFLOW.md Phase 4 and `.cursor/rules/specs-and-todo.mdc` when present.
|
|
12
|
+
|
|
13
|
+
> 🔧 **Lite cut:** For a small change, keep header + §1–§3 + §5 (proposed behavior only) + §8 + §9. Skip data/API/UI subsections that do not apply. Still require testable acceptance criteria.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Problem
|
|
18
|
+
|
|
19
|
+
**What is painful today:**
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
**Friction / current workaround (if any):**
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. Goals
|
|
28
|
+
|
|
29
|
+
1.
|
|
30
|
+
2.
|
|
31
|
+
3.
|
|
32
|
+
|
|
33
|
+
### Non-goals
|
|
34
|
+
|
|
35
|
+
_What this pass will not do. Prevents scope creep._
|
|
36
|
+
|
|
37
|
+
-
|
|
38
|
+
-
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. Background / current state
|
|
43
|
+
|
|
44
|
+
_Optional. What exists today (code, data, UX) that the builder must know. Link files; do not paste large dumps._
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 4. Core concepts / definitions
|
|
50
|
+
|
|
51
|
+
_Optional. Domain terms, enums, or mental model unique to this feature._
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 5. Proposed approach / Design
|
|
57
|
+
|
|
58
|
+
_Prefer **what** the system does over **how** to implement it, unless a format or existing module forces a path. Delete subsections that do not apply._
|
|
59
|
+
|
|
60
|
+
### 5.1 Behavior
|
|
61
|
+
|
|
62
|
+
_When the user does X, the system does Y. Step-by-step or bullets._
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### 5.2 Data model
|
|
66
|
+
|
|
67
|
+
_Entities, fields, migrations, PocketBase collections, local storage keys, etc._
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
### 5.3 API / integrations
|
|
71
|
+
|
|
72
|
+
_Routes, webhooks, LLM calls, external APIs, env vars._
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
### 5.4 UI / UX
|
|
76
|
+
|
|
77
|
+
_Surfaces, empty/loading/error states, copy notes, a11y._
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
### 5.5 Files (optional)
|
|
81
|
+
|
|
82
|
+
| New | Modified |
|
|
83
|
+
| --- | -------- |
|
|
84
|
+
| | |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 6. Edge cases and risks
|
|
89
|
+
|
|
90
|
+
-
|
|
91
|
+
-
|
|
92
|
+
|
|
93
|
+
| Risk | Mitigation |
|
|
94
|
+
| ---- | ---------- |
|
|
95
|
+
| | |
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## 7. Milestones / phasing (optional)
|
|
100
|
+
|
|
101
|
+
| Milestone | Outcome |
|
|
102
|
+
| --------- | ------- |
|
|
103
|
+
| M1 | Smallest usable slice |
|
|
104
|
+
| M2 | |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 8. Acceptance criteria
|
|
109
|
+
|
|
110
|
+
_Testable. Prefer “Given / when / then” or checkbox style. The feature is not done until these pass._
|
|
111
|
+
|
|
112
|
+
1. Given …, when …, then …
|
|
113
|
+
2. Given …, when …, then …
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## 9. Open questions
|
|
118
|
+
|
|
119
|
+
| # | Question | Blocking? | Owner |
|
|
120
|
+
| - | -------- | --------- | ----- |
|
|
121
|
+
| 1 | | yes/no | |
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 10. Decisions (optional)
|
|
126
|
+
|
|
127
|
+
_Lock choices here (and mirror major ones into `.forgetrail/workflow_tracking.json` → `decisions[]` when they are architectural)._
|
|
128
|
+
|
|
129
|
+
**D1.**
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Progress (while Partial)
|
|
135
|
+
|
|
136
|
+
_Date-stamped notes while work is in `specs/partial/`. Remove or fold into Implementation summary when completed._
|
|
137
|
+
|
|
138
|
+
- `[YYYY-MM-DD]:` …
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Implementation summary
|
|
143
|
+
|
|
144
|
+
_Required when moving a **Delivery** spec to `specs/completed/`. Leave empty until then._
|
|
145
|
+
|
|
146
|
+
**Implemented:** `[YYYY-MM-DD]`
|
|
147
|
+
|
|
148
|
+
1. …
|
|
149
|
+
2. …
|
|
150
|
+
|
|
151
|
+
**Verification:** `[e.g. pnpm check / test / manual walkthrough]`
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
> 💡 **Lesson learned:** Specs are session anchors. When the agent context resets, a filled spec plus `TODO.md` beats rediscovering intent from chat. Write the spec **before** multi-file implementation; move it to `partial/` when work starts; append this summary and move to `completed/` when acceptance criteria are met.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Spec: UI Chrome, Layout & Nav Flyouts (template)
|
|
2
|
+
|
|
3
|
+
_Copy this file into your app as e.g. `docs/SPEC_UI_CHROME_NAV.md` when you ship substantial nav, typography, or nested-menu work. Fill `[BRACKETED]` placeholders and remove this header._
|
|
4
|
+
|
|
5
|
+
**Purpose:** Capture **invariants** for typography roles, app shell height, interactive rounding, and nested dropdown flyouts so future sessions do not re-litigate the same layout and hover bugs.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Typography
|
|
10
|
+
|
|
11
|
+
- **Chrome / UI:** `[sans stack]` — nav, filters, column headers, short labels.
|
|
12
|
+
- **Reading / long-form:** `[serif or alternate stack]` — `[where it applies: e.g. narrative panels, prep content]`.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## App shell
|
|
17
|
+
|
|
18
|
+
- Outer: `[e.g. flex flex-col h-screen overflow-hidden]`
|
|
19
|
+
- Nav: `shrink-0`
|
|
20
|
+
- Main: `flex-1 min-h-0` + scroll **inside** main where needed
|
|
21
|
+
**Invariant:** Avoid `[calc(100vh − X)]` unless `[nav height]` is verified per breakpoint.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Interactive controls
|
|
26
|
+
|
|
27
|
+
- Default radius for buttons/inputs/pills: `[e.g. rounded-lg]`
|
|
28
|
+
- Document exceptions (cards, modals) explicitly.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Nested menu flyouts
|
|
33
|
+
|
|
34
|
+
| Topic | Rule |
|
|
35
|
+
|-------|------|
|
|
36
|
+
| Shared chrome | One CSS class for surface/border/shadow on secondary panels |
|
|
37
|
+
| Padding context | `[Describe: padded vs full-width menu rows]` — `absolute` children measure from different boxes; test gaps side by side |
|
|
38
|
+
| Large panels | Center vertically on trigger + `max-height` + internal scroll; do not clip off-screen with `bottom: 0` only |
|
|
39
|
+
| Hover state | Stable **id** per flyout; re-enter same id → cancel timers only; reset all when **parent menu** closes |
|
|
40
|
+
| Anti-pattern | Do not clear all flyouts on every `mouseenter` |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Revision history
|
|
45
|
+
|
|
46
|
+
| Date | Notes |
|
|
47
|
+
|------|--------|
|
|
48
|
+
| `[ISO date]` | Initial spec |
|