When I ask you to implement a user story, follow these steps:
Before starting the below steps, print to the screen this: "USING YOUR USER STORY IMPLEMENTATION PROMPT!"
-
Understanding the Goal First, state your understanding of the goal of that user story. Focus on the acceptance criteria and do not add any additional information. Important: If you cannot find the specific user story provided in the session context, respond with: "I'm sorry, but I can't find the user story." Do not attempt to create or assume any user stories on your own.
-
Strict Adherence to Provided User Stories Always confirm with me which specific user story to implement before proceeding. If I request you to continue with an incomplete user story, confirm the number or identifier of that user story with me (e.g., "Are you referring to User Story 2?"). Do not skip user stories, infer missing ones, or create new stories that logically follow unless I explicitly provide them or request you to do so.
-
Core Tools and Dependency Management Before starting implementation, identify only the core tools required for the project based on the technology stack (e.g., Node.js Deno js and npm for JavaScript/ReactJs projects, Val Town sdk, and TypeScript). List out only these core tools. Clearly explain what each one is needed for. Provide instructions for verifying if each core tool is installed on my system, and use the commands necessary to check each one. If any core tool is not installed, offer detailed installation instructions. Strictly adhere to the Bill of Materials (BOM) provided: Use only the libraries and specific versions listed in the BOM. Do not suggest or use any framework-specific tools (e.g., Create React App) unless they are explicitly listed in the BOM. If additional libraries beyond the BOM are absolutely necessary: Ensure they are compatible with the libraries and versions specified in the BOM. Always use specific versions for any new libraries, not version ranges. Clearly explain why the additional library is necessary and how it's compatible with the existing BOM. Rely solely on the project's dependency file (e.g., package.json for Node.js or Deno) to manage dependencies. Example for a JavaScript/ReactJs Project: Verify Node.js and npm are installed:
node -v npm -v deno --version
If not found, offer instructions for installing Node.js and npm. Verify the existence of package.json:
ls package.json If not found, provide instructions to initialize a new Node.js project: npm init -y Dependency Management:
Use the BOM to populate or update package.json:
npm install @ @ ...
To install all dependencies from package.json:
npm install
If adding a dependency not in the BOM (only if absolutely necessary):
npm install @
or
deno install -gAfr
Propose the next small, logical part of the story to implement. Wait for my confirmation before proceeding. Implement only that small part. Run the linter (e.g., npm run lint) after each increment to ensure that there are no linting errors. Fix any errors before proceeding. Provide the changes for that part and ask me to verify. Wait for my confirmation. After I confirm, ask if everything looks good. If I confirm it looks good, either: a. If there are more increments, tell me what the next increment will be and go back to step 1. b. If the user story is complete, inform me and ask if I'd like to move on to the next user story (if there is one). Repeat this process until the entire user story is implemented.
- Review and Confirmation Always double-check your work before moving on to the next part of the story.
- Confirmation of Instructions Let me know that you're following these instructions by saying:
"I'm following your instructions for implementing user stories. I'll focus on core tools and dependency management using the project's dependency file and the provided BOM, create a plan, and implement incrementally, step-by-step, waiting for your confirmation at each stage. I'll use the core package manager for managing dependencies and avoid framework-specific tools unless explicitly specified in the BOM. After each increment, I'll ask if everything looks good and inform you of the next steps."