/f5-styleguide
Generate and manage project style guides from learned patterns.
$ npx -y skills add Fujigo-Software/f5-framework-claude --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/f5-styleguide
Context preview
What this command does when you run it.
Generate and manage project style guides from learned patterns.
Command definition
f5-styleguide.md/f5-styleguide - Style Guide Management
Generate and manage project style guides from learned patterns.
Usage
/f5-styleguide <action> [options]
Actions
generate
Generate style guide from learning profile.
/f5-styleguide generate [--format <format>] [--output <path>]
**Options:**
- `--format` - Output format: markdown (default), html, json
- `--output` - Output path (default: `.f5/learning/style-guide/README.md`)
show
Display current style guide.
/f5-styleguide show [section]
**Sections:**
- `naming` - Naming conventions
- `style` - Code style rules
- `architecture` - Architecture guidelines
- `examples` - Code examples
- `all` - Full guide (default)
update
Update style guide with new patterns.
/f5-styleguide update [--from-profile] [--from-scan]
export
Export style guide for team sharing.
/f5-styleguide export [--format <format>] [--output <path>]
**Formats:**
- `markdown` - Standard markdown
- `html` - Styled HTML page
- `pdf` - PDF document (requires pandoc)
- `confluence` - Confluence wiki format
- `notion` - Notion markdown
lint-rules
Generate linting configuration from style guide.
/f5-styleguide lint-rules [--target <linter>]
**Targets:**
- `eslint` - ESLint configuration
- `prettier` - Prettier configuration
- `stylelint` - Stylelint configuration
Examples
# Generate markdown style guide
/f5-styleguide generate
# Generate HTML format
/f5-styleguide generate --format html --output docs/style-guide.html
# Show naming conventions
/f5-styleguide show naming
# Update from latest scan
/f5-styleguide update --from-scan
# Export for Confluence
/f5-styleguide export --format confluence --output style-guide.wiki
# Generate ESLint config
/f5-styleguide lint-rules --target eslint
Execution
When user runs this command:
ACTION: GENERATE
1. **Load Learning Profile**:
if [ ! -f ".f5/learning/profile.yaml" ]; then
echo "No learning profile. Run /f5-learn scan first."
exit 1
fi
PROFILE=$(cat .f5/learning/profile.yaml)2. **Generate Style Guide Content**:
# [PROJECT_NAME] Style Guide
Generated: [DATE]
Based on: Learning Profile v[VERSION]
Confidence: [SCORE]%
---
## Table of Contents
1. [Naming Conventions](#naming-conventions)
2. [Code Style](#code-style)
3. [Architecture](#architecture)
4. [Error Handling](#error-handling)
5. [Testing](#testing)
6. [Documentation](#documentation)
7. [Examples](#examples)
---
## Naming Conventions
### Files
**Pattern:** {{FILE_PATTERN}}
| Type | Convention | Example |
|------|------------|---------|
| Components | {{FILE_PATTERN}} | `user-profile.tsx` |
| Services | {{FILE_PATTERN}} | `user-service.ts` |
| Utils | {{FILE_PATTERN}} | `date-utils.ts` |
### Variables
**Pattern:** {{VAR_PATTERN}}
| Type | Convention | Example |
|------|------------|---------|
| Regular | camelCase | `userName`, `orderItems` |
| Boolean | {{BOOL_PREFIX}}CamelCase | `isActive`, `hasPermission` |
| Private | {{PRIVATE_PREFIX}}camelCase | `_internalState` |
| Constants | SCREAMING_SNAKE | `MAX_RETRY_COUNT` |
### Functions
**Pattern:** {{FUNC_PATTERN}}
**Verb Prefixes:**
{{#each VERB_PREFIXES}}
- `{{this}}` - {{VERB_DESCRIPTION}}
{{/each}}
| Action | Prefix | Example |
|--------|--------|---------|
| Get single | `find`, `get` | `findUserById()` |
| Get multiple | `list`, `getAll` | `listOrders()` |
| Create | `create`, `add` | `createUser()` |
| Update | `update`, `set` | `updateProfile()` |
| Delete | `delete`, `remove` | `deleteOrder()` |
| Boolean check | `is`, `has`, `can` | `isValid()` |
| Event handler | `handle`, `on` | `handleSubmit()` |
### Classes
**Pattern:** PascalCase + Role Suffix
| Role | Suffix | Example |
|------|--------|---------|
| Service | `Service` | `UserService` |
| Controller | `Controller` | `AuthController` |
| Repository | `Repository` | `OrderRepository` |
| Entity | (none) | `User`, `Order` |
| DTO | `Dto` | `CreateUserDto` |
| Module | `Module` | `AuthModule` |
### Interfaces & Types
| Element | Convention | Example |
|---------|------------|---------|
| Interface | {{INTERFACE_PATTERN}} | `IUserRepository` or `UserRepository` |
| Type | {{TYPE_PATTERN}} | `UserType`, `OrderStatus` |
| Enum | PascalCase | `UserRole`, `OrderStatus` |
---
## Code Style
### Formatting
| Property | Value |
|----------|-------|
| Indentation | {{INDENT_SIZE}} {{INDENT_TYPE}} |
| Line Length | {{MAX_LINE}} characters |
| Quotes | {{QUOTE_TYPE}} |
| Semicolons | {{SEMICOLON}} |
| Trailing Commas | {{TRAILING_COMMA}} |
### Imports
**Order:**
1. React/Framework imports
2. External libraries
3. Internal modules
4. Relative imports
5. Types/Interfaces
**Example:**
```typescript
// Framework
import { Injectable } from '@nestjs/common';
// External
import { v4 as uuid } from 'uuid';
// Internal
import { UserRepository } from '@/repositories';
// Relative
import { CreateUserDto } from './dto';
// Types
import type { User } from '@/types';Functions
| Preference | Usage | |------------|-------| | Arrow Functions | {{ARROW_PREFERENCE}} | | Const | {{CONST_PREFERENCE}} | | Explicit Types | {{EXPLICIT_TYPES}} |
---
Architecture
**Pattern:** {{ARCHITECTURE_PATTERN}}
Layer Structure
{{#each LAYERS}}
{{this.path}}/ ({{this.name}})
{{/each}}Dependency Rules
{{DEPENDENCY_DESCRIPTION}}
{{DEPENDENCY_DIAGRAM}}---
Error Handling
**Pattern:** {{ERROR_PATTERN}}
{{ERROR_EXAMPLE}}---
Testing
| Property | Value | |----------|-------| | F
Read more
/f5-styleguide - Style Guide Management
Generate and manage project style guides from learned patterns.
Usage
/f5-styleguide <action> [options]
Actions
generate
Generate style guide from learning profile.
/f5-styleguide generate [--format <format>] [--output <path>]
**Options:**
- `--format` - Output format: markdown (default), html, json
- `--output` - Output path (default: `.f5/learning/style-guide/README.md`)
show
Display current style guide.
/f5-styleguide show [section]
**Sections:**
- `naming` - Naming conventions
- `style` - Code style rules
- `architecture` - Architecture guidelines
- `examples` - Code examples
- `all` - Full guide (default)
update
Update style guide with new patterns.
/f5-styleguide update [--from-profile] [--from-scan]
export
Export style guide for team sharing.
/f5-styleguide export [--format <format>] [--output <path>]
**Formats:**
- `markdown` - Standard markdown
- `html` - Styled HTML page
- `pdf` - PDF document (requires pandoc)
- `confluence` - Confluence wiki format
- `notion` - Notion markdown
lint-rules
Generate linting configuration from style guide.
/f5-styleguide lint-rules [--target <linter>]
**Targets:**
- `eslint` - ESLint configuration
- `prettier` - Prettier configuration
- `stylelint` - Stylelint configuration
Examples
# Generate markdown style guide /f5-styleguide generate # Generate HTML format /f5-styleguide generate --format html --output docs/style-guide.html # Show naming conventions /f5-styleguide show naming # Update from latest scan /f5-styleguide update --from-scan # Export for Confluence /f5-styleguide export --format confluence --output style-guide.wiki # Generate ESLint config /f5-styleguide lint-rules --target eslint
Execution
When user runs this command:
ACTION: GENERATE
1. **Load Learning Profile**:
if [ ! -f ".f5/learning/profile.yaml" ]; then
echo "No learning profile. Run /f5-learn scan first."
exit 1
fi
PROFILE=$(cat .f5/learning/profile.yaml)2. **Generate Style Guide Content**:
# [PROJECT_NAME] Style Guide
Generated: [DATE]
Based on: Learning Profile v[VERSION]
Confidence: [SCORE]%
---
## Table of Contents
1. [Naming Conventions](#naming-conventions)
2. [Code Style](#code-style)
3. [Architecture](#architecture)
4. [Error Handling](#error-handling)
5. [Testing](#testing)
6. [Documentation](#documentation)
7. [Examples](#examples)
---
## Naming Conventions
### Files
**Pattern:** {{FILE_PATTERN}}
| Type | Convention | Example |
|------|------------|---------|
| Components | {{FILE_PATTERN}} | `user-profile.tsx` |
| Services | {{FILE_PATTERN}} | `user-service.ts` |
| Utils | {{FILE_PATTERN}} | `date-utils.ts` |
### Variables
**Pattern:** {{VAR_PATTERN}}
| Type | Convention | Example |
|------|------------|---------|
| Regular | camelCase | `userName`, `orderItems` |
| Boolean | {{BOOL_PREFIX}}CamelCase | `isActive`, `hasPermission` |
| Private | {{PRIVATE_PREFIX}}camelCase | `_internalState` |
| Constants | SCREAMING_SNAKE | `MAX_RETRY_COUNT` |
### Functions
**Pattern:** {{FUNC_PATTERN}}
**Verb Prefixes:**
{{#each VERB_PREFIXES}}
- `{{this}}` - {{VERB_DESCRIPTION}}
{{/each}}
| Action | Prefix | Example |
|--------|--------|---------|
| Get single | `find`, `get` | `findUserById()` |
| Get multiple | `list`, `getAll` | `listOrders()` |
| Create | `create`, `add` | `createUser()` |
| Update | `update`, `set` | `updateProfile()` |
| Delete | `delete`, `remove` | `deleteOrder()` |
| Boolean check | `is`, `has`, `can` | `isValid()` |
| Event handler | `handle`, `on` | `handleSubmit()` |
### Classes
**Pattern:** PascalCase + Role Suffix
| Role | Suffix | Example |
|------|--------|---------|
| Service | `Service` | `UserService` |
| Controller | `Controller` | `AuthController` |
| Repository | `Repository` | `OrderRepository` |
| Entity | (none) | `User`, `Order` |
| DTO | `Dto` | `CreateUserDto` |
| Module | `Module` | `AuthModule` |
### Interfaces & Types
| Element | Convention | Example |
|---------|------------|---------|
| Interface | {{INTERFACE_PATTERN}} | `IUserRepository` or `UserRepository` |
| Type | {{TYPE_PATTERN}} | `UserType`, `OrderStatus` |
| Enum | PascalCase | `UserRole`, `OrderStatus` |
---
## Code Style
### Formatting
| Property | Value |
|----------|-------|
| Indentation | {{INDENT_SIZE}} {{INDENT_TYPE}} |
| Line Length | {{MAX_LINE}} characters |
| Quotes | {{QUOTE_TYPE}} |
| Semicolons | {{SEMICOLON}} |
| Trailing Commas | {{TRAILING_COMMA}} |
### Imports
**Order:**
1. React/Framework imports
2. External libraries
3. Internal modules
4. Relative imports
5. Types/Interfaces
**Example:**
```typescript
// Framework
import { Injectable } from '@nestjs/common';
// External
import { v4 as uuid } from 'uuid';
// Internal
import { UserRepository } from '@/repositories';
// Relative
import { CreateUserDto } from './dto';
// Types
import type { User } from '@/types';Functions
| Preference | Usage | |------------|-------| | Arrow Functions | {{ARROW_PREFERENCE}} | | Const | {{CONST_PREFERENCE}} | | Explicit Types | {{EXPLICIT_TYPES}} |
---
Architecture
**Pattern:** {{ARCHITECTURE_PATTERN}}
Layer Structure
{{#each LAYERS}}
{{this.path}}/ ({{this.name}})
{{/each}}Dependency Rules
{{DEPENDENCY_DESCRIPTION}}
{{DEPENDENCY_DIAGRAM}}---
Error Handling
**Pattern:** {{ERROR_PATTERN}}
{{ERROR_EXAMPLE}}---
Testing
| Property | Value | |----------|-------| | F
AI-Powered Development Framework for Claude Code
Repo: Fujigo-Software/f5-framework-claude
Other commands on f5-framework.
- /f5-agent
Manage AI agents, personas, and get smart suggestions
Open command - /f5-analytics
View project analytics and metrics
Open command - /f5-ba
Business analysis workflow
Open command - /f5-backend
Backend development commands
Open command - /f5-checkpoint
[DEPRECATED] Use /f5-ctx checkpoint
Open command - /f5-classify
Classify input files by type using content-first analysis, detect gaps, and generate coverage declaration
Open command

