Skip to content

Sample Project Best Practices

Matthew Casperson edited this page May 4, 2025 · 30 revisions

The ability to generate sample projects from prompts requires example projects that are serialised and passed to the LLM for one or few-shot learning. This page captures the best practices for the example projects to:

  • Ensure consistency
  • Avoid the limitations of LLMs

High-Level Goals

An example project must:

  • Not rely on credentials being recreated in the target space
    • No sensitive values will be passed to the AI
  • Allow a project deployment or runbook run despite the lack of any targets or valid accounts
  • Detect default or invalid credentials, and the lack of targets
    • We expect customers to deploy a sample project or run a runbook without first checking any values
  • Display a message with links to documentation as next steps
    • We treat the project deployment or runbook run as a wizard that points customers to the next steps

Best Practices

Feeds

Accounts

  • Prefer the use of OIDC accounts
  • Use GUIDs of 00000000-0000-0000-0000-000000000000 when creating Azure accounts

Sensitive values

  • Use CHANGE ME for all sensitive values.
    • This is the value that all sensitive values are defaulted to during export
    • Any scripts checking for default values must assume sensitive values are set to CHANGE ME

Deployment Processes

  • The first step in a deployment or runbook process must be a step called Validate Setup that detects default or invalid credentials and prints highlight messages indicating next steps
  • Deployments must be allowed with no targets
  • A step must be included called Detect Missing Targets that detects the absence of targets and prints the next steps
  • Deployment processes must deploy Octopub if possible
Clone this wiki locally