3.8 KiB
Story {EpicNum}.{StoryNum}: {Short Title Copied from Epic File}
Status: Draft | In-Progress | Complete
Goal & Context
User Story: {As a [role], I want [action], so that [benefit] - Copied or derived from Epic file}
Context: {Briefly explain how this story fits into the Epic's goal and the overall workflow. Mention the previous story's outcome if relevant. Example: "This story builds upon the project setup (Story 1.1) by defining the S3 resource needed for state persistence..."}
Detailed Requirements
{Copy the specific requirements/description for this story directly from the corresponding docs/epicN.md file.}
Acceptance Criteria (ACs)
{Copy the Acceptance Criteria for this story directly from the corresponding docs/epicN.md file.}
- AC1: ...
- AC2: ...
- ACN: ...
Technical Implementation Context
Guidance: Use the following details for implementation. Refer to the linked docs/ files for broader context if needed.
-
Relevant Files:
- Files to Create: {e.g.,
src/services/s3-service.ts,test/unit/services/s3-service.test.ts} - Files to Modify: {e.g.,
lib/hacker-news-briefing-stack.ts,src/common/types.ts} - (Hint: See
docs/project-structure.mdfor overall layout)
- Files to Create: {e.g.,
-
Key Technologies:
- {e.g., TypeScript, Node.js 22.x, AWS CDK (
aws-s3construct), AWS SDK v3 (@aws-sdk/client-s3), Jest} - {If a UI story, mention specific frontend libraries/framework features (e.g., React Hooks, Vuex store, CSS Modules)}
- (Hint: See
docs/tech-stack.mdfor full list)
- {e.g., TypeScript, Node.js 22.x, AWS CDK (
-
API Interactions / SDK Usage:
- {e.g., "Use
@aws-sdk/client-s3:S3Client,GetObjectCommand,PutObjectCommand.", "HandleNoSuchKeyerror specifically forGetObjectCommand."} - (Hint: See
docs/api-reference.mdfor details on external APIs and SDKs)
- {e.g., "Use
-
UI/UX Notes: ONLY IF THIS IS A UI Focused Epic or Story
-
Data Structures:
- {e.g., "Define/Use
AppStateinterface insrc/common/types.ts:{ processedStoryIds: string[] }.", "Handle JSON parsing/stringifying for state."} - (Hint: See
docs/data-models.mdfor key project data structures)
- {e.g., "Define/Use
-
Environment Variables:
- {e.g.,
S3_BUCKET_NAME(Read viaconfig.tsor passed to CDK)} - (Hint: See
docs/environment-vars.mdfor all variables)
- {e.g.,
-
Coding Standards Notes:
- {e.g., "Use
async/awaitfor all S3 calls.", "Implement error logging usingconsole.error.", "Followkebab-casefor filenames,PascalCasefor interfaces."} - (Hint: See
docs/coding-standards.mdfor full standards)
- {e.g., "Use
Tasks / Subtasks
{Copy the initial task breakdown from the corresponding docs/epicN.md file and expand or clarify as needed to ensure the agent can complete all AC. The agent can check these off as it proceeds.}
- Task 1
- Task 2
- Subtask 2.1
- Task 3
Testing Requirements
Guidance: Verify implementation against the ACs using the following tests.
- Unit Tests: {e.g., "Write unit tests for
src/services/s3-service.ts. MockS3Clientand its commands (GetObjectCommand,PutObjectCommand). Test successful read/write, JSON parsing/stringifying, andNoSuchKeyerror handling."} - Integration Tests: {e.g., "No specific integration tests required for just this story's module, but it will be covered later in
test/integration/fetch-flow.test.ts."} - Manual/CLI Verification: {e.g., "Not applicable directly, but functionality tested via
npm run fetch-storieslater."} - (Hint: See
docs/testing-strategy.mdfor the overall approach)
Story Wrap Up (Agent Populates After Execution)
- Agent Model Used:
<Agent Model Name/Version> - Completion Notes: {Any notes about implementation choices, difficulties, or follow-up needed}
- Change Log: {Track changes within this specific story file if iterations occur}
- Initial Draft
- ...