When gathering requirements for complex features:
β DO:
- Ask questions one at a time - Makes decisions easier to process
- Order questions by significance - Foundational decisions first
- Provide overall recommendation per question - Help guide decisions
- Show how answers affect subsequent decisions - Context matters
- Summarize all decisions before implementation - Confirm understanding
- Present clear options with pros/cons - Informed decision-making
β DON'T:
- Present all questions simultaneously - Overwhelming
- Ask in random order - Dependencies matter
- Skip recommendations - Provide expertise
- Proceed without clear answers - Assumptions cause problems
- Make decisions without user input - Collaboration is key
Question Flow Pattern:
- Ask most impactful question first
- Wait for answer
- Adjust subsequent questions based on answer
- Continue until all information gathered
- Present complete summary
- Confirm before implementation
Example:
Q1: What is the source of truth? (Affects all automation)
β Answer determines Q2 approach
Q2: How should docs be organized? (Affects navigation)
β Answer determines Q3 scope
Q3: What level of automation? (Affects workflow)
β Continue...
Use emojis strategically for visual categorization and quick comprehension:
Section Headers:
- π― Goals/Objectives
- π¦ Components/Packages
- π οΈ Tools/Scripts
- π File Structure
- π Deployment/Release
- π Documentation
- β Success/Completed
β οΈ Warnings/Important- π Updates/Changes
- π‘ Tips/Suggestions
- π Bugs/Issues
- β‘ Performance
- π¨ Styling/UI
- π Security
- βΏ Accessibility
Status Indicators:
- β Complete/Working
- β³ In Progress
- β Failed/Error
- π‘ Warning/Caution
- π΅ Information
Best Practices:
- Use emojis to help users quickly scan responses
- Categorize different types of information
- Make documentation more engaging
- Provide visual hierarchy
- Keep it professional (one emoji per section/category)
- Avoid emoji chains (β Don't do: β π―π)
- Follow WordPress Coding Standards
- Use WordPress functions over native PHP when available
- Always sanitize input and escape output
- Use
wp_enqueue_script()andwp_enqueue_style()for assets - Prefix all custom functions with theme identifier
- Use WordPress hooks and filters appropriately
- Use modern ES6+ syntax
- Implement debug logging system for development
- Minimize console output in production
- Handle errors gracefully
- Comment complex logic
- Organize by feature/functionality
- Keep related files together
- Use clear, descriptive naming conventions
- Separate concerns (templates, styles, scripts)
- Follow WordPress theme structure conventions
- Follow WordPress template hierarchy
- Use
get_template_part()for reusable components - Keep templates focused and modular
- Document template usage
- ALWAYS update CHANGELOG.md for significant changes
- Use Keep a Changelog format
- Credit changes with author and date
- Categories: Added, Changed, Fixed, Deprecated, Removed, Security
Format Example:
## [Version] - YYYY-MM-DD
### Added
- New feature description (@author)
### Changed
- Modified behavior description (@author)
### Fixed
- Bug fix description (@author)- ALWAYS update
executiveSummary.mdalongside CHANGELOG.md - Use simple, non-technical language suitable for executive reporting
- Focus on business impact and user benefits, not technical implementation
- Each entry should answer: "What was improved and why does it matter?"
- Keep summaries concise (2-3 sentences maximum per change)
- Group related changes together for clarity
Format Example:
## Recent Improvements
******Feature Name****** (YYYY-MM-DD)
Business-focused description of what changed and why it matters to users or the business.- Document complex logic with clear comments
- Explain "why" not just "what"
- Use PHP DocBlocks for functions
- Keep comments up-to-date with code changes
- Update project memory bank for architectural decisions
- Document integration patterns
- Record problem-solving approaches
- Maintain project context
- Use clear, descriptive commit messages
- Reference issue numbers when applicable
- Follow conventional commits format when possible
- Keep commits atomic and focused
- Always include error handling in PHP functions
- Use try-catch blocks for external API calls
- Provide fallback content for failed operations
- Log errors appropriately (avoid exposing in production)
- Sanitize all user inputs
- Escape all outputs
- Use nonces for forms
- Check user capabilities before privileged operations
- Never trust client-side data
- Follow WordPress security best practices
- Optimize font loading (preconnect, font-display: swap)
- Minimize HTTP requests
- Use caching where appropriate
- Lazy load images when possible
- Minimize JavaScript execution time
- Optimize database queries
- Use transients for expensive operations
- Use semantic HTML
- Include ARIA labels where needed
- Ensure keyboard navigation works
- Maintain color contrast ratios (WCAG AA minimum)
- Test with screen readers
- Provide alt text for images
- Ensure forms are properly labeled
- Mobile-first approach
- Test on various screen sizes
- Use appropriate breakpoints
- Ensure touch targets are adequate size (44x44px minimum)
- Test on real devices when possible
- Test functionality in local environment
- Check browser console for errors
- Verify mobile responsiveness
- Test cross-browser compatibility
- Confirm no PHP errors in debug log
- Run any available automated tests
- Verify related functionality still works
- Test common user flows
- Check integration points
- Validate form submissions
- Test with different user roles/permissions
- Code follows WordPress coding standards
- Security best practices implemented
- Performance considerations addressed
- Accessibility requirements met
- Documentation is complete and accurate
- Tests pass successfully
- All changes documented in CHANGELOG.md
- Executive summary updated
- Local testing completed successfully
- No console errors in production mode
- Debug logging disabled by default
- Code reviewed and approved
- Git commit with clear message
- Dependencies updated if needed
- Check live site loads correctly
- Verify all functionality works as expected
- Monitor error logs
- Check performance metrics
- Test critical user flows
- Verify third-party integrations
- Have a rollback strategy ready
- Keep previous version accessible
- Document rollback procedures
- Test rollback process periodically
After moving this content to your Gist:
- Test that the fetch mechanism works in a new Cline conversation
- If fetch fails, you'll be prompted to paste the Gist content
- Project-specific rules in
.clineruleswill supplement these global rules - Update the Gist URL in
.clinerulesif you change the Gist location