flowCreate.solutions

Software Engineering Standards

Welcome to the Flow Create Solutions engineering standards: opinionated documentation describing how we design, build, secure, and maintain systems.

What these docs are

  • Engineering standards: the patterns we expect teams (and AI agents) to follow across projects.
  • Documentation-first: treat this site as the source of truth for conventions, structure, and “how we do things”.
  • Generic by design: examples are intentionally sanitized and reusable across many apps.

Who this is for

  • Engineers building or maintaining Flow Create Solutions systems.
  • AI agents assisting on changes, refactors, reviews, and debugging.
  • Tech leads aligning teams and reviewing architectural decisions.

How to navigate

Use the left navigation. The main areas are:

  • Documentation

    • Project docs structure: required pages, module doc entrypoints, ADRs, and runbooks.
  • Backend

    • Overview: expected architecture + stack baseline.
    • Security: authn/authz, rate limiting, XSS prevention, and reporting standards.
    • Database: module structure, conventions, and generic module examples.
    • Development: local setup, error handling, logging.
    • Testing: philosophy, structure, fixtures, and copy/paste-able examples.
    • Integrations: standards for common integrations (AI engine, notifications, workers).
    • Migrations (Operational): operational playbooks/examples (follow migration ownership policy).
  • Playbooks

    • Trackers: how to create and maintain tracking documents for multi-session work.
  • Start with the relevant section (e.g., Security before touching auth; Database before adding a module).
  • Apply the pattern, don’t cargo-cult: match structure + naming + safety posture; adapt details to the project.
  • Verify before you claim: when writing docs or standards updates, confirm behavior against a reference implementation and keep it generic.
  • Ask when ambiguous: if a decision isn’t covered (or multiple approaches exist), escalate to the project lead instead of inventing a new standard.

What “good” looks like

  • Consistent module layout and naming across services.
  • Defense-in-depth applied to inputs and security boundaries.
  • Tests mirror module boundaries with predictable fixtures.
  • Clear docs that teach the next contributor what to do (and why).