Canonical guide for this repository.
This README.md consolidates the guidance that was previously split across:
AI_Repository_Guide_v2.mdAI_Repository_Guide_v3.mdAI_Repository_Guide_v3_improved.md
Those files can be kept as historical drafts, but this README is the canonical human-facing guide from this point forward.
This is not just a folder structure.
It is a controlled environment for AI-assisted engineering, designed to make an AI behave like a senior engineer working inside a structured system.
The repository is built around five core ideas:
- context replaces guesswork
- decisions prevent architectural drift
- runbooks standardize execution
- checklists enforce validation
- feedback drives continuous improvement
- wikilinks expose relationships as an Obsidian knowledge graph
It is especially useful for:
- automation and RPA projects
- internal integration systems
- data-processing services
- reusable Python packages and internal SDKs
Purpose:
- holds the current understanding of the system
- contains the only active runtime context file
Main file:
CURRENT_CONTEXT.md
Rule:
- this is the single source of truth for current system behavior
Purpose:
- stores accepted architectural rules and constraints
Use it for:
- integration boundaries
- security rules
- dependency strategy
- long-lived trade-offs
Purpose:
- stores executable, repeatable procedures
Use it for:
- generating project documentation
- preparing packaging metadata
- publishing a Python package
- bootstrapping project context
Purpose:
- validates that an output is safe and correct before completion
Use it for:
- release readiness
- environment validation
- delivery checks
- critical input validation
Purpose:
- defines how the repository and the AI should behave
Main files:
AGENTS.mdCONTEXT_RULES.mdCONTEXT_TEMPLATE.mdREPOSITORY_GUIDELINES.mdWIKILINK_RULES.md
Purpose:
- stores repository-local support scripts
- validates or exports derived data from
.aiassistantartifacts
Rule:
- tools are helpers, not a source of truth
Captures real-world problems, pain points, bugs, and improvement opportunities.
Defines release-oriented planning, phases, and scope.
Defines how a complex or impactful change should be implemented before coding.
Stores reusable, project-specific prompts for recurring tasks.
Provides reusable starter files for new artifacts.
Important:
- templates accelerate creation
- templates are not a source of truth
- every generated file must be adapted to the real project
- example files in this directory are illustrative only
The repository supports Obsidian-compatible wikilinks between .aiassistant Markdown artifacts.
Use this feature to connect context, decisions, runbooks, checklists, feedback, roadmap, specs, prompts, and rules.
Important:
- links should represent real operational or architectural relationships
- the graph must not create a second source of truth
- open
.aiassistantdirectly as the Obsidian vault for first-phase visualization - use the wikilink validator before accepting new graph relationships
Typical evolution flow:
feedback/identifies a problem or opportunityroadmap/plans what should be builtspecs/defines how a change should workdecisions/records binding architectural rules when neededrunbooks/execute repeatable procedureschecklists/validate correctness and safetyproject_context/CURRENT_CONTEXT.mdis updated to reflect reality- wikilinks connect meaningful relationships for graph navigation
Not every project uses every layer every day, but the layers exist to keep the system consistent as it grows.
Use this profile for:
- automations
- RPAs
- internal workers
- integration pipelines
- background jobs
Typical focus:
- operational flow
- entrypoints
- folders such as input, output, temp, logs, and errors
- credentials and execution environment
Use this profile for:
- Python libraries
- installable packages
- internal SDKs
- public repositories
Typical focus:
- installability
- public API
- packaging metadata
- release validation
- distribution and versioning
Important rule:
- packaging and publish runbooks are for product projects
- pure automations do not automatically need packaging or release runbooks
Do not invent context.
Use .aiassistant/runbooks/bootstrap-project-context.md to gather the minimum real information required to create the first version of CURRENT_CONTEXT.md.
The initial goal is not to document everything.
The goal is to establish enough trustworthy context to stop the AI from guessing.
Use the repository incrementally:
- update context when the system changes
- create decisions when constraints become binding
- add runbooks when execution must be repeatable
- add checklists when failure is costly
- capture feedback when real pain points appear
Some things are useful in almost every new project, even before the project becomes sophisticated:
- an initial
CURRENT_CONTEXT.md - a bootstrap checklist
- a decision template
- a spec template
- a roadmap template
- a prompt template for recurring tasks
That is why this repository now includes .aiassistant/templates/ with starter artifacts that can be adapted per project.
There is also a filled example for a fictional automation project at:
.aiassistant/templates/current-context-example-automation.md
Important:
- it is only a reference
- it is not active context
- it must not replace a real
CURRENT_CONTEXT.md
For a fresh automation project:
CURRENT_CONTEXT.md- an operational
README.md - a bootstrap checklist
- one or more runbooks for execution-critical flows
For a fresh library or SDK:
CURRENT_CONTEXT.md- a product
README.md pyproject.toml- a release checklist
- publish runbook alignment
- skipping context creation
- treating historical notes as active context
- changing behavior without recording a decision
- using runbooks as explanation instead of execution
- finishing work without a validation checklist
- mixing automation and package workflows without deciding the project type first
- read current context before coding when it exists
- do not override accepted decisions silently
- do not create parallel sources of truth
- do not invent missing architecture
- update context after meaningful system changes
- prefer explicit process over improvisation
This repository is still a starter operating system, not a populated project instance.
That means:
- many directories currently contain guidance and templates rather than project-specific artifacts
- the value today is the process scaffolding
- real project context is expected to be created when this template is instantiated for an actual system
If you are operating this repository, the main reference points are:
AGENTS.md.aiassistant/rules/AGENTS.md.aiassistant/rules/CONTEXT_RULES.md.aiassistant/rules/REPOSITORY_GUIDELINES.md.aiassistant/runbooks/
The goal is simple:
- make the AI behave with context
- make engineering decisions explicit
- make repeated work reproducible
- make validation unavoidable
In short, this repository exists to reduce guessing and increase operational rigor.