-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproduct.yaml
More file actions
108 lines (91 loc) · 3.54 KB
/
product.yaml
File metadata and controls
108 lines (91 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Product Knowledge Hub Configuration
# ====================================
# Configure this file for your product's repositories.
# See examples/ directory for complete examples.
#
# Environment variable override: PRODUCT_CONFIG_PATH=/path/to/your/product.yaml
name: "MyProduct"
description: "Configure this for your product"
# =============================================================================
# REPOSITORIES
# =============================================================================
# Define the repositories that make up your product.
# One repository should be marked as is_primary_operator: true - this is the
# repository from which version tags are extracted for the Bill of Materials.
repositories:
# Example frontend repository
my-frontend:
url: "https://github.com/your-org/frontend.git"
description: "Frontend UI"
aliases:
- "frontend"
- "ui"
# Example operator/backend repository (primary version source)
my-operator:
url: "https://github.com/your-org/operator.git"
description: "Main operator - version tags come from here"
is_primary_operator: true
aliases:
- "operator"
- "backend"
# =============================================================================
# VERSION CONFIGURATION
# =============================================================================
# Controls how the Bill of Materials (BOM) is generated.
# The BOM maps product versions to component versions.
version_config:
# Tag prefixes to scan in the primary operator repository
tag_prefixes:
- "v*"
# Component directory names in the operator repo (maps to repository names)
# Format: "directory_name": "repository_name"
components:
frontend: "my-frontend"
# =============================================================================
# FEATURE HEURISTICS (Optional)
# =============================================================================
# Define patterns to check if a feature exists in a specific version.
# Used by the check_capability tool to verify feature support before testing.
feature_heuristics:
# Example feature check
# my_feature:
# repo: "my-frontend"
# pattern: "FeatureComponent"
# description: "My feature description"
# =============================================================================
# UI SEARCH CONFIGURATION (Optional)
# =============================================================================
# Configure how UI element searches work (locate_ui_element tool).
ui_search:
# Default repository for UI element searches
default_repo: "my-frontend"
# Base paths to search for UI elements
search_paths:
- "src/components"
- "src/pages"
- "src"
# Patterns to extract selectors from code
selector_patterns:
- 'data-testid[="{].*'
- 'aria-label[="{].*'
- 'id[="{].*'
# =============================================================================
# BACKEND SEARCH CONFIGURATION (Optional)
# =============================================================================
# Configure how backend API searches work (verify_backend tool).
backend_search:
# Route patterns by language
route_patterns:
typescript: "(app|router)\\.(get|post|put|delete|patch)"
go: "func.*Handler|http\\.Handle"
python: "@app\\.(get|post|put|delete)|@router\\."
# Type/interface patterns by language
type_patterns:
typescript: "(interface|type)\\s+\\w*"
go: "type\\s+\\w+\\s+struct"
python: "class\\s+\\w+.*:"
# Search paths by repository
search_paths:
my-frontend:
routes: "src/api"
types: "src/types"