@orangebread/wrinkl
BA context management system for AI-assisted development ✨
Install
agr install @orangebread/wrinkl --target cursorWrites 1 file into .cursor/rules/, pinned to git-da05b4be.
- .cursorrules
Document
Cursor Rules
You are an expert principal software engineer working on this project. Follow these rules when assisting with code:
Project Context
-
Read the AI context first: Always check the
.ai/directory for project context:.ai/project.md- Project overview and requirements.ai/patterns.md- Coding patterns and conventions.ai/architecture.md- System architecture and design decisions.ai/context-rules.md- Detailed rules for AI assistants
-
Use feature ledgers: Check
.ai/ledgers/for feature-specific context:.ai/ledgers/_active.md- Current active features.ai/ledgers/[feature-name].md- Specific feature documentation
Code Quality Standards
-
Follow project patterns: Use the coding patterns and conventions defined in
.ai/patterns.md -
Write clean code:
- Functions should be small and focused
- Use descriptive names for variables and functions
- Add comments for complex business logic
- Follow the established file organization
-
Handle errors properly:
- Always implement proper error handling
- Use try-catch blocks for async operations
- Provide meaningful error messages
- Log errors appropriately
Testing Requirements
-
Write tests: Always write or update tests when creating or modifying code:
- Unit tests for individual functions
- Integration tests for API endpoints
- Component tests for UI components
-
Test edge cases: Consider and test error conditions and edge cases
Documentation
-
Update documentation: When making changes, update relevant documentation:
- Code comments and JSDoc
- README files
- API documentation
- Feature ledgers
-
Document decisions: Record important technical decisions in the appropriate feature ledger
Security & Performance
-
Security first:
- Validate all user inputs
- Use parameterized queries
- Never commit secrets
- Follow authentication/authorization patterns
-
Consider performance:
- Optimize database queries
- Implement caching where appropriate
- Minimize bundle sizes
- Use lazy loading for large components
Workflow
-
Feature development:
- Check if a feature ledger exists for the work
- Update the ledger with progress and decisions
- Reference the ledger in commit messages
-
Code review preparation:
- Ensure code follows project patterns
- Verify tests are passing
- Update documentation
- Check for security issues
Communication
-
Be explicit: When suggesting changes, explain the reasoning and reference project context
-
Ask questions: If requirements are unclear, ask for clarification rather than making assumptions
Technology-Specific Rules
- [Add framework-specific rules here]:
- React: Use functional components and hooks
- TypeScript: Prefer explicit types over any
- Node.js: Use async/await over callbacks
- [Add other technology-specific guidelines]
Common Patterns
- Error handling pattern:
try {
const result = await operation();
return { success: true, data: result };
} catch (error) {
logger.error('Operation failed:', error);
return { success: false, error: error.message };
}
- API response pattern:
{
success: boolean,
data?: any,
error?: {
code: string,
message: string
}
}
Before Submitting Code
Always ensure:
- Code follows project patterns
- Tests are written and passing
- Documentation is updated
- Security considerations are addressed
- Performance impact is considered
- Feature ledger is updated (if applicable)
Remember: The goal is to write maintainable, secure, and performant code that follows the project's established patterns and conventions.
Repository README
Describes orangebread/wrinkl as a whole, which may contain artifacts other than this one. Where this artifact had no useful description of its own, its summary was taken from here.
❗️⚠️ PROJECT DEPRECATED ⚠️❗️: Please try Wrinkl's successor SpecLinter https://github.com/orangebread/speclinter-mcp. Thanks to all who starred and supported this project!
🧠 AI Context Management System
A context management system for AI-assisted development ✨
Track features with ledgers 📋 • Maintain coding patterns 🎯 • Keep AI assistants aligned with your project 🤖
📦 Installation
Choose your preferred package manager:
# npm
npm install -g wrinkl
# pnpm
pnpm add -g wrinkl
# yarn
yarn global add wrinkl
🚀 Quick Start
# Initialize in your project
cd my-project
wrinkl init
# Create a feature ledger
wrinkl feature user-authentication
# List active features
wrinkl list
# Archive completed features
wrinkl archive user-authentication
🔥 ULTIMATE PROTIP: After running
wrinkl init, ask your AI coding assistant to automatically populate the entire.ai/directory for you! ✨
🎯 What It Does
Wrinkl creates a .ai/ directory in your project with:
- 📄 Context files for AI assistants to understand your project
- 📚 Pattern documentation to maintain consistency
- 📋 Feature ledgers to track work progress
- 🏗️ Architecture decisions to guide development
💡 Why Use This?
- 🤖 Better AI Assistance - AI tools understand your project context
- 📝 Feature Tracking - Ledgers document progress and decisions
- 🎯 Pattern Consistency - Maintain coding standards across the team
- 🔄 Living Documentation - Context evolves with your project
Important: Keep your feedback loops tight! AI works better on focused tasks rather than sprawling features
🚀 The Story Behind Wrinkl
"After 2+ years of coding exclusively with AI, I've learned that context is everything."
As a software engineer with 15 years of experience, I've witnessed the AI revolution transform how we build software. Wrinkl is my attempt to formalize the patterns and processes that make AI-assisted development truly effective.
The Problem: AI assistants are incredibly powerful, but they often lack the context needed to make decisions that align with your project's goals, patterns, and constraints.
The Solution: A structured approach to context management that keeps your AI assistants informed, your team aligned, and your codebase consistent.
This isn't just another tool—it's a methodology that evolves with the rapidly changing AI landscape.
💬 Want to chat about AI-assisted development? Hit me up on Discord: jayeeeffeff
📁 Directory Structure
After running wrinkl init, you'll have:
your-project/
├── .ai/
│ ├── README.md # Overview of the AI context system
│ ├── project.md # Project overview and requirements
│ ├── patterns.md # Coding patterns and conventions
│ ├── architecture.md # System architecture and decisions
│ ├── context-rules.md # Rules for AI assistants
│ └── ledgers/
│ ├── _active.md # Dashboard of active features
│ ├── _template.md # Template for new feature ledgers
│ ├── archived/ # Completed feature ledgers
│ └── [feature-name].md # Individual feature ledgers
├── .cursorrules # Cursor AI rules (optional)
├── augment.md # Augment AI context (optional)
└── .github/
└── copilot-instructions.md # GitHub Copilot instructions (optional)
⚡ Commands
🎬 wrinkl init
Initialize the AI context system in your project.
Options:
-n, --name <name>- Project name (default: directory name)-t, --type <type>- Project type (default: "web app")-s, --stack <stack>- Technology stack (default: "TypeScript, Node.js")--no-cursor- Skip creating .cursorrules file--with-augment- Include augment.md file--with-copilot- Include GitHub Copilot instructions
Example:
wrinkl init --name "My App" --type "mobile app" --stack "React Native, Node.js"
🆕 wrinkl feature <name>
Create a new feature ledger to track development progress.
Example:
wrinkl feature user-authentication
📋 wrinkl list
List all active feature ledgers and their status.
Options:
-a, --all- Include archived features
Example:
wrinkl list --all
📦 wrinkl archive <name>
Archive a completed feature ledger.
Example:
wrinkl archive user-authentication
⚙️ How It Works
1. 📊 Project Context
The .ai/project.md file contains your project's core information:
- Project goals and constraints
- Technology stack
- Key requirements
- Development workflow
2. 🎨 Coding Patterns
The .ai/patterns.md file documents:
- Code style and conventions
- Common patterns and anti-patterns
- Testing strategies
- Performance guidelines
3. 🏗️ Architecture Decisions
The .ai/architecture.md file captures:
- System design decisions
- Technology choices and trade-offs
- Scalability considerations
- Security architecture
4. 📋 Feature Ledgers
Individual feature files track:
- Feature requirements and goals
- Technical approach and decisions
- Progress updates and blockers
- Testing and deployment notes
5. 🤖 AI Assistant Rules
The .ai/context-rules.md file provides:
- Guidelines for AI assistants
- Code quality standards
- Security and performance rules
- Project-specific requirements
🌟 Best Practices
👥 For Teams
- Keep context updated 🔄 - Regularly update project files as requirements change
- Use feature ledgers 📝 - Create a ledger for each significant feature
- Document decisions 📋 - Record important technical decisions in ledgers
- Review patterns 🔍 - Regularly review and update coding patterns
🤖 For AI Assistance
- Reference context 📖 - Tell AI assistants to read the
.ai/directory - Mention features 🎯 - Reference specific feature ledgers when working
- Update progress ⏱️ - Keep ledgers updated with progress and decisions
- Follow patterns ✅ - Ensure AI-generated code follows project patterns
💬 Example AI Prompts
"I'm working on the user-authentication feature. Please read the feature
ledger in .ai/ledgers/user-authentication.md and help me implement the
login component following the patterns in .ai/patterns.md"
"Please review the project context in .ai/project.md and suggest an
architecture for the new notification system, documenting your decisions
in a new feature ledger"
🔗 Integration with AI Tools
🎯 Cursor AI
If you use Cursor, the .cursorrules file provides context and guidelines for the AI assistant.
🌊 Windsurf AI
If you use Windsurf, simply rename .cursorrules to .windsurfrules - the content is identical, just different filename conventions.
⚡ Augment AI
The augment.md file provides context for Augment AI when working on your project.
🐙 GitHub Copilot
The .github/copilot-instructions.md file guides GitHub Copilot to generate code that follows your project patterns.
🤝 Contributing
- 🍴 Fork the repository
- 🌿 Create a feature branch
- ✏️ Make your changes
- 🧪 Add tests
- 📤 Submit a pull request
📄 License
MIT - see LICENSE file for details.
🆘 Support
Trustgrade B
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- warnFreshnessstale (>1y)
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-da05b4be7ea82026-08-06