@kudusov.takhir/ba-toolkit 1.2.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/COMMANDS.md +69 -0
  3. package/LICENSE +21 -0
  4. package/README.md +842 -0
  5. package/README.ru.md +846 -0
  6. package/bin/ba-toolkit.js +468 -0
  7. package/package.json +49 -0
  8. package/skills/ac/SKILL.md +88 -0
  9. package/skills/analyze/SKILL.md +126 -0
  10. package/skills/apicontract/SKILL.md +113 -0
  11. package/skills/brief/SKILL.md +120 -0
  12. package/skills/clarify/SKILL.md +96 -0
  13. package/skills/datadict/SKILL.md +98 -0
  14. package/skills/estimate/SKILL.md +124 -0
  15. package/skills/export/SKILL.md +215 -0
  16. package/skills/glossary/SKILL.md +145 -0
  17. package/skills/handoff/SKILL.md +146 -0
  18. package/skills/nfr/SKILL.md +85 -0
  19. package/skills/principles/SKILL.md +182 -0
  20. package/skills/references/closing-message.md +33 -0
  21. package/skills/references/domains/ecommerce.md +209 -0
  22. package/skills/references/domains/fintech.md +180 -0
  23. package/skills/references/domains/healthcare.md +223 -0
  24. package/skills/references/domains/igaming.md +183 -0
  25. package/skills/references/domains/logistics.md +221 -0
  26. package/skills/references/domains/on-demand.md +231 -0
  27. package/skills/references/domains/real-estate.md +241 -0
  28. package/skills/references/domains/saas.md +185 -0
  29. package/skills/references/domains/social-media.md +234 -0
  30. package/skills/references/environment.md +57 -0
  31. package/skills/references/prerequisites.md +191 -0
  32. package/skills/references/templates/README.md +35 -0
  33. package/skills/references/templates/ac-template.md +58 -0
  34. package/skills/references/templates/analyze-template.md +65 -0
  35. package/skills/references/templates/apicontract-template.md +183 -0
  36. package/skills/references/templates/brief-template.md +51 -0
  37. package/skills/references/templates/datadict-template.md +75 -0
  38. package/skills/references/templates/export-template.md +112 -0
  39. package/skills/references/templates/handoff-template.md +102 -0
  40. package/skills/references/templates/nfr-template.md +97 -0
  41. package/skills/references/templates/principles-template.md +118 -0
  42. package/skills/references/templates/research-template.md +99 -0
  43. package/skills/references/templates/risk-template.md +188 -0
  44. package/skills/references/templates/scenarios-template.md +93 -0
  45. package/skills/references/templates/sprint-template.md +158 -0
  46. package/skills/references/templates/srs-template.md +90 -0
  47. package/skills/references/templates/stories-template.md +60 -0
  48. package/skills/references/templates/trace-template.md +59 -0
  49. package/skills/references/templates/usecases-template.md +51 -0
  50. package/skills/references/templates/wireframes-template.md +96 -0
  51. package/skills/research/SKILL.md +136 -0
  52. package/skills/risk/SKILL.md +163 -0
  53. package/skills/scenarios/SKILL.md +113 -0
  54. package/skills/sprint/SKILL.md +174 -0
  55. package/skills/srs/SKILL.md +124 -0
  56. package/skills/stories/SKILL.md +85 -0
  57. package/skills/trace/SKILL.md +85 -0
  58. package/skills/usecases/SKILL.md +91 -0
  59. package/skills/wireframes/SKILL.md +107 -0
@@ -0,0 +1,231 @@
1
+ # Domain Reference: On-demand / Services Marketplace
2
+
3
+ Domain-specific knowledge for on-demand and services marketplace projects: ride-hailing, food delivery, home services (cleaning, repairs, plumbing), task marketplace, beauty and wellness, pet care, freelance marketplaces, tutoring platforms.
4
+
5
+ ---
6
+
7
+ ## 1. /brief — Project Brief
8
+
9
+ ### Domain-specific interview questions
10
+ - Service category: ride-hailing, home services, food delivery (logistics layer), freelance tasks, beauty/wellness, tutoring, pet care, other?
11
+ - Supply side: vetted professionals (background-checked), open marketplace (self-registration), or employed staff?
12
+ - Booking model: instant matching (like Uber), scheduled booking, or request/quote flow (provider proposes price)?
13
+ - Pricing model: fixed pricing, dynamic/surge pricing, provider sets own price, auction/bidding?
14
+ - Monetisation: commission on transaction, subscription for providers, booking fee, advertising?
15
+
16
+ ### Typical business goals
17
+ - Minimise time-to-match between client request and provider acceptance.
18
+ - Maximise provider utilisation and income (to retain supply side).
19
+ - Build trust on both sides through reviews, verification, and dispute resolution.
20
+ - Reduce cancellation rate and no-show incidents.
21
+ - Expand to new service categories or cities with minimal operational overhead.
22
+
23
+ ### Typical risks
24
+ - Supply-demand imbalance in specific geographies or time slots.
25
+ - Provider quality inconsistency — reputational risk.
26
+ - Safety incidents: background checks, insurance, liability.
27
+ - Payment disputes and fraudulent bookings.
28
+ - Regulatory: gig worker classification laws (employee vs. contractor), local licensing for some services (electricians, doctors).
29
+
30
+ ---
31
+
32
+ ## 2. /srs — Requirements Specification
33
+
34
+ ### Domain-specific interview questions
35
+ - Roles: client (requester), service provider (executor), admin, support agent?
36
+ - Provider onboarding: self-registration with document upload, background check, manual approval?
37
+ - Search and matching: geo-based search radius, category/skill filter, availability calendar?
38
+ - Booking flow: instant-book or request-and-confirm (provider must accept)?
39
+ - Payment timing: pre-authorisation at booking, charge on completion, or subscription?
40
+ - Cancellation policy: free cancellation window, cancellation fee after window, provider cancellation penalties?
41
+ - Reviews: two-sided (client reviews provider, provider reviews client)?
42
+ - Dispute resolution: automated or support-agent workflow?
43
+
44
+ ### Typical functional areas
45
+ - Provider discovery (search, filter by category, location, availability, rating).
46
+ - Provider profile (bio, services offered, pricing, portfolio, reviews, availability).
47
+ - Booking / request flow (service selection, date/time, address, notes, payment).
48
+ - Real-time provider tracking (ride-hailing, delivery sub-category).
49
+ - In-app messaging between client and provider.
50
+ - Payment processing (charge, split, payout to provider).
51
+ - Reviews and ratings (two-sided, moderated).
52
+ - Provider onboarding (registration, document verification, background check).
53
+ - Provider scheduling and availability management.
54
+ - Notifications (booking confirmed, provider en-route, service started, completed, payment receipt).
55
+ - Cancellation and refund handling.
56
+ - Dispute management.
57
+ - Admin panel (provider management, booking management, payouts, reports).
58
+ - Promotions and referral programmes.
59
+
60
+ ---
61
+
62
+ ## 3. /stories — User Stories
63
+
64
+ ### Domain-specific interview questions
65
+ - Critical client flows: search provider, book service, track/await provider, pay, leave review?
66
+ - Critical provider flows: receive and accept booking, navigate to client, complete service, receive payout?
67
+ - Admin flows: approve provider, handle dispute, issue refund, suspend account?
68
+
69
+ ### Typical epics
70
+ - Provider Discovery and Search.
71
+ - Provider Profile.
72
+ - Booking and Request Flow.
73
+ - Real-time Tracking (if applicable).
74
+ - In-app Messaging.
75
+ - Payment, Pricing, and Payouts.
76
+ - Reviews and Ratings.
77
+ - Provider Onboarding and Verification.
78
+ - Availability and Scheduling.
79
+ - Notifications.
80
+ - Cancellations and Refunds.
81
+ - Dispute Resolution.
82
+ - Promotions and Referrals.
83
+ - Admin and Operations.
84
+
85
+ ---
86
+
87
+ ## 4. /usecases — Use Cases
88
+
89
+ ### Domain-specific interview questions
90
+ - Matching failure: no provider available in area or time slot — what is the fallback?
91
+ - Provider no-show: how is client compensated? How is provider penalised?
92
+ - Safety incident: how does the client report a safety concern during a service?
93
+ - Payment failure: booking confirmed but payment fails on completion — recovery flow?
94
+
95
+ ### Typical exceptional flows
96
+ - No provider available in search radius — widen radius suggestion, notify client when availability opens.
97
+ - Provider declines booking — auto-reassign to next match or return booking to pool.
98
+ - Provider no-show — client notification, automatic refund or rebooking credit, provider penalty.
99
+ - Client cancels after provider en-route — cancellation fee applied, provider compensated.
100
+ - Payment fails on service completion — retry flow, provider payout held until resolution.
101
+ - Dispute raised post-service — freeze review period, support agent reviews evidence, resolution applied.
102
+ - Background check fails during onboarding — provider rejected, notification with appeal option.
103
+
104
+ ---
105
+
106
+ ## 5. /ac — Acceptance Criteria
107
+
108
+ ### Domain-specific interview questions
109
+ - Matching SLA: maximum acceptable time from booking to provider assignment?
110
+ - Cancellation window: exact duration of free cancellation period?
111
+ - Review window: how long after service completion can client and provider leave reviews?
112
+ - Payout schedule: when are funds released to provider after service completion?
113
+ - Refund rules: full/partial refund — under what conditions?
114
+
115
+ ---
116
+
117
+ ## 6. /nfr — Non-functional Requirements
118
+
119
+ ### Domain-specific interview questions
120
+ - Geographic scope: city, national, international — impacts map provider and localisation requirements.
121
+ - Concurrent bookings at peak: expected simultaneous active bookings?
122
+ - Matching latency requirement: how quickly must a match be made (for instant-book models)?
123
+ - Offline-first provider app: must the provider app work with intermittent connectivity?
124
+
125
+ ### Mandatory NFR categories for On-demand
126
+ - **Matching Performance:** Provider matching must return results within 3s. For instant-match models, provider assignment must complete within 5s of client confirmation.
127
+ - **Real-time Tracking:** Location update interval ≤ 10s for active bookings. Client tracking page reflects provider position within 15s.
128
+ - **Scalability:** System must handle 5× peak load during demand surges (events, holidays) without degradation.
129
+ - **Payment Reliability:** Payment processing failure rate < 0.1%. All payment events idempotent — no double charges on retries.
130
+ - **Availability:** Booking and matching service: 99.9% SLA. Provider app backend: 99.9%.
131
+ - **Security:** Payment instrument data never stored server-side — tokenised via payment provider. Provider documents stored in private object storage.
132
+ - **Trust & Safety:** Review moderation response within 24 hours of report. Suspicious account activity triggers automated review within 1 hour.
133
+ - **Regulatory:** Gig worker classification compliance per jurisdiction (inform legal). Service-specific licence verification where legally required (medical, electrical, etc.).
134
+
135
+ ---
136
+
137
+ ## 7. /datadict — Data Dictionary
138
+
139
+ ### Domain-specific interview questions
140
+ - User model: are client and provider the same user model (switching roles) or separate entities?
141
+ - Booking state machine: what is the full lifecycle of a booking (requested → accepted → in-progress → completed / cancelled)?
142
+ - Payout: is payout calculated per booking or batched weekly/monthly?
143
+ - Location: is provider location tracked only during active bookings, or continuously while on-duty?
144
+
145
+ ### Mandatory entities for On-demand
146
+ - **User** — unified account: name, contact, profile photo, role flags (isClient, isProvider), verification status.
147
+ - **ProviderProfile** — professional profile: services offered, bio, hourly rate or price list, portfolio, average rating, onboarding status.
148
+ - **ProviderDocument** — verification documents: type (ID, licence, certificate), upload, review status.
149
+ - **ServiceCategory** — taxonomy of services offered on the platform.
150
+ - **Availability** — provider schedule: recurring rules (Mon–Fri 9–18) and exceptions (holidays, blocked slots).
151
+ - **Booking** — service request: client, provider, service, date/time, address, status lifecycle, price breakdown.
152
+ - **BookingMessage** — in-booking chat: sender, content, timestamp.
153
+ - **Payment** — booking payment: amount, fee breakdown (client charge, platform commission, provider earning), status.
154
+ - **Payout** — provider payout: amount, bookings included, payout method, status, scheduled date.
155
+ - **Review** — two-sided: reviewer, reviewee, booking reference, rating (1–5), text, response, moderation status.
156
+ - **Dispute** — booking dispute: raised by, reason, evidence, status, resolution, support agent.
157
+ - **Promotion** — discount or referral: type, value, conditions, usage count, expiry.
158
+ - **Notification** — channel (push, SMS, email), event type, status.
159
+ - **Location** — provider real-time location: lat, lon, timestamp, accuracy (stored only during active booking unless consented otherwise).
160
+
161
+ ---
162
+
163
+ ## 8. /apicontract — API Contract
164
+
165
+ ### Domain-specific interview questions
166
+ - Webhooks: booking status changes to third-party integrators? Provider payout processing notification?
167
+ - Real-time: messaging and tracking via WebSocket or long-polling?
168
+ - Maps and geocoding: provider — which map SDK for provider navigation (Google Maps, Apple Maps, Mapbox)?
169
+
170
+ ### Typical endpoint groups
171
+ - **Search & Discovery** — search providers by category, location, date/time, rating, price.
172
+ - **Provider Profile** — get profile, get reviews, get availability, get pricing.
173
+ - **Booking** — create booking (request or instant), confirm, start service, complete service, cancel.
174
+ - **Tracking** — get live provider location for active booking.
175
+ - **Messaging** — get conversation, send message (REST + WebSocket channel).
176
+ - **Payments** — create payment intent, confirm charge, get payment breakdown.
177
+ - **Payouts** — get payout history, trigger manual payout (admin), update payout method.
178
+ - **Reviews** — submit review, get reviews for provider/client, report review.
179
+ - **Provider Onboarding** — submit profile, upload document, get onboarding status.
180
+ - **Availability** — get calendar, set recurring schedule, block slots.
181
+ - **Disputes** — create dispute, submit evidence, get status, resolve (admin).
182
+ - **Promotions** — apply promo code, get referral link, get eligible promotions.
183
+ - **Notifications** — get preferences, update preferences, get history.
184
+ - **Admin** — provider approval, account suspension, refund override, reports.
185
+
186
+ ---
187
+
188
+ ## 9. /wireframes — Wireframe Descriptions
189
+
190
+ ### Domain-specific interview questions
191
+ - Home screen for client: search-first (like Uber), category browse (like UrbanClapper), or personalised feed?
192
+ - Provider view: simple schedule and booking list, or full business management dashboard?
193
+ - Mobile-first or web + mobile?
194
+
195
+ ### Typical screens
196
+ - **Client Home** — category grid or search bar, nearby providers, recent bookings, promotions.
197
+ - **Search Results** — provider cards (photo, rating, price, distance), filters, map toggle.
198
+ - **Provider Profile** — hero photo, bio, services and prices, availability, reviews, book button.
199
+ - **Booking Flow** — service selection → date/time picker → address → booking summary → payment.
200
+ - **Active Booking / Tracking** — provider location on map, ETA, messaging button, status banner.
201
+ - **Booking Detail** — service summary, provider info, timeline, payment receipt, review prompt.
202
+ - **Review Screen** — star rating, text input, optional photo, submit.
203
+ - **Client Bookings History** — upcoming and past bookings, quick rebook action.
204
+ - **Provider — Schedule View** — day/week calendar, upcoming bookings, availability blocks.
205
+ - **Provider — Booking Request** — client info, service details, accept/decline buttons.
206
+ - **Provider — Earnings** — payout history, pending earnings, bank account management.
207
+ - **Dispute Screen** — booking reference, reason selection, evidence upload, submit.
208
+ - **Admin — Provider Management** — pending approvals, active providers, suspension controls.
209
+
210
+ ---
211
+
212
+ ## Domain Glossary
213
+
214
+ | Term | Definition |
215
+ |------|-----------|
216
+ | Supply side | Providers, drivers, freelancers — the entities who perform services |
217
+ | Demand side | Clients or customers — the entities who request services |
218
+ | Matching | Algorithm that connects a demand-side request to a supply-side provider |
219
+ | Instant booking | Booking confirmed automatically without provider manual acceptance |
220
+ | Request flow | Client submits a request; provider explicitly accepts or declines |
221
+ | Surge pricing | Dynamic price increase during periods of high demand |
222
+ | Gig worker | Independent contractor who provides services via a platform |
223
+ | Utilisation rate | Percentage of provider's available time that is booked |
224
+ | Cancellation rate | Percentage of bookings cancelled (by either side) |
225
+ | Commission | Platform's fee taken from each transaction (percentage of booking value) |
226
+ | Payout | Transfer of earned funds from platform to provider |
227
+ | Escrow | Platform holds payment from client until service completion, then releases to provider |
228
+ | Two-sided review | Both client and provider can rate each other after a booking |
229
+ | Background check | Third-party verification of a provider's criminal record and identity |
230
+ | Onboarding | Process for new providers to register, verify documents, and be approved |
231
+ | Referral | Incentive programme where existing users recruit new users |
@@ -0,0 +1,241 @@
1
+ # Domain Reference: Real Estate
2
+
3
+ Domain-specific knowledge for real estate projects: property listing portals, agency CRM systems, rental management platforms, property management tools (landlord/tenant), mortgage broker and comparison tools, short-term rental platforms (vacation), commercial real estate platforms.
4
+
5
+ ---
6
+
7
+ ## 1. /brief — Project Brief
8
+
9
+ ### Domain-specific interview questions
10
+ - Product type: property listing portal (Zillow/Rightmove model), agency CRM, rental management, property management (long-term), short-term rental (Airbnb model), mortgage comparison, commercial RE?
11
+ - Target market: residential sale, residential rental, commercial, or all?
12
+ - Geographic scope: city, national, cross-border — impacts currency, legal documents, and property law?
13
+ - Primary roles served: buyers/renters, sellers/landlords, agents/brokers, property managers, mortgage advisors?
14
+ - Monetisation: agent subscription, listing fee, lead generation (pay-per-enquiry), transaction commission, SaaS for property managers?
15
+
16
+ ### Typical business goals
17
+ - Increase enquiry-to-viewing conversion rate.
18
+ - Reduce time-to-let or time-to-sale.
19
+ - Increase agent productivity (fewer manual tasks, more managed properties per agent).
20
+ - Build buyer/renter trust through accurate, up-to-date listings and verified information.
21
+ - Generate qualified leads for agents or mortgage brokers.
22
+
23
+ ### Typical risks
24
+ - Listing data quality: stale listings, inaccurate prices, incorrect availability.
25
+ - Regulatory compliance: property law differs significantly by jurisdiction (deposit caps, eviction process, mandatory disclosures).
26
+ - Data privacy: collecting financial details, tenancy references, right-to-rent checks.
27
+ - Agent resistance to adopting new CRM if it replaces established tools.
28
+ - Fraud: fake listings, fake buyers/tenants.
29
+
30
+ ---
31
+
32
+ ## 2. /srs — Requirements Specification
33
+
34
+ ### Domain-specific interview questions
35
+ - Roles: buyer/renter, seller/landlord, agent/negotiator, property manager, mortgage advisor, admin?
36
+ - Property data: own listings database or data feed from MLS/portals (RETS, RESO Web API)?
37
+ - Search and filtering: location (map-based), price range, property type, bedrooms, amenities?
38
+ - Enquiry management: contact form, in-app messaging, phone click-to-reveal?
39
+ - Viewing management: online booking, calendar sync with agent's calendar, confirmation and reminder flow?
40
+ - Tenancy workflow: application, referencing, tenancy agreement (digital signing), inventory, move-in, deposit, maintenance, move-out?
41
+ - Financial features: rent collection, maintenance charge management, statement generation?
42
+ - Valuation: instant automated valuation (AVM), request for agent valuation?
43
+
44
+ ### Typical functional areas
45
+ - Property listing (creation, editing, photos, floor plan, EPC/energy rating, status management).
46
+ - Search and discovery (geo-search with map, filters, saved searches, alerts).
47
+ - Property detail page.
48
+ - Enquiry / lead capture.
49
+ - Viewing booking and management.
50
+ - Offer management (sale): submission, negotiation history, acceptance.
51
+ - Tenancy application and referencing.
52
+ - Digital tenancy agreement signing.
53
+ - Tenancy management (rent schedule, deposit, maintenance requests).
54
+ - Agent CRM: lead pipeline, contact management, property portfolio, task management.
55
+ - Mortgage tools: affordability calculator, lender comparison, broker enquiry.
56
+ - Notifications (new listing matching saved search, viewing reminders, rent due).
57
+ - Admin: user management, listing moderation, reporting.
58
+
59
+ ---
60
+
61
+ ## 3. /stories — User Stories
62
+
63
+ ### Domain-specific interview questions
64
+ - Critical buyer/renter flows: search → save listing → book viewing → submit offer or application?
65
+ - Critical agent flows: create listing → manage enquiries → confirm viewing → log offer?
66
+ - Tenancy flows: receive application → run reference check → issue agreement → manage rent?
67
+
68
+ ### Typical epics
69
+ - Property Search and Discovery.
70
+ - Property Listing Management (agent/landlord).
71
+ - Enquiry and Lead Management.
72
+ - Viewing Booking and Management.
73
+ - Offer Management (for sale).
74
+ - Tenancy Application and Referencing.
75
+ - Tenancy Agreement (Digital Signing).
76
+ - Tenancy Management (Rent, Deposit, Maintenance).
77
+ - Agent CRM and Pipeline.
78
+ - Saved Searches and Alerts.
79
+ - Mortgage Calculators and Broker Tools.
80
+ - Notifications.
81
+ - Admin and Moderation.
82
+
83
+ ---
84
+
85
+ ## 4. /usecases — Use Cases
86
+
87
+ ### Domain-specific interview questions
88
+ - Listing status changes: what triggers a property to be marked "Under Offer" or "Let Agreed" automatically vs. manually?
89
+ - Reference failure: applicant fails referencing — what are the next steps (guarantor, deposit top-up, rejection)?
90
+ - Gazumping (UK): a higher offer is accepted after a previous offer was agreed — how is this handled?
91
+ - Maintenance emergency: tenant reports an emergency (flooding, no heating) — escalation process?
92
+
93
+ ### Typical exceptional flows
94
+ - Property listed with incorrect price — agent corrects listing, saved-search alert not sent for correction to avoid spam.
95
+ - Viewing no-show (tenant/buyer) — slot marked as no-show, agent notified, rebook offered.
96
+ - Applicant fails referencing — system notifies landlord/agent, applicant informed with reason category (not detailed), appeal/alternative route offered.
97
+ - Digital signature link expires — resend triggered with new expiry, audit trail retained.
98
+ - Rent payment missed — day-1 automatic notification to landlord/property manager, escalation workflow initiated.
99
+ - Maintenance request not acknowledged within SLA — escalation to property manager supervisor.
100
+
101
+ ---
102
+
103
+ ## 5. /ac — Acceptance Criteria
104
+
105
+ ### Domain-specific interview questions
106
+ - Search freshness: within how many minutes of a listing going live must it appear in search results?
107
+ - Saved search alerts: maximum latency from listing match to notification delivered to user?
108
+ - Viewing booking: what are the confirmation rules — instant confirm or pending agent approval?
109
+ - Deposit protection: must the system record deposit protection scheme registration number and provider?
110
+ - Digital signature: what signature standard is required (e-signature legally binding in jurisdiction)?
111
+
112
+ ---
113
+
114
+ ## 6. /nfr — Non-functional Requirements
115
+
116
+ ### Domain-specific interview questions
117
+ - Listing volume: how many active properties on the platform at launch and at scale?
118
+ - Map provider: Google Maps Platform, Mapbox, or OS Maps (UK)? Any cost sensitivity?
119
+ - Property photo storage: volume of photos per listing, total storage estimate?
120
+ - GDPR / data privacy: are applicant references (financial data) processed on-platform or via third-party referencing provider?
121
+
122
+ ### Mandatory NFR categories for Real Estate
123
+ - **Search Performance:** Property search results returned within 1.5s including geo-filter. Map layer with property pins rendered within 2s for ≤500 visible markers.
124
+ - **Listing Freshness:** New listings indexed and searchable within 5 minutes of publication. Status changes (let agreed, sold) reflected in search within 2 minutes.
125
+ - **Photo and Media:** Property photos served via CDN. Listing page with 20 photos must load full page within 3s on standard broadband. Images auto-compressed and WebP-converted on upload.
126
+ - **Availability:** Search and property detail: 99.9% SLA. Tenancy management (rent collection): 99.9%. Agent CRM: 99.5%.
127
+ - **Security:** Applicant financial data (referencing) encrypted at rest. Right-to-rent documents stored in private object storage with access log. PII masked in exported reports.
128
+ - **Compliance:** Tenancy deposits must record statutory protection scheme details. Mandatory property disclosure fields enforced per jurisdiction (EPC, gas safety, electrical certificate). Consent obtained for marketing communications (GDPR).
129
+ - **Accessibility:** WCAG 2.1 AA for search, listing detail, and application forms. Map must have non-map fallback view.
130
+ - **Mobile:** Property search and detail pages fully functional on mobile (responsive or native app). Agent CRM must be usable on tablet.
131
+
132
+ ---
133
+
134
+ ## 7. /datadict — Data Dictionary
135
+
136
+ ### Domain-specific interview questions
137
+ - Property vs. listing: is a property a permanent entity (with history across multiple listings), or does each listing stand alone?
138
+ - Offer model: is an offer a separate entity (multiple offers on one property), or a field on the property?
139
+ - Tenancy: single entity or split into Application → Agreement → ActiveTenancy → ClosedTenancy?
140
+ - Media: are floor plans, EPCs, and virtual tours stored as separate media types from photos?
141
+
142
+ ### Mandatory entities for Real Estate
143
+ - **Property** — physical asset: address (structured), type (flat, house, land, commercial), bedrooms, bathrooms, size (m²/sqft), EPC rating, geo-coordinates.
144
+ - **Listing** — active marketing record: property reference, type (sale or rental), asking price or rent, status (active, under offer, sold/let, withdrawn), agent, published date, description, features.
145
+ - **Media** — asset: type (photo, floor plan, EPC certificate, virtual tour, video), URL, CDN path, display order.
146
+ - **Agent** — individual negotiator: name, email, phone, agency, active listing count.
147
+ - **Agency** — brokerage: name, address, logo, subscription plan, agents.
148
+ - **Enquiry** — lead: prospective buyer/renter, listing, message, channel, status (new, contacted, viewing booked, closed).
149
+ - **ViewingSlot** — available viewing time: listing, datetime, duration, booked flag.
150
+ - **Viewing** — booked viewing: slot, attendee (prospective buyer/renter), status (confirmed, completed, no-show, cancelled), notes.
151
+ - **Offer** _(sale)_ — submitted offer: listing, buyer, amount, conditions, status (submitted, under review, accepted, rejected, withdrawn).
152
+ - **TenancyApplication** — rental application: listing, applicant(s), move-in date, tenancy term, status.
153
+ - **ReferenceCheck** — referencing result: applicant, type (employment, landlord, credit), provider, status (pending, passed, failed), report URL.
154
+ - **TenancyAgreement** — legal document: application, property, parties, term dates, rent amount, deposit amount, signature status, signed document URL.
155
+ - **Tenancy** — active tenancy: agreement, status (active, ended), renewal count.
156
+ - **RentSchedule** — rent payment plan: tenancy, amount, frequency, next due date.
157
+ - **RentPayment** — individual rent transaction: tenancy, amount, due date, paid date, status, payment method.
158
+ - **Deposit** — tenancy deposit: tenancy, amount, protection scheme, scheme registration number, release status.
159
+ - **MaintenanceRequest** — repair request: tenancy, description, priority (emergency, urgent, routine), photos, status, assigned contractor.
160
+ - **SavedSearch** — user's search criteria saved for alerts: user, filters, alert frequency.
161
+ - **Mortgage** _(if applicable)_ — mortgage enquiry or saved calculation: applicant, property value, deposit, term, estimated monthly payment.
162
+
163
+ ---
164
+
165
+ ## 8. /apicontract — API Contract
166
+
167
+ ### Domain-specific interview questions
168
+ - Data feed integration: does the platform need to ingest listings via RETS or RESO Web API from MLS or other portals?
169
+ - Webhooks: new listing matching saved search triggers notification? Rent payment received triggers landlord notification?
170
+ - Digital signature: integrated e-signature API (DocuSign, Adobe Sign, HelloSign)?
171
+ - Payment processing: rent collection via direct debit (GoCardless) or card?
172
+
173
+ ### Typical endpoint groups
174
+ - **Listings** — search (with geo-filter), get detail, create, update, change status.
175
+ - **Properties** — create property, get property history, get all listings for property.
176
+ - **Media** — get upload URL, confirm upload, reorder, delete.
177
+ - **Enquiries** — submit enquiry, get enquiries (agent view), update status.
178
+ - **Viewings** — get available slots, book viewing, confirm, cancel, record outcome.
179
+ - **Offers** _(sale)_ — submit offer, counter-offer, accept, reject, withdraw.
180
+ - **Tenancy Applications** — submit application, get status, upload document.
181
+ - **Reference Checks** — initiate check, get status (webhook callback from provider).
182
+ - **Tenancy Agreements** — generate draft, send for signature, get signature status, get signed document.
183
+ - **Rent** — get schedule, record payment (webhook from payment provider), get arrears.
184
+ - **Maintenance** — submit request, update status, assign contractor, upload photo.
185
+ - **Saved Searches** — create, list, update, delete.
186
+ - **Alerts** — get notification history.
187
+ - **Mortgage** — calculate affordability, submit broker enquiry.
188
+ - **Admin** — listing moderation, user management, agency management.
189
+ - **Webhooks** — listing status change, saved search match, rent payment received, signature completed.
190
+
191
+ ---
192
+
193
+ ## 9. /wireframes — Wireframe Descriptions
194
+
195
+ ### Domain-specific interview questions
196
+ - Search experience: map-first (like Rightmove) or list-first with map toggle?
197
+ - Agent CRM: web-only, or must work on mobile tablet for valuations?
198
+ - Tenancy management: tenant-facing portal separate from landlord/property manager interface?
199
+
200
+ ### Typical screens
201
+ - **Property Search — List View** — filter bar, property cards (photo, price, key details, save), sort, pagination.
202
+ - **Property Search — Map View** — interactive map with property pins, price labels, sidebar with results list.
203
+ - **Property Detail Page** — photo gallery, key details (price, bedrooms, size, EPC), description, floor plan, virtual tour, agent contact, book viewing button, map.
204
+ - **Viewing Booking** — available slot calendar, select slot, confirm details, confirmation screen.
205
+ - **Saved Searches** — list of saved searches with alert settings, recent matches preview.
206
+ - **Tenancy Application Form** — applicant details, co-applicant, employment information, references, document upload.
207
+ - **Tenant Portal — Dashboard** — rent status, next payment date, maintenance requests, tenancy documents.
208
+ - **Tenant Portal — Maintenance** — request form (description, priority, photo upload), request history.
209
+ - **Landlord / Property Manager Dashboard** — properties overview, rent arrears alerts, maintenance queue, tenancy renewals.
210
+ - **Agent CRM — Pipeline** — leads by stage (Kanban or list), follow-up tasks, today's viewings.
211
+ - **Agent CRM — Listing Editor** — property details form, photo upload, description, pricing, publish controls.
212
+ - **Offer Management** _(sale)_ — offer list for property, amount, status, accept/reject/counter.
213
+ - **Tenancy Agreement** — document preview with all fields, sign button, signatory status indicators.
214
+ - **Mortgage Calculator** _(if applicable)_ — inputs (price, deposit, term, rate type), monthly payment output, lender comparison table.
215
+
216
+ ---
217
+
218
+ ## Domain Glossary
219
+
220
+ | Term | Definition |
221
+ |------|-----------|
222
+ | MLS | Multiple Listing Service — database of property listings shared among agents |
223
+ | RESO | Real Estate Standards Organisation — defines data standards for property data exchange |
224
+ | EPC | Energy Performance Certificate — mandatory energy efficiency rating in many jurisdictions |
225
+ | Conveyancing | Legal process of transferring property ownership |
226
+ | Gazumping | When a seller accepts a higher offer after already accepting a lower one |
227
+ | Under Offer | Property where an offer has been made and accepted (sale not yet complete) |
228
+ | Let Agreed | Property where a tenancy has been agreed but not yet started |
229
+ | Stamp Duty | UK property purchase tax (equivalent: transfer tax in US) |
230
+ | AVM | Automated Valuation Model — algorithm-based property price estimate |
231
+ | Yield | Annual rental income as percentage of property value (used by investors) |
232
+ | Cap Rate | Capitalisation Rate — net operating income / property value (commercial RE) |
233
+ | LTV | Loan-to-Value ratio — mortgage amount as percentage of property value |
234
+ | Deposit protection | Legally required scheme to protect tenant deposits (UK: TDS, DPS, myDeposits) |
235
+ | Right to rent | UK legal requirement to verify tenant's right to reside in the country |
236
+ | Referencing | Background check on prospective tenant (employment, credit, previous landlord) |
237
+ | Guarantor | Third party who agrees to cover rent if tenant defaults |
238
+ | Leasehold | Property ownership where land is owned by freeholder for a fixed term |
239
+ | Freehold | Outright ownership of land and property |
240
+ | Service charge | Fee paid by leaseholders for maintenance of shared building areas |
241
+ | Ground rent | Annual payment by leaseholder to freeholder |
@@ -0,0 +1,185 @@
1
+ # Domain Reference: SaaS
2
+
3
+ Domain-specific knowledge for SaaS projects: B2B platforms, CRM, project management tools, analytics dashboards, service marketplaces, no-code/low-code platforms, EdTech, HRTech.
4
+
5
+ ---
6
+
7
+ ## 1. /brief — Project Brief
8
+
9
+ ### Domain-specific interview questions
10
+ - Product type: B2B platform, CRM, project management tool, analytics platform, marketplace, EdTech/LMS, HRTech, no-code builder?
11
+ - Monetization model: subscription (monthly/annual), freemium, per-seat, usage-based, enterprise licensing?
12
+ - Target segment: SMB (Small-Medium Business), mid-market, enterprise?
13
+
14
+ ### Typical business goals
15
+ - Grow MRR/ARR (Monthly/Annual Recurring Revenue).
16
+ - Reduce churn rate.
17
+ - Increase NRR (Net Revenue Retention) through upsell.
18
+ - Enter the enterprise segment.
19
+ - Product-led growth through freemium.
20
+ - Reduce CAC (Customer Acquisition Cost).
21
+
22
+ ### Typical risks
23
+ - High churn in the first 90 days.
24
+ - Competition from enterprise solutions (Salesforce, SAP, Oracle).
25
+ - Insufficient scalability of multi-tenant architecture.
26
+ - Data residency — data localization requirements.
27
+
28
+ ---
29
+
30
+ ## 2. /srs — Requirements Specification
31
+
32
+ ### Domain-specific interview questions
33
+ - Roles: end user, team admin, workspace owner, billing admin, superadmin, guest/viewer?
34
+ - Multi-tenancy: shared database, schema-per-tenant, database-per-tenant?
35
+ - Integrations: SSO (SAML, OIDC), Zapier/Make, Slack, calendar (Google/Outlook), CRM, billing (Stripe, Chargebee)?
36
+ - RBAC (Role-Based Access Control): preset roles or custom?
37
+ - Compliance: SOC 2, GDPR, HIPAA (if healthcare), ISO 27001?
38
+
39
+ ### Typical functional areas
40
+ - Onboarding (workspace creation, member invitation, guided setup).
41
+ - Workspace/organization management (settings, billing, members).
42
+ - Core product functionality (depends on product type).
43
+ - Collaboration (comments, mentions, real-time editing, activity feed).
44
+ - Integrations and API.
45
+ - Settings and customization.
46
+ - Billing and subscriptions.
47
+ - Analytics and reporting.
48
+
49
+ ---
50
+
51
+ ## 3. /stories — User Stories
52
+
53
+ ### Domain-specific interview questions
54
+ - Critical user flows: first launch (FTUE — First Time User Experience), team invitation, core product action, plan upgrade, integration setup?
55
+ - Edge cases: plan limit exceeded, downgrade with data loss, concurrent editing, workspace deletion with active subscription?
56
+ - Personas: solo founder, team lead, enterprise IT admin, invited member?
57
+
58
+ ### Typical epics
59
+ - Onboarding and FTUE.
60
+ - Workspace management.
61
+ - Core functionality (core feature set).
62
+ - Collaboration.
63
+ - Integrations.
64
+ - Billing and plans.
65
+ - Settings and customization.
66
+ - Administration (superadmin).
67
+
68
+ ---
69
+
70
+ ## 4. /usecases — Use Cases
71
+
72
+ ### Domain-specific interview questions
73
+ - Critical alternative flows: plan limit exceeded, subscription expired, access revoked, merge conflict during concurrent editing?
74
+ - System actors: Stripe/billing provider, SSO provider (Okta, Azure AD), email service, Zapier webhook?
75
+
76
+ ### Typical exceptional flows
77
+ - Subscription payment failure (card declined).
78
+ - SSO provider unavailable.
79
+ - API rate limit exceeded.
80
+ - Data conflict during concurrent editing.
81
+ - Cannot downgrade due to new plan limits exceeded.
82
+
83
+ ---
84
+
85
+ ## 5. /ac — Acceptance Criteria
86
+
87
+ ### Domain-specific interview questions
88
+ - Business rules: plan limits (member count, storage, API calls), trial period, grace period for overdue payment?
89
+ - Boundary values: max file size, max record count, API timeout, trial length?
90
+
91
+ ---
92
+
93
+ ## 6. /nfr — Non-functional Requirements
94
+
95
+ ### Domain-specific interview questions
96
+ - Multi-tenancy: data isolation between tenants, noisy neighbor protection?
97
+ - Target metrics: TTFB (Time to First Byte), API latency (p95), uptime?
98
+ - Scaling: expected tenant count, users per tenant, concurrent editors?
99
+
100
+ ### Mandatory NFR categories for SaaS
101
+ - **Performance:** API latency < 200ms (p95), TTFB < 500ms, page load < 3s.
102
+ - **Scalability:** horizontal scaling, tenant isolation, noisy neighbor prevention.
103
+ - **Security:** SOC 2 Type II compliance, data encryption at-rest (AES-256) and in-transit (TLS 1.2+), SSO/SAML support.
104
+ - **Availability:** SLA 99.9% (standard), 99.95% (enterprise), status page.
105
+ - **Data residency:** storage region selection (EU, US, APAC).
106
+ - **Backup:** RPO < 1 hour, RTO < 4 hours, point-in-time recovery.
107
+
108
+ ---
109
+
110
+ ## 7. /datadict — Data Dictionary
111
+
112
+ ### Domain-specific interview questions
113
+ - Multi-tenancy: tenant_id as a mandatory field in all entities?
114
+ - Soft delete: which entities support recovery (trash/archive)?
115
+
116
+ ### Mandatory entities for SaaS
117
+ - **Organization / Workspace** — tenant: name, plan, settings, limits.
118
+ - **User** — user: email, role, status, organization membership.
119
+ - **Membership** — user ↔ organization link: role, permissions, invitation date.
120
+ - **Subscription** — subscription: plan, status, period, billing provider ID.
121
+ - **Plan** — pricing plan: name, limits, price, features.
122
+ - **Invoice** — invoice: amount, status, period, PDF.
123
+ - **AuditLog** — action log: event, actor, timestamp, tenant_id.
124
+ - **Integration** — connected integrations: type, credentials (encrypted), status.
125
+ - **ApiKey** — API keys: hash, scopes, last used, expiry.
126
+
127
+ ---
128
+
129
+ ## 8. /apicontract — API Contract
130
+
131
+ ### Domain-specific interview questions
132
+ - Public API: needed for third-party integrations? Rate limiting policy?
133
+ - Webhook contracts: events for API subscribers (resource created/updated/deleted)?
134
+ - Authentication: API Key for machine-to-machine, OAuth2 for users, SAML/OIDC for SSO?
135
+
136
+ ### Typical endpoint groups
137
+ - Auth (registration, login, SSO, API keys).
138
+ - Organizations (CRUD, members, settings).
139
+ - Core resources (depends on product).
140
+ - Billing (plans, subscriptions, invoices).
141
+ - Integrations (connection, configuration, webhooks).
142
+ - Admin (superadmin: tenants, metrics, feature flags).
143
+ - Webhooks (outgoing events for subscribers).
144
+
145
+ ---
146
+
147
+ ## 9. /wireframes — Wireframe Descriptions
148
+
149
+ ### Domain-specific interview questions
150
+ - Key screens: dashboard, main workspace screen, workspace settings, billing, member invitation?
151
+ - Specific states: trial expired, plan limit reached, account suspended, empty workspace?
152
+
153
+ ### Typical screens
154
+ - Onboarding (workspace creation, guided setup, team invitation).
155
+ - Dashboard (activity overview, key metrics, quick actions).
156
+ - Main workspace screen (depends on product).
157
+ - Workspace settings (general, members, roles, integrations).
158
+ - Billing (current plan, usage, invoices, upgrade/downgrade).
159
+ - User profile (data, security, notifications).
160
+ - Superadmin (tenants, metrics, feature flags).
161
+
162
+ ---
163
+
164
+ ## Domain Glossary
165
+
166
+ | Term | Definition |
167
+ |------|-----------|
168
+ | MRR | Monthly Recurring Revenue |
169
+ | ARR | Annual Recurring Revenue |
170
+ | NRR | Net Revenue Retention — including upsell and churn |
171
+ | CAC | Customer Acquisition Cost |
172
+ | LTV | Lifetime Value — total revenue from a customer |
173
+ | Churn rate | Customer attrition rate |
174
+ | FTUE | First Time User Experience |
175
+ | Multi-tenancy | Architecture with data isolation between customers |
176
+ | SSO | Single Sign-On |
177
+ | SAML | Security Assertion Markup Language — SSO protocol |
178
+ | OIDC | OpenID Connect — authentication protocol over OAuth2 |
179
+ | RBAC | Role-Based Access Control |
180
+ | SOC 2 | Service Organization Control 2 — security audit standard for SaaS |
181
+ | TTFB | Time to First Byte |
182
+ | Noisy neighbor | One tenant affecting another's performance |
183
+ | Feature flag | Mechanism to enable/disable functionality without deployment |
184
+ | Freemium | Monetization model: free base plan + paid upgrades |
185
+ | Per-seat pricing | Pricing model: payment per user |