Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions Agents.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Markets — Project Coding Standards

> This file extends the **[petry-projects organization AGENTS.md](https://github.com/petry-projects/.github/blob/main/AGENTS.md)** with Markets-specific conventions. The org standards define TDD, SOLID, CLEAN, DRY, DDD, KISS, YAGNI, pre-commit checks, CI gates, BMAD workflows, and multi-agent isolation. This file does not restate those — it specifies how they apply to this project's Go + React Native/Expo stack. If a rule here conflicts with the org AGENTS.md, this file takes precedence.
>
> For detailed Markets-specific application of each principle (bounded contexts, aggregate roots, repository interfaces, domain events, typed IDs, dependency direction, test-by-layer guidance, coverage thresholds, and CI commands), see `_bmad-output/planning-artifacts/coding-standards.md`.

## Project Overview

**markets** is a real-time coordination platform for local farmers markets. Mobile-first (iOS/Android) with web via React Native for Web. Three user roles: Customer, Vendor, Market Manager.
Expand Down Expand Up @@ -148,14 +152,12 @@ theme: {

## Test-Driven Development

- IMPORTANT: All development MUST follow test-driven development (TDD) practices
- Write failing tests BEFORE writing implementation code (Red → Green → Refactor)
- **Go backend:** Write Go test files (`_test.go`) co-located with source files before implementing resolvers, middleware, or services. Use `go test ./...` to verify.
- **React Native frontend:** Write tests using Jest + React Native Testing Library before implementing components and hooks. Test files co-located as `*.test.tsx` or in `__tests__/` directories.
- **GraphQL resolvers:** Write integration tests (tagged `//go:build integration`) that test the full resolver → database → response path
- **Acceptance criteria drive tests:** Each story's Given/When/Then acceptance criteria should map directly to test cases
- Every PR must include tests that cover the new or changed functionality
- Do not merge code without passing tests
TDD rules are defined in the [org AGENTS.md](https://github.com/petry-projects/.github/blob/main/AGENTS.md). Markets-specific test framework configuration, mocking strategy, coverage thresholds, and per-layer test guidance are in `_bmad-output/planning-artifacts/coding-standards.md`.

- **Go backend:** `*_test.go` co-located with source; `//go:build integration` for integration tests
- **React Native frontend:** `*.test.tsx` co-located or `__tests__/`; Jest + React Native Testing Library
- **GraphQL resolvers:** Integration tests for the full resolver → database → response path
- **Acceptance criteria drive tests:** Each story's Given/When/Then maps directly to test cases

## Event-Driven Architecture

Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Markets — Claude Code Instructions

> **Read [Agents.md](Agents.md) first.** It contains the project coding standards, technology stack, component organization, styling rules, naming conventions, accessibility requirements, mobile UX constraints, TDD practices, event-driven architecture rules, and anti-patterns that apply to all work in this repo.
> **Read the [petry-projects org AGENTS.md](https://github.com/petry-projects/.github/blob/main/AGENTS.md) and then [Agents.md](Agents.md).** The org file defines cross-cutting standards (TDD, SOLID, CLEAN, DRY, DDD, KISS, YAGNI, CI gates, BMAD). The project Agents.md contains Markets-specific technology stack, component organization, styling rules, naming conventions, accessibility requirements, mobile UX constraints, event-driven architecture rules, and anti-patterns. For detailed principle application (bounded contexts, aggregates, typed IDs, test strategy, coverage thresholds), see `_bmad-output/planning-artifacts/coding-standards.md`.

## Figma MCP Integration Rules

Expand Down
116 changes: 116 additions & 0 deletions _bmad-output/implementation-artifacts/sprint-status.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# generated: 2026-03-28
# last_updated: 2026-03-28
# project: markets
# project_key: NOKEY
# tracking_system: file-system
# story_location: {project-root}/_bmad-output/implementation-artifacts

# STATUS DEFINITIONS:
# ==================
# Epic Status:
# - backlog: Epic not yet started
# - in-progress: Epic actively being worked on
# - done: All stories in epic completed
#
# Epic Status Transitions:
# - backlog → in-progress: Automatically when first story is created (via create-story)
# - in-progress → done: Manually when all stories reach 'done' status
Comment on lines +15 to +17

Copilot AI Mar 28, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow note says epics auto-transition to in-progress when the first story is created, but the BMAD create-story workflow detects “first story” via a {{epic_num}}-1-* key pattern. With story keys like 1-1a-.../1-1b-... (and later 2-2a-... etc), that pattern may not match, so epic status might not auto-update as documented. Consider either (a) adjusting the story-key scheme to match the workflow’s expectations, or (b) updating the BMAD workflow (and/or these notes) to explicitly support alphanumeric story numbers like 1a, 2a, etc.

Copilot uses AI. Check for mistakes.
#
# Story Status:
# - backlog: Story only exists in epic file
# - ready-for-dev: Story file created in stories folder
# - in-progress: Developer actively working on implementation
# - review: Ready for code review (via Dev's code-review workflow)
# - done: Story completed
#
# Retrospective Status:
# - optional: Can be completed but not required
# - done: Retrospective has been completed
#
# WORKFLOW NOTES:
# ===============
# - Epic transitions to 'in-progress' automatically when first story is created
# - Stories can be worked in parallel if team capacity allows
# - SM typically creates next story after previous one is 'done' to incorporate learnings
# - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)

generated: 2026-03-28
last_updated: 2026-03-28
project: markets
project_key: NOKEY
tracking_system: file-system
story_location: "{project-root}/_bmad-output/implementation-artifacts"

development_status:
# ── Epic 1: Authentication & Role-Based Access ──
epic-1: backlog
1-1a-frontend-project-scaffolding: backlog
1-1b-backend-project-scaffolding-audit-infrastructure: backlog
1-2-google-apple-sign-in-authentication: backlog
1-3-role-selection-user-record-creation: backlog
1-4-market-scoped-manager-permissions: backlog
1-5-role-based-access-enforcement-middleware: backlog
epic-1-retrospective: optional

# ── Epic 2: Market Administration ──
epic-2: backlog
2-1-create-edit-market-profile: backlog
2-2-market-schedule-hours-management: backlog
2-2a-browse-invite-vendors-to-market: backlog
2-2b-future-market-day-planning: backlog
2-2c-market-rules-expectations: backlog
2-2d-send-vendor-notifications: backlog
2-2e-cancel-or-end-market-early: backlog
2-3-per-date-vendor-roster-management-join-request-approval: backlog
epic-2-retrospective: optional

# ── Epic 3: Vendor Profile & Product Catalog ──
epic-3: backlog
3-1-create-edit-vendor-profile: backlog
3-2-product-catalog-management: backlog
3-3a-browse-search-markets-to-join: backlog
3-3-market-association-calendar-date-selection: backlog
epic-3-retrospective: optional

# ── Epic 4: Market-Day Vendor Operations ──
epic-4: backlog
4-1-vendor-check-in-conflict-detection: backlog
4-2-exception-status-updates: backlog
4-3-product-availability-updates: backlog
epic-4-retrospective: optional

# ── Epic 5: Manager Dashboard & Market-Day Oversight ──
epic-5: backlog
5-1-live-attendance-dashboard: backlog
5-2-request-vendor-confirmation: backlog
5-3-manager-check-in-on-behalf-of-vendor: backlog
5-4-market-level-operational-updates: backlog
5-5-automatic-vendor-checkout-at-market-close: backlog
epic-5-retrospective: optional

# ── Epic 6: Customer Discovery, Search & Follow ──
epic-6: backlog
6-0-customer-onboarding-location-preferences-first-follows: backlog
6-1-market-vendor-search-distance-filtering: backlog
6-2-vendor-profile-market-status-view: backlog
6-3-follow-vendors-markets: backlog
6-4-following-feed-live-status: backlog
6-5-alternative-vendor-discovery: backlog
epic-6-retrospective: optional

# ── Epic 7: Notifications, Activity Feeds & Real-Time ──
epic-7: backlog
7-1-push-notification-infrastructure: backlog
7-2-vendor-check-in-checkout-notifications: backlog
7-3-exception-market-update-notifications: backlog
7-4-notification-preferences: backlog
7-5-per-role-activity-feeds: backlog
epic-7-retrospective: optional

# ── Epic 8: Audit, Privacy & Account Governance ──
epic-8: backlog
8-1-immutable-audit-log-infrastructure: backlog
8-2-activity-log-all-roles: backlog
8-3-account-deletion-soft-delete: backlog
8-4-governance-rules-enforcement: backlog
epic-8-retrospective: optional
Loading
Loading