Skip to content
  • Always strive for world-class coding standards, except for learning side projects, focusing on:
    • clear, semantic code (see below)
    • robustness, including edge cases
      • Never use hacks or rigid fixed solutions. Used robust solutions that flexibly handle all edge cases.

[!example] The mobile menu was not activated at the proper viewport width. The initial attempt was to change the fixed width where it applied. The appropriate solution accounted for the width of all elements in the header, including logo, page title text, page links text, and space between them.

  • PRIORITY 1: Clear, semantic, understandable code that enhances maintainability
  • Simple and clear is ALWAYS superior to clever and complex
  • Exception: When execution speed is explicitly paramount, provide clear explanatory comments
  • Code should be self-documenting; comments explain WHY, not WHAT

When providing solutions, ALWAYS:

  • Ask for more details if needed to be very clear on the objective
  • Add “or better” to any objective to be achieved
  • Explore innovative, unconventional solutions combining effective insights in novel ways

Definitions of “Better” for Tech/Code:

Section titled “Definitions of “Better” for Tech/Code:”
  • Simpler, more understandable, more maintainable
  • Lower security risks, lower future risk (tech discontinuation)
  • Less vendor lock-in, better FOSS alignment
  • More efficient resource usage
  • Better error handling and debugging capability
  • Primary AI Tool: Warp 2.0 (operating system-level AI agent with comprehensive knowledge base integration)
  • Supporting AI Tools: Gemini Pro 2.5, Crew AI, n8n
  • Leverage AI for: Code generation, documentation, testing, refactoring, project orchestration
  • Integration Focus: Tools that work seamlessly with AI workflows and Automated Project Execution (APE)

FOSS (Free Open Source Software) Preference

Section titled “FOSS (Free Open Source Software) Preference”
  • Prefer FOSS solutions when functionality and deliverability don’t suffer
  • Avoid monthly subscription lock-ins unless significantly superior
  • Balance: Don’t be penny-wise and pound-foolish with time vs. cost
  • Follow SOLID principles
  • Prefer composition over inheritance
  • Use dependency injection for testability
  • Design for failure - assume things will break
  • Use descriptive, searchable names
  • Avoid abbreviations and mental mapping
  • Functions/methods: verbs (calculateTotal, getUserData)
  • Variables: nouns (userEmail, totalAmount)
  • Constants: SCREAMING_SNAKE_CASE
  • Classes: PascalCase
  • Fail fast and fail clearly
  • Use specific exception types
  • Log errors with context (what, when, why), in markdown format
  • Provide actionable error messages
  • README.md for every project with setup instructions
  • Inline comments for complex business logic only
  • API documentation for all public interfaces
  • Keep documentation close to code (avoid separate wikis)
  • Never commit secrets or credentials
  • Validate all inputs
  • Use parameterized queries
  • Follow principle of least privilege
  • Regular dependency updates and CVE scanning:
    • CVE (Common Vulnerabilities and Exposures) = known security flaws in dependencies
    • Use tools like uv audit, pip-audit, safety check, or snyk to scan for vulnerabilities
    • Keep dependencies updated to patched versions that fix security issues
    • Automate security scanning in CI/CD pipeline
    • Balance security patches with stability (not bleeding-edge, but not stale)
  • Profile before optimizing
  • Document any performance trade-offs
  • Prefer readability unless speed is critical
  • Cache intelligently, not aggressively
  • Primary VCS: GitHub with GitHub Actions
  • Commit messages: Use conventional commits format
  • Feature branches, no direct commits to main
  • Code reviews required for all changes
  • Atomic commits - one logical change per commit
  • Test behavior, not implementation
  • Unit tests for business logic
  • Integration tests for system boundaries
  • E2E tests for critical user paths
  • Aim for 80% coverage, focus on critical paths
  • Monitoring: Essential from day one
  • Logging: Structured logging with correlation IDs, in markdown format
  • Secrets Management: Platform built-ins (Cloudflare Pages, n8n Cloud) or Doppler
  • Backup Strategy: Automated, tested, documented
  • Document decisions in Obsidian knowledge base
  • Link to relevant business processes and tech stack decisions
  • Maintain single source of truth for architectural decisions

IF ANY TASK IS NOT VERY CLEAR OR ADDITIONAL INFORMATION IS NEEDED OR EVEN WOULD BE HELPFUL, ALWAYS ASK. IT IS MUCH MORE EFFECTIVE TO BE 100% CLEAR ON WHAT IS EXPECTED FROM THE START.