Skip to main content

Guidelines for Introducing New Features

Every new feature introduced to the Frameingo system should follow this structured lifecycle to ensure quality, alignment, and reduced technical debt.

1. Product Planning phase

Before any code is written, the feature must be defined.

  • Identify the core problem you are trying to solve.
  • Define the user workflow (can be placed in /docs/product/features/).
  • Establish success metrics.

2. Technical Design (RFC)

For significant changes or new features, an RFC (Request for Comments) is required.

  • Use the standard 000-rfc-template.md.
  • Outline the technical architecture, dependencies, and alternative solutions.
  • Share the RFC for peer review across the engineering team.
  • Wait for Accepted status before proceeding.

3. Development

During implementation:

  • Follow standard code conventions and linting rules.
  • Test coverage is mandatory (Unit and Integration).
  • Break work into small, releasable Pull Requests.

4. Pull Request & Review

  • Create a PR against the main or development branch.
  • Ensure CI checks pass.
  • Request reviews from at least one peer. The reviewer should check against the approved RFC.

5. QA & Handoff

  • Deploy the PR to a staging environment.
  • Perform sanity/regression tests.
  • Coordinate final approvals from product owners before tagging the release.

6. Deployment & Observability

  • Use the deployment runbooks (located in /docs/operations/).
  • Ensure adequate logs and dashboards exist for the new feature.
  • Monitor error rates and latency immediately following the deployment.