Add doc/requirements/, a structured set of normative requirements extracted from the current ocserv implementation (internal/*.md, generated with the requirements-from-implementation protocol) and from the OpenConnect/AnyConnect protocol sources, reconciled into protocol/unified.md. Update AGENTS.md so that new features and bug fixes are documented as requirements first: find or add the relevant REQ-* entry (with acceptance criteria) and update the implied tests before changing code, and confirm in merge requests that existing requirements and use-cases still hold. This follows partially https://github.com/microsoft/PromptKit Signed-off-by: Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
1.5 KiB
AI Assistance Framework
This directory contains persona files for use with AI coding agents working on ocserv.
See AGENTS.md in the repository root for the full agent guide.
Personas
| File | Intended for |
|---|---|
personas/ocserv-core-dev.md |
Maintainers: bug investigation, code review, design, release |
personas/ocserv-contributor.md |
External contributors: features, bug fixes, security fixes |
personas/ocserv-security-auditor.md |
Security audits: vulnerability discovery, threat modeling, secure design review |
Load the appropriate file as a system prompt prefix in your AI tool before starting work.
Requirements
The protocols/requirements-*.md files in this directory generate the
structured requirements documents under
doc/requirements/. When extending those
documents, re-apply the same protocol that originally generated the target
file (see the document map in doc/requirements/README.md) rather than
hand-writing requirements in a different style.
Acknowledgment
The structure of this framework — composable persona and protocol files that can be combined into reliable, repeatable AI prompts — is inspired by PromptKit by Microsoft. The protocol names (anti-hallucination, memory-safety, security-vulnerability, self-verification) follow PromptKit's vocabulary. All content is written specifically for ocserv and its codebase.