--- description: Ensure manual testing of key functionality before committing changes globs: **/*.{ts,js,go,svelte} --- When making changes that affect functionality: 1. Build and Run Requirements: - Run `./build.sh` to ensure everything builds - Start the application with `./notes-app` - Wait for server to be ready at http://localhost:3000 2. Core Functionality Testing: - Test all features directly affected by changes - For note-related changes: - Create a new note - Edit an existing note - Check note links work (if link-related changes) - Verify note deletion - For UI changes: - Check responsive behavior - Verify all interactive elements work - Test navigation flows 3. Cross-Feature Testing: - Test features that interact with changed components - Verify no regressions in related functionality - Check both success and error paths 4. Browser Testing: - Test in primary development browser - Verify critical paths in secondary browser - Check console for errors 5. Error Cases: - Test invalid inputs - Verify error messages are clear - Check error handling behavior 6. Cleanup: - Stop running services - Clean up test data if necessary - Reset to known good state 7. Documentation: - Add testing steps to commit message body - Note any special test cases or considerations - Document any known limitations metadata: priority: high version: 1.0 examples: - input: | # Bad: Direct commit after code changes git add . && git commit -m "feat: add note linking" output: | # Good: Manual testing before commit ./build.sh ./notes-app # Manual testing steps... # 1. Create note "Test Note" # 2. Create note "Linked Note" # 3. Add link [[Linked Note]] to "Test Note" # 4. Verify link works git add . && git commit -m "feat: add note linking Testing completed: - Created and linked notes successfully - Verified bidirectional navigation - Tested invalid link handling" - input: | # Bad: Commit UI changes without testing git commit -m "fix: update note editor styling" output: | # Good: Test UI changes across scenarios ./build.sh ./notes-app # 1. Test editor with short/long content # 2. Verify mobile responsiveness # 3. Check different browsers git commit -m "fix: update note editor styling Tested: - Responsive behavior on desktop/mobile - Long content handling - Chrome and Firefox compatibility"