tillerhand 3.43.0 → 3.47.1
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/.claude/agents/board-chair.md +20 -20
- package/.claude/agents/code-reviewer.md +20 -20
- package/.claude/agents/council-advisor.md +14 -14
- package/.claude/agents/security-auditor.md +30 -30
- package/.claude/agents/test-writer.md +22 -22
- package/.claude/board/board-ai.md +25 -25
- package/.claude/board/board-api.md +25 -25
- package/.claude/board/board-architect.md +28 -28
- package/.claude/board/board-devops.md +25 -25
- package/.claude/board/board-mobile.md +25 -25
- package/.claude/board/board-performance.md +24 -24
- package/.claude/board/board-privacy.md +25 -25
- package/.claude/board/board-product.md +26 -26
- package/.claude/board/board-qa.md +28 -28
- package/.claude/board/board-ux.md +26 -26
- package/.claude/board/council.md +76 -76
- package/.claude/board/rules.md +61 -61
- package/.claude/claude-security-guidance.md +10 -10
- package/.claude/commands/adopt.md +70 -69
- package/.claude/commands/ask-mode.md +9 -9
- package/.claude/commands/board.md +15 -15
- package/.claude/commands/build.md +47 -47
- package/.claude/commands/dashboard.md +17 -17
- package/.claude/commands/design.md +31 -31
- package/.claude/commands/findings-all.md +14 -14
- package/.claude/commands/findings-business.md +7 -7
- package/.claude/commands/findings-legal.md +7 -7
- package/.claude/commands/findings-perf.md +7 -7
- package/.claude/commands/findings-security.md +9 -9
- package/.claude/commands/findings-tech.md +7 -7
- package/.claude/commands/findings-ux.md +7 -7
- package/.claude/commands/fix-bug.md +15 -15
- package/.claude/commands/freeze.md +8 -8
- package/.claude/commands/handoff.md +38 -38
- package/.claude/commands/kit-update.md +17 -14
- package/.claude/commands/language.md +13 -0
- package/.claude/commands/maintain.md +19 -19
- package/.claude/commands/plan-task.md +32 -32
- package/.claude/commands/qa.md +17 -17
- package/.claude/commands/release.md +40 -40
- package/.claude/commands/research.md +31 -31
- package/.claude/commands/retro.md +32 -32
- package/.claude/commands/review-changes.md +15 -15
- package/.claude/commands/rollback.md +24 -24
- package/.claude/commands/start.md +116 -113
- package/.claude/commands/tools.md +11 -11
- package/.claude/commands/user-feedback.md +11 -11
- package/.claude/commands/wrap-up.md +18 -18
- package/.claude/findings/lenses/business.md +24 -24
- package/.claude/findings/lenses/legal.md +29 -29
- package/.claude/findings/lenses/perf.md +19 -19
- package/.claude/findings/lenses/security.md +30 -30
- package/.claude/findings/lenses/tech.md +23 -23
- package/.claude/findings/lenses/ux.md +19 -19
- package/.claude/findings/protocol.md +54 -54
- package/.claude/findings/report-template.md +30 -30
- package/.claude/hooks/budget.mjs +7 -7
- package/.claude/hooks/checkpoint.mjs +12 -12
- package/.claude/hooks/commit-gate.mjs +38 -37
- package/.claude/hooks/cost.mjs +2 -2
- package/.claude/hooks/council.mjs +3 -3
- package/.claude/hooks/dashboard-data.mjs +4 -3
- package/.claude/hooks/dashboard.mjs +164 -149
- package/.claude/hooks/destructive-guard.mjs +74 -64
- package/.claude/hooks/edit-rounds.mjs +3 -3
- package/.claude/hooks/flow.mjs +10 -10
- package/.claude/hooks/freeze-guard.mjs +27 -23
- package/.claude/hooks/gate.mjs +25 -25
- package/.claude/hooks/guard-secrets.mjs +11 -11
- package/.claude/hooks/lang.mjs +114 -0
- package/.claude/hooks/messages.mjs +495 -0
- package/.claude/hooks/models.mjs +14 -11
- package/.claude/hooks/notify.mjs +3 -2
- package/.claude/hooks/package-gate.mjs +17 -15
- package/.claude/hooks/plugins-sync.mjs +9 -9
- package/.claude/hooks/prefs.mjs +19 -19
- package/.claude/hooks/preview.mjs +11 -11
- package/.claude/hooks/progress.mjs +14 -14
- package/.claude/hooks/qa-report.mjs +11 -10
- package/.claude/hooks/reminder.mjs +6 -3
- package/.claude/hooks/session-start.mjs +23 -17
- package/.claude/hooks/shared.mjs +1 -1
- package/.claude/hooks/status-read.mjs +5 -4
- package/.claude/hooks/statusline.mjs +14 -11
- package/.claude/hooks/structure-guard.mjs +9 -9
- package/.claude/hooks/test-guard.mjs +12 -12
- package/.claude/hooks/tools.mjs +28 -29
- package/.claude/hooks/usage.mjs +18 -15
- package/.claude/output-styles/anlatici.md +28 -28
- package/.claude/security-patterns.json +3 -3
- package/.claude/settings.json +2 -0
- package/.claude/skills/logo-design/SKILL.md +42 -42
- package/.claude/skills/motion-video/SKILL.md +52 -52
- package/.claude/skills/source-research/SKILL.md +35 -35
- package/.claude/skills/ui-motion/SKILL.md +38 -38
- package/.github/workflows/kit-tests.yml +7 -7
- package/.github/workflows/npm-publish.yml +16 -16
- package/AGENTS.md +56 -56
- package/CHANGELOG.md +7 -7
- package/CLAUDE.md +5 -5
- package/README.md +199 -172
- package/README.tr.md +292 -0
- package/docs/architecture/overview.md +31 -31
- package/docs/architecture/stack.md +2 -2
- package/docs/archive/README.md +4 -4
- package/docs/decisions/adr-template.md +14 -14
- package/docs/decisions/log.md +10 -10
- package/docs/findings/README.md +13 -13
- package/docs/findings/config.md +13 -13
- package/docs/legal/privacy-kvkk.md +1 -1
- package/docs/operations/accounts.md +25 -25
- package/docs/operations/deploy-setup.md +64 -64
- package/docs/operations/feature-flags.md +17 -17
- package/docs/operations/maintenance.md +48 -48
- package/docs/operations/release-checklist.md +61 -61
- package/docs/operations/spend-alarms.md +28 -28
- package/docs/product/feedback.md +9 -8
- package/docs/product/glossary.md +16 -16
- package/docs/product/launch.md +28 -28
- package/docs/product/prd.md +43 -42
- package/docs/product/roadmap.md +31 -30
- package/docs/product/specs/_template.md +13 -12
- package/docs/product/unit-economics.md +23 -22
- package/docs/quality/metrics.md +14 -14
- package/docs/quality/retros.md +11 -11
- package/docs/quality/test-plan.md +48 -48
- package/docs/security/checklist.md +57 -57
- package/docs/workflow/board.md +7 -7
- package/docs/workflow/cost-log.md +4 -4
- package/docs/workflow/decision-protocol.md +70 -70
- package/docs/workflow/learning.md +4 -4
- package/docs/workflow/mcp-catalog.md +31 -31
- package/docs/workflow/models.md +35 -35
- package/docs/workflow/progress.md +7 -7
- package/docs/workflow/skills.md +108 -108
- package/docs/workflow/usage-limits.md +62 -62
- package/kit/CHANGELOG.md +882 -841
- package/kit/VERSION +1 -1
- package/kit/guide.html +713 -477
- package/kit/guide.tr.html +1328 -0
- package/kit/kit.mjs +56 -54
- package/kit/project/README.md +29 -29
- package/kit/project/gitignore +12 -12
- package/kit/templates/addons/ai/.env.example.append +5 -5
- package/kit/templates/addons/ai/ai/evals/README.md +11 -11
- package/kit/templates/addons/ai/ai/evals/cases.jsonl +2 -2
- package/kit/templates/addons/ai/ai/prompts/README.md +8 -8
- package/kit/templates/addons/ai/docs/ai/guide.md +56 -56
- package/kit/templates/backend/.claude/hooks/format.mjs +1 -1
- package/kit/templates/backend/.claude/structure.json +1 -1
- package/kit/templates/backend/.env.example +6 -6
- package/kit/templates/backend/.github/dependabot.yml +1 -1
- package/kit/templates/backend/.github/workflows/ci.yml +13 -13
- package/kit/templates/backend/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/backend/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/backend/.github/workflows/live-monitoring.yml +14 -14
- package/kit/templates/backend/.pre-commit-config.yaml +3 -3
- package/kit/templates/backend/docs/architecture/stack.md +98 -98
- package/kit/templates/backend/docs/architecture/structure.md +34 -34
- package/kit/templates/mobile/.claude/structure.json +1 -1
- package/kit/templates/mobile/.env.example +6 -6
- package/kit/templates/mobile/.github/dependabot.yml +2 -2
- package/kit/templates/mobile/.github/workflows/ci.yml +18 -18
- package/kit/templates/mobile/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/mobile/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/mobile/.gitignore.append +2 -2
- package/kit/templates/mobile/docs/architecture/stack.md +113 -113
- package/kit/templates/mobile/docs/architecture/structure.md +33 -33
- package/kit/templates/mobile/docs/design/design-guide.md +37 -37
- package/kit/templates/mobile/tests/security/rls.mjs +22 -22
- package/kit/templates/web-saas/.claude/structure.json +1 -1
- package/kit/templates/web-saas/.env.example +11 -11
- package/kit/templates/web-saas/.github/dependabot.yml +3 -3
- package/kit/templates/web-saas/.github/workflows/ci.yml +20 -20
- package/kit/templates/web-saas/.github/workflows/claude-ci-fix.yml +19 -19
- package/kit/templates/web-saas/.github/workflows/claude-maintenance.yml +18 -18
- package/kit/templates/web-saas/.github/workflows/live-monitoring.yml +12 -12
- package/kit/templates/web-saas/docs/architecture/stack.md +116 -116
- package/kit/templates/web-saas/docs/architecture/structure.md +44 -44
- package/kit/templates/web-saas/docs/design/design-guide.md +38 -38
- package/kit/templates/web-saas/tests/live/smoke.spec.ts +4 -4
- package/kit/templates/web-saas/tests/security/rls.mjs +22 -22
- package/kit/tools/codex/.codex/hooks.json +1 -1
- package/package.json +2 -2
- package/README.en.md +0 -267
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Go-Live Checklist
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
> `/release`
|
|
5
|
-
>
|
|
6
|
-
>
|
|
3
|
+
> Before the first launch, **all of it**; for every later release, the **"Every release"** section.
|
|
4
|
+
> The `/release` command runs the items that can be checked automatically and asks you about the rest.
|
|
5
|
+
> Project-type-specific extra items: `docs/architecture/stack.md` → "Go live (extra)".
|
|
6
|
+
> Marks: ✅ done · ❌ missing · ➖ not applicable to this project
|
|
7
7
|
|
|
8
|
-
## A.
|
|
8
|
+
## A. Every release (before each deploy)
|
|
9
9
|
|
|
10
|
-
- [ ] CI `main`
|
|
11
|
-
- [ ] `docs/quality/test-plan.md`
|
|
12
|
-
- [ ]
|
|
13
|
-
- [ ] DB migration
|
|
14
|
-
- [ ] `CHANGELOG.md`
|
|
15
|
-
- [ ]
|
|
16
|
-
- [ ]
|
|
10
|
+
- [ ] CI is green on the `main` branch (tests, lint, type check, build, secret scan)
|
|
11
|
+
- [ ] The manual checklist in `docs/quality/test-plan.md` was done
|
|
12
|
+
- [ ] New environment variables were added to the prod environment
|
|
13
|
+
- [ ] If there is a DB migration: **backup first**, then the migration; checked that the migration can be rolled back
|
|
14
|
+
- [ ] `CHANGELOG.md` updated, version number given
|
|
15
|
+
- [ ] The rollback path is known: [e.g. "Promote" the previous deploy in Vercel, `git revert`]
|
|
16
|
+
- [ ] Smoke test after deploy: home page, login, main flow, no new error in error tracking
|
|
17
17
|
|
|
18
|
-
## B.
|
|
18
|
+
## B. First launch (once, then review yearly)
|
|
19
19
|
|
|
20
|
-
###
|
|
21
|
-
- [ ] `docs/product/roadmap.md`
|
|
22
|
-
- [ ]
|
|
23
|
-
- [ ] Debug
|
|
24
|
-
- [ ] 404, 500
|
|
20
|
+
### Code and quality
|
|
21
|
+
- [ ] `docs/product/roadmap.md` Phase 1-2 done
|
|
22
|
+
- [ ] Critical flow tests (`docs/quality/test-plan.md` K1-K5) are green
|
|
23
|
+
- [ ] Debug code, `console.log`, test data, fake users cleaned up
|
|
24
|
+
- [ ] 404, 500 and maintenance pages/screens exist
|
|
25
25
|
|
|
26
|
-
###
|
|
27
|
-
- [ ] `docs/security/checklist.md`
|
|
28
|
-
- [ ] Prod
|
|
29
|
-
- [ ] GitHub: `main`
|
|
30
|
-
- [ ] AI
|
|
31
|
-
- [ ] Admin
|
|
26
|
+
### Security
|
|
27
|
+
- [ ] All items in `docs/security/checklist.md` are done; the `security-auditor` agent gave no blocking finding
|
|
28
|
+
- [ ] Prod keys are separate from local/test keys
|
|
29
|
+
- [ ] GitHub: `main` branch is protected (CI required), Dependabot security updates on, secret scanning on
|
|
30
|
+
- [ ] If there is an AI feature: `docs/ai/guide.md` → "Go live (add-on)" is done
|
|
31
|
+
- [ ] Admin accounts have a strong password + 2FA (hosting, DB, domain, email, payment, code repository)
|
|
32
32
|
|
|
33
|
-
###
|
|
34
|
-
- [ ] `docs/legal/privacy-kvkk.md`
|
|
35
|
-
- [ ]
|
|
33
|
+
### Legal
|
|
34
|
+
- [ ] The texts in `docs/legal/privacy-kvkk.md` are published and linked
|
|
35
|
+
- [ ] The cookie banner works, analytics does not load before consent
|
|
36
36
|
|
|
37
|
-
###
|
|
38
|
-
- [ ] `docs/operations/accounts.md`
|
|
39
|
-
- [ ]
|
|
40
|
-
- [ ]
|
|
41
|
-
- [ ] `docs/product/unit-economics.md`:
|
|
42
|
-
- [ ]
|
|
43
|
-
- [ ]
|
|
44
|
-
- [ ]
|
|
37
|
+
### Accounts, flags, monitoring
|
|
38
|
+
- [ ] `docs/operations/accounts.md` is complete: every service, account owner, 2FA, expiry dates
|
|
39
|
+
- [ ] Risky features are behind flags; the kill switch was tried at least once (`docs/operations/feature-flags.md`)
|
|
40
|
+
- [ ] Synthetic monitoring is on in production (`.github/workflows/live-monitoring.yml`, `LIVE_URL` variable defined, every 3 hours), the dashboard shows "Live monitoring · succeeded", and an alert was seen to arrive after a test failure
|
|
41
|
+
- [ ] `docs/product/unit-economics.md`: contribution margin is positive, break-even point is known
|
|
42
|
+
- [ ] Spend alarms: every paid service has a cap or alert set up and tried once (`docs/operations/spend-alarms.md`); an AI/paid API call has a per-user quota and a global daily budget
|
|
43
|
+
- [ ] All acceptance tests are green (MVP criteria)
|
|
44
|
+
- [ ] The last `/qa` report (`docs/quality/qa/`) has no "kaldı" (remaining) item; in a web project the interface criteria were run in the browser
|
|
45
45
|
|
|
46
|
-
###
|
|
47
|
-
>
|
|
48
|
-
- [ ]
|
|
49
|
-
- [ ] Prod
|
|
50
|
-
- [ ] **
|
|
51
|
-
- [ ]
|
|
52
|
-
- [ ]
|
|
53
|
-
- [ ] Uptime
|
|
54
|
-
- [ ] Log
|
|
46
|
+
### Infrastructure
|
|
47
|
+
> Steps by provider are in `docs/operations/deploy-setup.md` (`/release first` → Deploy setup).
|
|
48
|
+
- [ ] Domain, SSL, `www` redirect
|
|
49
|
+
- [ ] Prod database is a separate project/instance; automatic backup is on
|
|
50
|
+
- [ ] **Restore from backup was tried once** (an untried backup is not a backup)
|
|
51
|
+
- [ ] Email sending: domain verified (SPF, DKIM, DMARC), does not land in spam
|
|
52
|
+
- [ ] Error tracking (Sentry etc.) is active in prod, the alarm email/notification arrives
|
|
53
|
+
- [ ] Uptime monitoring (UptimeRobot, Better Stack etc.) is set up
|
|
54
|
+
- [ ] Log retention period is defined
|
|
55
55
|
|
|
56
|
-
###
|
|
57
|
-
- [ ]
|
|
58
|
-
- [ ]
|
|
59
|
-
- [ ]
|
|
56
|
+
### Cost
|
|
57
|
+
- [ ] A spend limit/alarm is set on all paid services (hosting, DB, AI API, email)
|
|
58
|
+
- [ ] Free tier limits are known; what happens when they are exceeded (stop or billing?) is known
|
|
59
|
+
- [ ] The estimated monthly cost is in `docs/architecture/overview.md` → the "External services" section
|
|
60
60
|
|
|
61
|
-
###
|
|
62
|
-
- [ ]
|
|
63
|
-
- [ ]
|
|
61
|
+
### Performance and visibility
|
|
62
|
+
- [ ] Project-type-specific performance targets (`docs/architecture/stack.md`) are met
|
|
63
|
+
- [ ] Analytics (privacy-friendly) is set up, basic events (sign-up, main action) are tracked
|
|
64
64
|
|
|
65
|
-
###
|
|
66
|
-
- [ ] `docs/product/launch.md` → "
|
|
67
|
-
- [ ]
|
|
68
|
-
- [ ] `README.md`:
|
|
69
|
-
- [ ]
|
|
65
|
+
### Preparation
|
|
66
|
+
- [ ] `docs/product/launch.md` → "Before launch" is done
|
|
67
|
+
- [ ] A support channel (email/form) exists and someone watches it
|
|
68
|
+
- [ ] `README.md`: setup, environment variables, deploy steps are current
|
|
69
|
+
- [ ] Project-type-specific items (`docs/architecture/stack.md` → "Go live (extra)") are done
|
|
70
70
|
|
|
71
|
-
## C.
|
|
71
|
+
## C. First 72 hours after launch
|
|
72
72
|
|
|
73
|
-
- [ ]
|
|
74
|
-
- [ ]
|
|
75
|
-
- [ ]
|
|
73
|
+
- [ ] Check error tracking twice a day
|
|
74
|
+
- [ ] Check the cost panel once a day
|
|
75
|
+
- [ ] First user feedback was added to `docs/product/roadmap.md` → "Faz 4" (Phase 4)
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Spend Alarms
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
> `/dashboard`
|
|
3
|
+
> The bill of a live product can grow silently. A loop that calls an AI, bot traffic or a leaked API key can use up the monthly budget overnight. For every paid service, this file records the **cap** (stops when exceeded) and the **alert** (warns at a threshold).
|
|
4
|
+
> This is separate from the Claude Code limit: here the subject is your own product's bill.
|
|
5
|
+
> The `/dashboard` dashboard (Operations tab) reads the table below. It marks a paid row with an empty limit as "not set".
|
|
6
6
|
|
|
7
7
|
## Alarmlar
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
One row per paid service. **Type:** `cap` (cap: the service stops or requests are rejected) or `alert` (alert: only warns). **Amount:** monthly, with currency (e.g. `50 USD`). **Last check:** `YYYY-AA-GG`.
|
|
10
10
|
|
|
11
|
-
|
|
|
11
|
+
| Service | Type | Amount | Alert thresholds | Set up at | Last check |
|
|
12
12
|
|---|---|---|---|---|---|
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Settings the providers offer
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Verified: 2026-10-12. Panel locations and features can change. Before setting up, check the current docs with `source-research`.
|
|
17
17
|
|
|
18
|
-
|
|
|
18
|
+
| Service | What exists | Does it stop? |
|
|
19
19
|
|---|---|---|
|
|
20
|
-
| Anthropic (Claude API) |
|
|
21
|
-
| OpenAI |
|
|
22
|
-
| Vercel | Spend Management (Pro):
|
|
23
|
-
| Supabase | Pro
|
|
24
|
-
| Google Cloud / Firebase |
|
|
20
|
+
| Anthropic (Claude API) | Monthly spend limit per organization and workspace in the Console | Yes. When the limit is reached, requests return an error. Open a separate workspace for each product. |
|
|
21
|
+
| OpenAI | Budget alerts per project; new accounts may also have a hard limit | Alerts do not stop. If a hard limit exists, requests return 429 when it is reached. Check in the panel. |
|
|
22
|
+
| Vercel | Spend Management (Pro): notifications and a webhook at 50%, 75% and 100% | Does not stop by default. The "pause projects" option must be turned on separately. |
|
|
23
|
+
| Supabase | On the Pro plan the spend cap is on by default | Yes, while the cap is on, quota overage is not billed. If you turn it off, it does not stop. |
|
|
24
|
+
| Google Cloud / Firebase | Budgets & alerts | No, it only warns. Stopping needs extra automation. |
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Rule: For services that do not stop, set the alert at two thresholds at least (50% and 80%). The email address the alerts go to must be one that is actually read.
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## In-app protection (in code)
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
The provider limit is the last defense. Before it, the product itself limits spending. For every feature that calls an AI or a paid API:
|
|
31
31
|
|
|
32
|
-
1. **
|
|
33
|
-
2. **
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
3. **
|
|
37
|
-
4. **
|
|
32
|
+
1. **Per-user quota:** There is a daily or monthly limit on requests or tokens. When it is exceeded, a clear message is shown ("You have used today's allowance, it renews tomorrow"). The quota is kept on the server; do not trust the client.
|
|
33
|
+
2. **Global daily budget:** The estimated spend of all users for that day is summed.
|
|
34
|
+
- At 80% of the budget: send an alert (email and error tracking).
|
|
35
|
+
- At 100% of the budget: the feature flag (`docs/operations/feature-flags.md`) turns off automatically. The user sees a "temporarily unavailable" message.
|
|
36
|
+
3. **Log every call:** feature, model, input and output token counts, estimated cost, user id. Do not log the content (KVKK).
|
|
37
|
+
4. **Abuse:** No AI call without signing up. There is a rate limit and bot protection.
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
How these rules are implemented is written in `docs/architecture/stack.md` and, in the AI add-on, in `docs/ai/guide.md` → "Cost control".
|
|
40
40
|
|
|
41
|
-
##
|
|
41
|
+
## When it is checked
|
|
42
42
|
|
|
43
|
-
- **`/start`
|
|
44
|
-
- **`/release`:**
|
|
45
|
-
- **`/maintain`
|
|
43
|
+
- **`/start` Step 5 (external services):** A row is added to the table for every paid service chosen.
|
|
44
|
+
- **`/release`:** The cap or alert of every paid service must be set up and tested once. Test: with a low threshold, see the alert arrive.
|
|
45
|
+
- **`/maintain` weekly:** Did an alarm fire? Does the real spend match the estimate in `docs/product/unit-economics.md`?
|
package/docs/product/feedback.md
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
#
|
|
1
|
+
# User Feedback
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
>
|
|
3
|
+
> The voice of the users. The `/user-feedback` command puts new feedback here, prioritizes it with the Product board member,
|
|
4
|
+
> and asks you which items go into the roadmap. `/dashboard` shows open feedback and the leading themes.
|
|
5
|
+
> The headings "Gelen kutusu" (inbox) and "Temalar" (themes) stay Turkish: the dashboard reads them.
|
|
6
|
+
> Do not write personal data: label the user anonymously (K-001).
|
|
6
7
|
|
|
7
8
|
## Gelen kutusu
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Types: `hata` / `istek` / `şikayet` / `övgü` / `soru`. Statuses: `yeni` / `planlandı` / `yapıldı` / `reddedildi` / `birleşti`.
|
|
10
11
|
|
|
11
|
-
| # |
|
|
12
|
+
| # | Date | Source | User | Summary | Type | Theme | Priority | Status | Task |
|
|
12
13
|
|---|---|---|---|---|---|---|---|---|---|
|
|
13
14
|
|
|
14
15
|
## Temalar
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
Similar feedback is collected under one theme. 3+ feedback items in the same theme is a strong signal.
|
|
17
18
|
|
|
18
|
-
|
|
|
19
|
+
| Theme | Feedback count | Affected feature | Decision |
|
|
19
20
|
|---|---|---|---|
|
package/docs/product/glossary.md
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Glossary
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
> `/start`
|
|
3
|
+
> **One** name for every concept in the project. If the AI says `customer` in one place, `client` in another and "Member" on screen,
|
|
4
|
+
> the code and the interface fall apart. When a new concept appears, add it here first, then use it in code.
|
|
5
|
+
> `/start` pulls the first terms from the PRD.
|
|
6
6
|
|
|
7
|
-
|
|
|
7
|
+
| Term (in the UI) | In code | Definition | Do not confuse with / do not use |
|
|
8
8
|
|---|---|---|---|
|
|
9
|
-
| [
|
|
10
|
-
| [
|
|
11
|
-
| [
|
|
9
|
+
| [Customer] | `customer` | [The person or company that is invoiced] | `client` (clashes with the HTTP client), "Member" |
|
|
10
|
+
| [Invoice] | `invoice` | [...] | `bill` |
|
|
11
|
+
| [User] | `user` | The account that signs in to the app | Not the same thing as Customer |
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## States (status fields)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
The states a record can have and the transitions between them. This stops the AI from inventing a new state.
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
[invoice.status]:
|
|
19
|
-
↘
|
|
18
|
+
[invoice.status]: draft → sent → paid
|
|
19
|
+
↘ overdue → paid
|
|
20
20
|
taslak → iptal (cancelled)
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Writing rules
|
|
24
24
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
25
|
+
- Code: English (`camelCase` variable, `PascalCase` component/type, `snake_case` DB field).
|
|
26
|
+
- UI text: Turkish; formal or informal "you" ("siz" or "sen")? → [pick: sen]
|
|
27
|
+
- Date: `GG.AA.YYYY`, money: `1.234,56 ₺` (`tr-TR` with `Intl`).
|
package/docs/product/launch.md
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Launch
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
3
|
+
> Technical go-live is in `docs/operations/release-checklist.md`. This file is for the product **reaching users**.
|
|
4
|
+
> If this is a personal tool or an internal project, delete this file.
|
|
5
5
|
|
|
6
|
-
## 1.
|
|
6
|
+
## 1. Before launch
|
|
7
7
|
|
|
8
|
-
- [ ] **
|
|
9
|
-
- [ ]
|
|
10
|
-
- [ ]
|
|
11
|
-
- [ ]
|
|
8
|
+
- [ ] **One-sentence value proposition** (`docs/product/prd.md` §3) in the landing page headline.
|
|
9
|
+
- [ ] Landing page: what it does, who it is for, how it looks (screenshot/video), a single call to action (sign up / waitlist).
|
|
10
|
+
- [ ] Waitlist or early-access form (if it opens weeks before launch, the first users are ready).
|
|
11
|
+
- [ ] Analytics events defined and working:
|
|
12
12
|
|
|
13
|
-
|
|
|
13
|
+
| Event | When it fires | Why it matters |
|
|
14
14
|
|---|---|---|
|
|
15
|
-
| `signup` |
|
|
16
|
-
| `activated` | [
|
|
17
|
-
| `[ana_eylem]` | [
|
|
18
|
-
| `upgrade` |
|
|
15
|
+
| `signup` | Signup completed | Acquisition |
|
|
16
|
+
| `activated` | [First moment of value: e.g. sent their first invoice] | Activation |
|
|
17
|
+
| `[ana_eylem]` | [The product's main action] | Usage |
|
|
18
|
+
| `upgrade` | Moved to a paid plan | Revenue |
|
|
19
19
|
|
|
20
|
-
- [ ]
|
|
21
|
-
- [ ]
|
|
20
|
+
- [ ] Feedback channel: an in-app form or email, in an easy-to-see place.
|
|
21
|
+
- [ ] Social sharing images (Open Graph), favicon, app icon.
|
|
22
22
|
|
|
23
|
-
## 2.
|
|
23
|
+
## 2. Channels
|
|
24
24
|
|
|
25
|
-
|
|
|
25
|
+
| Channel | Does it fit the target audience? | Preparation | Date |
|
|
26
26
|
|---|---|---|---|
|
|
27
|
-
| [
|
|
28
|
-
| [
|
|
29
|
-
| [Product Hunt
|
|
30
|
-
| [
|
|
27
|
+
| [Personal network / LinkedIn / X] | | Short demo video | |
|
|
28
|
+
| [Communities, forums, groups where the target audience is] | | Read the community rules, do not spam | |
|
|
29
|
+
| [Product Hunt etc.] | | | |
|
|
30
|
+
| [Content / SEO] | | 1-2 posts that explain the problem | |
|
|
31
31
|
|
|
32
|
-
## 3.
|
|
32
|
+
## 3. First 30 days
|
|
33
33
|
|
|
34
|
-
- [ ]
|
|
35
|
-
- [ ]
|
|
36
|
-
- [ ]
|
|
37
|
-
- [ ] `docs/product/prd.md` §4
|
|
34
|
+
- [ ] Talk one-on-one with the first 10 users: Why did they sign up, where did they get stuck, what did they expect?
|
|
35
|
+
- [ ] Weekly metrics review (table below).
|
|
36
|
+
- [ ] Add the feedback as tasks to `docs/product/roadmap.md` → Faz 4; start with the most repeated one.
|
|
37
|
+
- [ ] Compare with the `docs/product/prd.md` §4 success criteria: Is it close to the target, or is a change of direction needed?
|
|
38
38
|
|
|
39
|
-
## 4.
|
|
39
|
+
## 4. Metrics tracking
|
|
40
40
|
|
|
41
|
-
|
|
|
41
|
+
| Week | New signups | Activation rate | Weekly active | Week 1 retention | Revenue | Note |
|
|
42
42
|
|---|---|---|---|---|---|---|
|
|
43
43
|
| | | | | | | |
|
package/docs/product/prd.md
CHANGED
|
@@ -1,76 +1,77 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Product Requirements (PRD)
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
3
|
+
> Stage: **0 - Idea**. Fill it in before writing code. The `/start` command fills this file in together with you.
|
|
4
|
+
> Last updated: [YYYY-AA-GG]
|
|
5
5
|
|
|
6
6
|
## 1. Problem
|
|
7
7
|
|
|
8
|
-
[
|
|
8
|
+
[Who cannot do what, or finds what hard to do, and in which situation? 2-3 sentences.]
|
|
9
9
|
|
|
10
|
-
## 2.
|
|
10
|
+
## 2. Target user
|
|
11
11
|
|
|
12
|
-
| Persona |
|
|
12
|
+
| Persona | Who? | Biggest pain | What do they use now? |
|
|
13
13
|
|---|---|---|---|
|
|
14
|
-
| [
|
|
15
|
-
| [
|
|
14
|
+
| [Primary] | | | |
|
|
15
|
+
| [Secondary] | | | |
|
|
16
16
|
|
|
17
|
-
## 3. Değer önerisi
|
|
17
|
+
## 3. Değer önerisi (value proposition)
|
|
18
18
|
|
|
19
|
-
[
|
|
19
|
+
[One sentence: "With [product], [user] gets [result], because [difference]."]
|
|
20
20
|
|
|
21
|
-
## 4.
|
|
21
|
+
## 4. Success criteria (measurable)
|
|
22
22
|
|
|
23
|
-
- [ ] [
|
|
24
|
-
- [ ] [
|
|
25
|
-
- [ ] [
|
|
23
|
+
- [ ] [E.g. 50 registered users in the first 30 days]
|
|
24
|
+
- [ ] [E.g. time from signup to first value < 3 minutes]
|
|
25
|
+
- [ ] [E.g. monthly infrastructure cost < X TL]
|
|
26
26
|
|
|
27
|
-
## 5. MVP
|
|
27
|
+
## 5. MVP scope
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
Each feature is a user story + acceptance criteria. A feature without acceptance criteria is not ready.
|
|
30
|
+
Each criterion has an id (`Ö-01.1`). Acceptance tests carry this id in the test name; the `/dashboard` reads MVP progress from **test results**, not from checkboxes (`docs/quality/test-plan.md` §1a).
|
|
31
|
+
The label "Öncelik" (priority) stays Turkish: the dashboard reads it.
|
|
31
32
|
|
|
32
|
-
### Ö-01: [
|
|
33
|
-
**
|
|
34
|
-
**
|
|
35
|
-
- [ ] Ö-01.1: [
|
|
33
|
+
### Ö-01: [Feature name]
|
|
34
|
+
**Story:** As a [user], I want to [action], so that [benefit].
|
|
35
|
+
**Acceptance criteria:**
|
|
36
|
+
- [ ] Ö-01.1: [Observable behavior: "When an invalid email is entered, the form is not sent and an error message is shown"]
|
|
36
37
|
- [ ] Ö-01.2: [...]
|
|
37
|
-
**Öncelik:**
|
|
38
|
+
**Öncelik:** Must have / Nice to have
|
|
38
39
|
|
|
39
|
-
### Ö-02: [
|
|
40
|
+
### Ö-02: [Feature name]
|
|
40
41
|
...
|
|
41
42
|
|
|
42
|
-
## 6. Kapsam dışı (
|
|
43
|
+
## 6. Kapsam dışı (out of scope: NOT built in this release)
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
This list stops the AI from widening the scope. Write every "later" idea that comes to mind here.
|
|
45
46
|
|
|
46
|
-
- [
|
|
47
|
-
- [
|
|
48
|
-
- [
|
|
47
|
+
- [E.g. Multi-language support]
|
|
48
|
+
- [E.g. Team/organization accounts]
|
|
49
|
+
- [E.g. Mobile app]
|
|
49
50
|
|
|
50
|
-
## 7.
|
|
51
|
+
## 7. Main user flows
|
|
51
52
|
|
|
52
53
|
```
|
|
53
|
-
[
|
|
54
|
-
[
|
|
54
|
+
[Flow 1: Sign-up] Landing → Sign up → Verify email → Onboarding → Dashboard
|
|
55
|
+
[Flow 2: ...]
|
|
55
56
|
```
|
|
56
57
|
|
|
57
|
-
## 8.
|
|
58
|
+
## 8. List of screens / endpoints
|
|
58
59
|
|
|
59
|
-
|
|
|
60
|
+
| Name | Type (page/screen/endpoint) | Who can access | Related feature |
|
|
60
61
|
|---|---|---|---|
|
|
61
62
|
| | | | |
|
|
62
63
|
|
|
63
|
-
## 9.
|
|
64
|
+
## 9. Constraints
|
|
64
65
|
|
|
65
|
-
- **
|
|
66
|
-
- **
|
|
67
|
-
- **
|
|
68
|
-
- **
|
|
66
|
+
- **Budget:** [monthly cap for infrastructure + AI API]
|
|
67
|
+
- **Time:** [MVP target date]
|
|
68
|
+
- **Legal:** [Is personal data processed? Is payment taken? → `docs/legal/privacy-kvkk.md`]
|
|
69
|
+
- **Technical:** [Required platform, integrations, etc.]
|
|
69
70
|
|
|
70
|
-
## 10.
|
|
71
|
+
## 10. Revenue model (if any)
|
|
71
72
|
|
|
72
|
-
[
|
|
73
|
+
[Free / subscription / one-time / ads. Price. Payment provider.]
|
|
73
74
|
|
|
74
|
-
## 11.
|
|
75
|
+
## 11. Open questions
|
|
75
76
|
|
|
76
|
-
- [ ] [
|
|
77
|
+
- [ ] [Questions without an answer yet that affect a decision]
|