aiwf
Version:
AI Workflow Framework for Claude Code with multi-language support (Korean/English)
347 lines (312 loc) • 7.49 kB
YAML
# Augment AI Configuration for AIWF Projects
# Version: 1.0.0
# Project identification
project:
type: aiwf
framework_version: 1.0.0
name: "${PROJECT_NAME}"
description: "AI Workflow Framework project with Augment integration"
# AIWF structure mapping
structure:
root: .aiwf
directories:
features: 06_FEATURE_LEDGERS
sprints: 03_SPRINTS
tasks: 04_GENERAL_TASKS
personas: personas
templates: 99_TEMPLATES
architecture: 05_ARCHITECTURAL_DECISIONS
state: 10_STATE_OF_PROJECT
# Context providers
context:
providers:
- name: feature_ledger
type: markdown
path: .aiwf/06_FEATURE_LEDGERS/**/*.md
parser: aiwf_feature
cache: true
refresh: on_save
- name: current_sprint
type: directory
path: .aiwf/03_SPRINTS
parser: aiwf_sprint
watch: true
- name: active_persona
type: json
path: .aiwf/current_persona.json
watch: true
- name: project_manifest
type: markdown
path: .aiwf/00_PROJECT_MANIFEST.md
parser: aiwf_manifest
cache: true
# Code generation patterns
patterns:
# File naming
naming:
services: "{feature_id}_{name}.service.{ext}"
controllers: "{feature_id}_{name}.controller.{ext}"
tests: "{name}.spec.{ext}"
components: "{name}.component.{ext}"
# Import organization
imports:
order:
- external
- "@aiwf/core"
- "@aiwf/*"
- internal
- feature
- relative
grouping: true
sorting: alphabetical
# Documentation
documentation:
style: jsdoc
required_tags:
- "@feature"
- "@task"
- "@persona"
auto_generate:
feature_id: true
task_id: true
sprint_id: true
timestamp: false
# Persona configurations
personas:
architect:
focus:
- system_design
- architectural_patterns
- scalability
- abstractions
patterns:
- interfaces
- abstract_classes
- design_patterns
- dependency_injection
suggestions:
priority: architecture_first
examples: true
alternatives: multiple
security:
focus:
- input_validation
- authentication
- authorization
- encryption
patterns:
- sanitization
- rate_limiting
- audit_logging
- security_headers
warnings:
level: high
types:
- sql_injection
- xss
- csrf
- exposed_secrets
frontend:
focus:
- user_experience
- component_design
- performance
- accessibility
patterns:
- react_hooks
- state_management
- responsive_design
- lazy_loading
frameworks:
react: true
vue: true
angular: true
backend:
focus:
- api_design
- data_models
- business_logic
- integrations
patterns:
- rest_api
- graphql
- microservices
- event_driven
databases:
sql: true
nosql: true
cache: true
data_analyst:
focus:
- data_processing
- visualization
- statistics
- reporting
patterns:
- pandas_operations
- numpy_calculations
- chart_generation
- data_pipelines
libraries:
pandas: true
numpy: true
matplotlib: true
seaborn: true
# Code suggestions behavior
suggestions:
# Context awareness
context_depth: 3
include_related_features: true
check_dependencies: true
# Validation
validation:
feature_status: always
task_alignment: always
sprint_scope: warning
persona_match: info
# Auto-completion
autocomplete:
trigger_chars: 3
show_metadata: true
include_examples: true
max_suggestions: 10
# Intelligence features
intelligence:
learn_from_codebase: true
adapt_to_style: true
suggest_refactoring: true
detect_patterns: true
# Integration rules
rules:
# Feature validation
- id: feature_validation
name: "Require feature validation"
severity: error
applies_to: ["services", "controllers"]
pattern: "class.*"
requires: "validateFeature|checkFeature"
message: "All services must validate their feature status"
# Task references
- id: task_reference
name: "Task reference required"
severity: warning
applies_to: ["all"]
pattern: "export (class|function|const)"
requires: "@task"
message: "Exported items should reference their task ID"
# Security checks
- id: input_sanitization
name: "Input sanitization"
severity: error
applies_to: ["controllers", "api"]
pattern: "req\\.(body|params|query)"
requires: "sanitize|validate"
message: "User input must be sanitized"
# Test coverage
- id: test_required
name: "Test file required"
severity: warning
applies_to: ["services", "controllers", "utils"]
requires_file: "{name}.spec.{ext}"
message: "Test file is missing"
# Error handling
error_handling:
style: contextual
include_metadata: true
patterns:
feature_error: |
class {Name}Error extends Error {
constructor(message, context) {
super(`[{feature_id}/{task_id}] ${message}`);
this.feature = '{feature_id}';
this.task = '{task_id}';
this.timestamp = new Date().toISOString();
}
}
# Git integration
git:
hooks:
pre_commit:
- validate_features
- check_task_references
- run_linter
post_commit:
- update_feature_progress
- log_to_sprint
commit_format: "{type}({feature_id}): {message}"
branch_format: "feature/{feature_id}-{name}"
# Performance optimization
performance:
analyze: true
suggest_optimizations: true
track_metrics: true
thresholds:
response_time: 100ms
bundle_size: 500kb
memory_usage: 100mb
# Testing integration
testing:
framework: jest
coverage:
threshold: 80
include_feature_tests: true
require_acceptance_tests: true
patterns:
unit: "*.spec.{js,ts}"
integration: "*.integration.{js,ts}"
e2e: "*.e2e.{js,ts}"
# Documentation generation
documentation:
auto_generate: true
update_on_save: true
targets:
- feature_ledger
- api_docs
- readme
- changelog
format:
style: markdown
include_examples: true
include_diagrams: true
# Custom commands
commands:
- name: "Create Feature"
command: "aiwf:create-feature"
shortcut: "cmd+shift+f"
description: "Create a new feature in Feature Ledger"
- name: "Update Task"
command: "aiwf:update-task"
shortcut: "cmd+shift+t"
description: "Update current task status"
- name: "Switch Persona"
command: "aiwf:switch-persona"
shortcut: "cmd+shift+p"
description: "Switch active AI persona"
- name: "Sprint Status"
command: "aiwf:sprint-status"
shortcut: "cmd+shift+s"
description: "Show current sprint status"
# Cache configuration
cache:
enabled: true
location: .augment/cache
max_size: 100mb
ttl: 24h
clear_on:
- major_version_change
- structure_change
- manual_clear
# Telemetry
telemetry:
enabled: false
anonymous: true
track:
- feature_usage
- persona_switches
- performance_metrics
# Experimental features
experimental:
ai_refactoring: false
auto_test_generation: false
smart_documentation: false
predictive_coding: false