A filesystem-based context management system for AI agents. UACP provides a standardized structure for AI agents to maintain persistent memory, follow consistent patterns, and collaborate effectively across sessions.
AI agents work best when they have:
- Persistent Memory: A place to store context across sessions
- Clear Rules: Guidelines on what to do and what not to do
- Collaborative Guidance: Balance between autonomy and seeking clarification
- Root Directory Purity: Keep project roots clean, store context in designated locations
UACP provides this structure through a simple .ai/ directory and pointer files.
- 🚀 Global CLI Tool: Install once, use anywhere with
uacpcommand - 🔄 Auto-Updates: Symlink-based installation means edits are instantly available
- 🎯 AI-Agnostic: Works with Claude, Gemini, GPT, or any AI assistant
- 📁 Clean Structure: All agent context in
.ai/directory - 📝 Template System: Consistent file formats across projects
- 🔧 Modular & Extensible: Easy to add new commands
- 🎨 Flexible Syntax: Supports both
uacp initanduacp -initstyles
# Clone or download this repository
cd /path/to/UACP
# Install globally
bash install.shThis creates a symlink: ~/.local/bin/uacp → <repo>/uacp
Prerequisites: Git Bash must be installed (Download here)
# Clone or download this repository
cd path\to\UACP
# Install PowerShell module
.\install.ps1This creates a PowerShell module in: Documents\PowerShell\Modules\UACP
# Navigate to your project
cd ~/my-awesome-project
# Initialize UACP
uacp init "MyProject"
# Or use directory name as project name
uacp initmy-awesome-project/
├── .ai/
│ ├── context.md # Project rules and structure
│ ├── memory/
│ │ └── task.md # Active tasks and state
│ ├── templates/
│ │ ├── task.md # Task list template
│ │ ├── session_log.md # Logging template
│ │ └── context_summary.md # Summary template
│ ├── artifacts/ # Deliverables
│ └── tmp/ # Experiments
├── .gitignore # Ignores .ai
├── claude.md # Pointer file
├── gemini.md # Pointer file
├── agents.md # Pointer file
└── open-code.md # Pointer file
When an AI agent reads claude.md, gemini.md, or any pointer file, it's redirected to read:
.ai/context.md- Project rules and structure.ai/memory/task.md- Current tasks and state.ai/templates/- Patterns for creating files
All pointer files contain the same AI-agnostic instructions.
.ai/context.md contains:
- Operating Rules: Collaborative guidance, filesystem as memory, root directory purity
- Directory Structure: Explanation of what goes where
- Project Definition: Name, goal, status
- Template System: How to discover and use templates
- Memory Management: Guidelines for persistent context
.ai/memory/ is where agents store:
task.md- Current task listarchitecture.md- System architecture notesdecisions.md- Key decisions and rationalesession_*.md- Session logs- Any other persistent context
uacp init [name] # Initialize UACP in current directory
uacp init -claudeonly # Create only claude.md pointer
uacp version # Show version information
uacp help # Show help messageBoth styles are supported:
uacp init "MyProject" # Subcommand style (recommended)
uacp -init "MyProject" # Flag style (backwards compatible)UACP templates are stored in templates/ directory and can be easily customized:
cd /path/to/UACP/templates
nano context.md # Edit context template
nano pointer.md # Edit pointer file templateChanges to templates affect all new projects initialized with uacp init. Existing projects keep their original files.
Templates support these placeholders:
{{PROJECT_NAME}}- Replaced with project name during initialization
By default, UACP generates a .gitignore that excludes the .ai/ directory. This keeps your development process private and your repository clean.
- Privacy: Your working context, decisions, and thought process remain local
- Cleaner Repos: Focus commits on actual code, not AI context files
- Personal Workflow: Different team members can maintain their own AI context
- Flexibility: Easily modify if you want to share context
If you want to commit AI context to your repository:
# Remove .ai/ from .gitignore
sed -i '' '/^\.ai\/$/d' .gitignore
# Or manually edit .gitignore and remove the .ai/ line
nano .gitignore
# Then commit
git add .ai/
git commit -m "Add AI context to repository"Use cases for committing .ai/:
- Team wants shared AI context and decisions
- Documentation of architectural choices
- Onboarding new team members with AI assistance
cd ~/new-project
uacp init "NewProject"For projects that only use Claude:
uacp init "ClaudeProject" -claudeonlyuacp versionuacp helpThe CLI is built with a modular architecture:
uacp script
├── Configuration (version, directory names)
├── Helper Functions (error, success, info)
├── Command Functions (self-contained)
│ ├── cmd_init()
│ ├── cmd_version()
│ └── [Add new commands here]
├── Argument Parser
└── Main Execution
Adding a command takes 3 simple steps:
- Create command function in the "COMMAND FUNCTIONS" section
- Add case to
parse_arguments()function - Update help text in
show_help()function
See DEVELOPER_GUIDE.md for detailed examples and patterns.
Because the command is symlinked (not copied), changes are instant:
# Edit the script
nano uacp
# Test immediately (no reinstall needed!)
uacp versionThe symlink means ~/.local/bin/uacp always points to your repo's uacp file.
UACP/
├── uacp # Main CLI script (modular, extensible)
├── install.sh # Installation script
├── uninstall.sh # Uninstallation script
├── templates/ # Template files for initialization
│ ├── context.md # Project context template
│ ├── pointer.md # Pointer file template
│ ├── task.md # Task list template
│ ├── session_log.md # Session log template
│ ├── context_summary.md # Context summary template
│ └── initial_task.md # Initial task template
├── DEVELOPER_GUIDE.md # Detailed guide for adding commands
├── README.md # This file
├── .gitignore # Git ignore rules
└── Legacy/ # Old versions (not tracked)
UACP enforces these principles:
Work with the user to clarify ambiguities rather than making assumptions. The user relies on you for technical expertise, but you must seek clarification when requirements are unclear.
Read before you write. Always check .ai/memory/ for existing context and state before taking action.
NEVER create context, summary, or memory files in the project root. All such files MUST go into .ai/memory/.
When creating structured files, check .ai/templates/ for existing patterns.
Agents are empowered to create new files in .ai/memory/ when they add value for future sessions.
cd /path/to/UACP
bash uninstall.shcd path\to\UACP
.\uninstall.ps1Source files in the repo are preserved - only the command/module is removed.
Keep AI agents aligned across sessions:
cd ~/personal-project
uacp init
# Agent now has persistent memory and clear guidelinesStandardize AI interaction patterns:
cd ~/team-project
uacp init "TeamProject"
git add .ai/ *.md .gitignore
git commit -m "Add UACP structure"
# Team members' AI agents follow same patternsMaintain context for long-running projects:
cd ~/client-project
uacp init "ClientName"
# AI remembers architecture decisions, constraints, preferences- Shell: bash or zsh
- PATH:
~/.local/binshould be in your PATH (install script checks this)
- Git Bash: Required (Download here)
- PowerShell: Version 5.1 or later (included with Windows 10+)
Future commands planned:
uacp verify- Check UACP structure integrityuacp context -nano- Open context.md for editinguacp upgrade- Update to latest versionuacp status- Show project informationuacp clean- Clean temporary files
See DEVELOPER_GUIDE.md for implementation examples.
AI agents are powerful but stateless. Between sessions, they forget:
- What was the architecture decision?
- What tasks are in progress?
- What constraints exist?
- What patterns should be followed?
UACP solves this by:
- Filesystem as Memory: Persistent context stored in
.ai/ - Pointer Files: Quick entry points for any AI
- Template System: Consistent patterns across sessions
- Clear Rules: Guidelines that prevent common mistakes
The result: AI agents that remember, follow patterns, and collaborate effectively.
This is currently a private repository for personal use. If you have access and want to contribute:
- Create a new branch
- Make your changes
- Test thoroughly
- Submit a pull request
See DEVELOPER_GUIDE.md for development guidelines.
Private - All Rights Reserved
OG-Ken
UACP v3.2.0 - Filesystem as Memory for AI Agents