Thank you for your interest in contributing! This document provides guidelines for creating and sharing extension modules.
- Create new modules - Add domain-specific rules, coding standards, or examples
- Improve existing modules - Fix typos, add examples, clarify rules
- Enhance CLI - Improve the
augxtool functionality - Documentation - Improve guides and references
- Bug reports - Report issues with modules or CLI
- coding-standards - Language/framework specific standards
- domain-rules - Domain-specific guidelines (web, API, security, etc.)
- examples - Code examples and patterns
augment-extensions/<type>/<name>/
├── module.json # Required: Metadata
├── README.md # Required: Module documentation
├── rules/ # Optional: Rule files
│ └── *.md
└── examples/ # Optional: Code examples
└── *.*{
"name": "your-module-name",
"version": "1.0.0",
"description": "Brief description",
"type": "coding-standards",
"language": "typescript",
"author": "Your Name",
"license": "MIT",
"keywords": ["keyword1", "keyword2"],
"dependencies": {},
"files": [
"rules/rule1.md",
"examples/example1.ts"
],
"augment": {
"minVersion": "1.0.0",
"characterCount": 15000,
"priority": "high",
"autoLoad": false
}
}- Use Markdown format
- Include code examples
- Provide ✅ Good and ❌ Bad examples
- Be specific and actionable
- Avoid ambiguity
# Count characters in all rule files
find augment-extensions/your-module -name "*.md" -exec wc -m {} + | tail -1Update characterCount in module.json.
- Module names: lowercase-with-hyphens
- File names: lowercase-with-hyphens.md
- Directory names: lowercase-with-hyphens
- Clarity: Rules should be clear and unambiguous
- Examples: Include code examples for every rule
- Consistency: Follow existing module patterns
- Completeness: Cover the topic thoroughly
- Maintainability: Keep modules focused and modular
- Small modules: < 10,000 characters
- Medium modules: 10,000 - 25,000 characters
- Large modules: 25,000 - 50,000 characters
- Split if: > 50,000 characters
Follow Semantic Versioning:
- MAJOR (1.0.0 → 2.0.0): Breaking changes to structure or rules
- MINOR (1.0.0 → 1.1.0): New rules or examples added
- PATCH (1.0.0 → 1.0.1): Bug fixes, typos, clarifications
git clone https://github.com/your-username/augment-extensions.git
cd augment-extensionsgit checkout -b add-module-<name># Create module directory
mkdir -p augment-extensions/coding-standards/your-module
# Add files
# - module.json
# - README.md
# - rules/*.md
# - examples/*# Install CLI
cd cli
npm install
npm link
# Validate your module (comprehensive validation)
augx validate coding-standards/your-module --verboseThe validation checks:
- ✅ Module structure - Required files (module.json, README.md, rules/)
- ✅ Module category - Type matches directory structure
- ✅ Semantic versioning - Valid version format (MAJOR.MINOR.PATCH)
- ✅ Project-agnostic content - No hardcoded paths or project-specific URLs
- ✅ Documentation completeness - Required sections, code examples, actionable content
- ✅ Character count - Matches declared count in module.json
- ✅ Metadata completeness - All required fields present
The catalog is automatically updated using the CLI:
# Update MODULES.md catalog
augx catalog
# Or set up automatic updates on git commit
augx catalog-hook
# Check if catalog is out of date
augx catalog --check
# Auto-update only if out of date
augx catalog --autoThe catalog command:
- Discovers all modules in
augment-extensions/ - Extracts metadata from
module.json - Generates formatted catalog entries
- Groups modules by category
- Calculates statistics
Git Hook: The augx catalog-hook command sets up a pre-commit hook that automatically updates the catalog before each commit.
git add augment-extensions/coding-standards/your-module
git add modules.md
git commit -m "Add your-module coding standards"
git push origin add-module-<name>- Describe the module purpose
- List key rules included
- Mention character count
- Link to any related issues
- Be respectful and inclusive
- Provide constructive feedback
- Focus on improving the modules
- Help others learn and grow
- Open an issue for questions
- Join discussions in pull requests
- Check existing modules for examples
By contributing, you agree that your contributions will be licensed under the MIT License.