Skip to content

AI Assisted Design and Development Guidelines

Christina Fu edited this page Oct 8, 2026 · 1 revision

AI-Assisted Design & Development Guidelines (Dogtag PKI)

Status: draft. Details to be added as we go. Comments welcome.

AI tools enable rapid code generation, but a structured process still matters. Team members should be involved at the design stage, before reviewing large PRs of generated code.

Workflow: Investigation report → Design review → Implementation → Code review.

1. Initial Feature Investigation Report

A concise report so the team understands what the feature entails.

  • Introduction: brief overview; bullets for key characteristics.

  • Scope of modifications: areas requiring change and each component’s role.

  • Dependencies & cross-component impact: which layers (NSS / JSS / PKI) or external standards are affected.

  • Risks / open questions / unknowns.

  • Security & standards considerations: crypto, cert/key handling, authentication, authorization, trust, RFC compliance; note if a security review is needed.

  • Time estimation: logical areas; estimates as ranges, testing effort separate, top unknowns noted. Assume AI-assisted design and development (the estimation principle is encoded in the repo’s AGENTS.md, which agents apply automatically).

  • Phased rollout: recommend phases where they help, for example a Technology Preview first, then one or more follow-on releases up to a fully supported (GA) version.

2. Design Review

Implementation begins only after a design document is drafted and reviewed, covering:

  • Feature requirements.

  • High-level architecture.

  • Open questions with resolutions.

  • An Intent & Rationale summary (see prompt below).

3. Code Review

Put the Intent & Rationale summary (see prompt below) in the git commit message body, below the subject line, so it stays with the change in git history. If a PR has multiple commits, it may instead go in the PR description.

Intent & Rationale prompt

Run at the end of a design or coding session:

Looking back over this session, give me a short bullet list of the key
things I asked for and the main decisions we landed on, just enough for a
reviewer to understand what I was going for and why. Keep it brief, and only
include what actually shaped the final decisions. Flag anything security- or
standards-related separately.

(Effort estimation follows the same model: the principle lives in the repo’s AGENTS.md and agents apply it automatically.)

Clone this wiki locally