Best use case
```markdown is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
# rep Development Patterns
Teams using ```markdown should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/rep/SKILL.md --create-dirs "https://raw.githubusercontent.com/RuachTech/rep/main/.agents/skills/rep/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/rep/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ```markdown Compares
| Feature / Agent | ```markdown | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
# rep Development Patterns
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
```markdown
# rep Development Patterns
> Auto-generated skill from repository analysis
## Overview
This TypeScript monorepo follows a structured development approach with automated release management, comprehensive CI/CD workflows, and a CLI-focused architecture. The codebase emphasizes conventional commits, automated documentation generation, and gateway-based functionality with strong testing practices using Vitest.
## Coding Conventions
### File Naming
- Use **camelCase** for all TypeScript files
- Test files follow the pattern `*.test.ts`
- Documentation uses `.mdx` extension in `docs/src/content/`
### Import/Export Style
```typescript
// Use relative imports
import { someFunction } from './utils/helper'
import { ConfigType } from '../types/config'
// Use named exports
export { processCommand } from './commands'
export type { CommandOptions } from './types'
```
### Commit Messages
Follow conventional commit format:
```
feat: add new CLI command for gateway management
fix: resolve dependency resolution issue
chore: update package versions across workspace
```
- Average commit message length: ~68 characters
- Use prefixes: `feat`, `chore`, `fix`
## Workflows
### Automated Release
**Trigger:** When ready to create a new release
**Command:** `/release`
1. Update version numbers in `.release-please-manifest.json`
2. Generate or update `CHANGELOG.md` files for each affected package
3. Bump version numbers in all relevant `package.json` files
4. Commit changes with message format: `chore(main): release`
5. Let release-please bot handle tagging and GitHub release creation
### CI Workflow Optimization
**Trigger:** When build processes need improvement or workflow issues arise
**Command:** `/fix-ci`
1. Review current workflow trigger conditions in `.github/workflows/*.yml`
2. Update job dependencies and execution conditions
3. Modify workflow steps for better performance
4. Update branch targeting or event triggers
5. Test workflow changes on feature branch before merging
### Documentation Update
**Trigger:** When updating content, SEO, or site structure
**Command:** `/update-docs`
1. Modify relevant `.mdx` files in `docs/src/content/docs/`
2. Update meta tags, titles, and descriptions for SEO
3. Modify `docs/astro.config.mjs` if structural changes needed
4. Regenerate Astro content modules and data store
5. Preview changes locally before committing
### Package Dependency Update
**Trigger:** When updating dependencies or aligning package versions
**Command:** `/update-deps`
1. Update version numbers in affected `package.json` files
2. Run `pnpm install` to regenerate `pnpm-lock.yaml`
3. Update cross-package dependency references
4. Run tests to verify compatibility: `pnpm test`
5. Update example projects if they depend on changed packages
### CLI Feature Enhancement
**Trigger:** When implementing new CLI commands or fixing existing functionality
**Command:** `/enhance-cli`
1. Implement changes in `cli/src/**/*.ts` files
2. Add or update corresponding tests in `cli/src/**/__tests__/*.ts`
3. Update CLI documentation in `docs/src/content/docs/reference/cli.mdx`
4. Update any related configuration files
5. Test CLI functionality manually and via automated tests
### Gateway Configuration Update
**Trigger:** When updating gateway versions or fixing gateway integration
**Command:** `/update-gateway`
1. Update gateway version references in relevant files
2. Modify `cli/scripts/postinstall.js` for binary handling
3. Update Docker configurations if gateway affects containerization
4. Update CLI gateway integration code
5. Test gateway functionality across different environments
## Testing Patterns
### Test Structure
```typescript
// Use Vitest framework
import { describe, it, expect } from 'vitest'
import { functionToTest } from '../src/module'
describe('Module Name', () => {
it('should handle expected input correctly', () => {
const result = functionToTest('input')
expect(result).toBe('expected output')
})
})
```
### File Organization
- Place tests in `__tests__` directories within source folders
- Use descriptive test file names: `commandProcessor.test.ts`
- Group related tests using `describe` blocks
## Commands
| Command | Purpose |
|---------|---------|
| `/release` | Trigger automated release process with version bumps and changelog generation |
| `/fix-ci` | Optimize GitHub Actions workflows and fix CI/CD issues |
| `/update-docs` | Update documentation content and site configuration |
| `/update-deps` | Update package dependencies across the monorepo |
| `/enhance-cli` | Add or improve CLI functionality with tests and documentation |
| `/update-gateway` | Update gateway configuration and integration |
```Related Skills
We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.