A reusable, framework-agnostic knowledge base for any software project.
This is a centralized knowledge repository for your project. It gets symlinked into every service, microservice, and app repo so that all code repos share a single source of truth for project context, decisions, patterns, and documentation.
Each service repo structure:
my-service/
├── src/
├── tests/
├── knowledge → ../project-knowledge ← Symlink to this repo
└── README.md
| Folder | Purpose |
|---|---|
.ai/ |
AI Memory — context, decisions, patterns, lessons, tasks for AI assistants |
docs/ |
Documentation as Code — 10 numbered folders for organized project docs |
scripts/ |
Setup scripts — initialize knowledge base, create symlinks |
templates/ |
Reusable templates — ADR, PR, service README |
| File | Purpose |
|---|---|
CONTEXT.md |
Project overview, architecture, tech stack |
DECISIONS.md |
Architecture Decision Records (ADRs) |
PATTERNS.md |
Implementation patterns and conventions |
LESSONS.md |
Learnings, risks, mitigations |
TASKS.md |
Task tracking with priorities |
| Folder | Purpose |
|---|---|
00-source-docs/ |
Original .docx, .xlsx, .png files (preserved as-is) |
01-architecture/ |
System design, data flow, deployment |
02-requirements/ |
SRS & TRD summaries |
03-business-rules/ |
Policies, user types, pricing |
04-guides/ |
How-to guides |
05-standards/ |
Coding standards, git workflow, testing |
06-api-contracts/ |
API specifications |
07-compliance/ |
Regulatory compliance |
08-third-party/ |
External services |
09-onboarding/ |
New developer guides |
git clone <repo-url> my-project-knowledge
cd my-project-knowledge# Mac/Linux/Git Bash
bash scripts/init-project.sh
# Windows PowerShell
.\scripts\init-project.ps1The script prompts for your project details and fills in all placeholders.
- Edit
.ai/CONTEXT.md— fill in remaining details - Edit
.ai/DECISIONS.md— document architecture decisions - Add source documents to
docs/00-source-docs/ - Create markdown summaries in
docs/01-throughdocs/09-
git remote set-url origin git@github.com:[org-name]/[project-name]-knowledge.git
git push -u origin mainIn each service/app repo, create a symlink:
cd my-service/
# Windows (PowerShell as Admin)
New-Item -ItemType Junction -Path "knowledge" -Target "..\my-project-knowledge"
# Mac/Linux
ln -s ../my-project-knowledge knowledgeSee KNOWLEDGE_SETUP.md for detailed setup instructions.
project-knowledge/ ← This repo (single source of truth)
├── .ai/CONTEXT.md ← Project context
├── .ai/DECISIONS.md ← Architecture decisions
├── docs/01-architecture/ ← Architecture docs
└── ...
service-a/knowledge/ → symlink to project-knowledge (instantly up to date)
service-b/knowledge/ → symlink to project-knowledge (instantly up to date)
app-web/knowledge/ → symlink to project-knowledge (instantly up to date)
When you update the knowledge base, all service repos see the change immediately — no copying, no syncing, no drift.
When an AI works on any service repo, it reads the symlinked knowledge:
.ai/CONTEXT.md— understand the project.ai/DECISIONS.md— respect past decisions.ai/PATTERNS.md— follow established patterns.ai/LESSONS.md— avoid known pitfalls.ai/TASKS.md— track progress
| Document | Description |
|---|---|
KNOWLEDGE_SETUP.md |
How to set up knowledge symlinks in service repos |
.ai/README.md |
How the AI memory system works |
docs/README.md |
How the documentation structure works |
This knowledge base is:
- Framework-agnostic — works with any tech stack
- Cloud-agnostic — works with AWS, GCP, Azure, or self-hosted
- Team-size-agnostic — works for solo devs to 50-person teams
- Project-type-agnostic — works for web apps, mobile apps, APIs, microservices
Version: 1.0