You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### Added
- Dark Mode support
- Live token count updates during file selection
- Separated include/exclude configuration boxes for better organization
- Auto detect and exclude binary files
- Use .gitignore to exclude files/folders
### Improved
- Enhanced UX/UI with better spacing and visual hierarchy
- Faster UI rendering and response times
- Simplified text entry for file patterns (vs. YAML format)
### Fixed
- Multiple bug fixes in file selection and processing
- Added robust testing for file selection edge cases
The AI Code Fusion uses a YAML configuration for file filtering. This document explains the available configuration options and best practices.
3
+
AI Code Fusion uses YAML configuration for file filtering. This document explains the available configuration options and best practices.
4
4
5
5
## Configuration Format
6
6
7
-
The application uses YAML format for its configuration:
8
-
9
-
```yaml
10
-
# File extensions to include (with dot)
11
-
include_extensions:
12
-
- .py
13
-
- .ts
14
-
- .js
15
-
- .md
16
-
- .ini
17
-
- .yaml
18
-
- .yml
19
-
- .kt
20
-
- .go
21
-
- .scm
22
-
- .php
7
+
The application uses YAML format for its configuration. Below is an example showing common configuration patterns:
8
+
9
+
### File extensions to include (with dot)
10
+
11
+
```
12
+
.py
13
+
.ts
14
+
.js
15
+
.md
16
+
.ini
17
+
.yaml
18
+
.yml
19
+
.kt
20
+
.go
21
+
.scm
22
+
.php
23
23
24
24
# Patterns to exclude (using fnmatch syntax)
25
-
exclude_patterns:
26
-
# Version Control
27
-
- '**/.git/**'
28
-
- '**/.svn/**'
29
-
- '**/.hg/**'
30
-
- '**/vocab.txt'
31
-
- '**.onnx'
32
-
- '**/test*.py'
33
-
34
-
# Dependencies
35
-
- '**/node_modules/**'
36
-
- '**/venv/**'
37
-
- '**/env/**'
38
-
- '**/.venv/**'
39
-
- '**/.github/**'
40
-
- '**/vendor/**'
41
-
- '**/website/**'
42
-
43
-
# Build outputs
44
-
- '**/test/**'
45
-
- '**/dist/**'
46
-
- '**/build/**'
47
-
- '**/__pycache__/**'
48
-
- '**/*.pyc'
49
-
50
-
# Config files
51
-
- '**/.DS_Store'
52
-
- '**/.env'
53
-
- '**/package-lock.json'
54
-
- '**/yarn.lock'
55
-
- '**/.prettierrc'
56
-
- '**/.prettierignore'
57
-
- '**/.gitignore'
58
-
- '**/.gitattributes'
59
-
- '**/.npmrc'
60
-
61
-
# Documentation
62
-
- '**/LICENSE*'
63
-
- '**/LICENSE.*'
64
-
- '**/COPYING'
65
-
- '**/CODE_OF**'
66
-
- '**/CONTRIBUTING**'
67
-
68
-
# Test files
69
-
- '**/tests/**'
70
-
- '**/test/**'
71
-
- '**/__tests__/**'
25
+
# Version Control
26
+
'**/.git/**'
27
+
'**/.svn/**'
28
+
'**/.hg/**'
29
+
'**/vocab.txt'
30
+
'**.onnx'
31
+
'**/test*.py'
32
+
33
+
# Dependencies
34
+
'**/node_modules/**'
35
+
'**/venv/**'
36
+
'**/env/**'
37
+
'**/.venv/**'
38
+
'**/.github/**'
39
+
'**/vendor/**'
40
+
'**/website/**'
41
+
42
+
# Build outputs
43
+
'**/test/**'
44
+
'**/dist/**'
45
+
'**/build/**'
46
+
'**/__pycache__/**'
47
+
'**/*.pyc'
48
+
49
+
# Config files
50
+
'**/.DS_Store'
51
+
'**/.env'
52
+
'**/package-lock.json'
53
+
'**/yarn.lock'
54
+
'**/.prettierrc'
55
+
'**/.prettierignore'
56
+
'**/.gitignore'
57
+
'**/.gitattributes'
58
+
'**/.npmrc'
59
+
60
+
# Documentation
61
+
'**/LICENSE*'
62
+
'**/LICENSE.*'
63
+
'**/COPYING'
64
+
'**/CODE_OF**'
65
+
'**/CONTRIBUTING**'
66
+
67
+
# Test files
68
+
'**/tests/**'
69
+
'**/test/**'
70
+
'**/__tests__/**'
72
71
```
73
72
74
73
## Configuration Options
75
74
76
75
### Include Extensions
77
76
78
-
The `include_extensions` section specifies file extensions that should be processed. Only files with these extensions will be considered for processing.
77
+
The `include_extensions` section specifies which file extensions should be processed. Only files with these extensions will be considered for processing.
79
78
80
79
Example:
81
80
82
-
```yaml
83
-
include_extensions:
84
-
- .py # Include Python files
85
-
- .js # Include JavaScript files
86
-
- .md # Include Markdown files
81
+
```
82
+
.py # Include Python files
83
+
.js # Include JavaScript files
84
+
.md # Include Markdown files
87
85
```
88
86
89
87
### Exclude Patterns
90
88
91
-
The `exclude_patterns` section specifies patterns for files and directories that should be excluded from processing, even if they have an included extension.
89
+
The `exclude_patterns` section defines patterns for files and directories that should be excluded from processing, even if they have a matching extension from the include list.
92
90
93
91
Patterns use the fnmatch syntax:
94
92
@@ -98,11 +96,10 @@ Patterns use the fnmatch syntax:
98
96
99
97
Example:
100
98
101
-
```yaml
102
-
exclude_patterns:
103
-
- '**/node_modules/**' # Exclude all node_modules directories
104
-
- '**/.git/**' # Exclude Git directories
105
-
- '**/test*.py' # Exclude Python files that start with 'test'
99
+
```
100
+
'**/node_modules/**' # Exclude all node_modules directories
101
+
'**/.git/**' # Exclude Git directories
102
+
'**/test*.py' # Exclude Python files that start with 'test'
106
103
```
107
104
108
105
## Best Practices
@@ -111,53 +108,65 @@ exclude_patterns:
111
108
2.**Group related patterns** with comments for better organization
112
109
3.**Be specific with extensions** to avoid processing unnecessary files
113
110
4.**Use the file preview** to verify your configuration is working as expected
114
-
5. **Check token counts** to ensure you stay within your model's context limit
111
+
5.**Check token counts** to ensure you stay within your model's context limits
115
112
116
113
## Common Configurations
117
114
115
+
Here are some typical configurations for different project types:
116
+
118
117
### For JavaScript/TypeScript Projects
119
118
120
-
```yaml
121
-
include_extensions:
122
-
- .js
123
-
- .jsx
124
-
- .ts
125
-
- .tsx
126
-
- .md
127
-
- .json
128
-
129
-
exclude_patterns:
130
-
- '**/node_modules/**'
131
-
- '**/dist/**'
132
-
- '**/build/**'
133
-
- '**/.cache/**'
134
-
- '**/coverage/**'
135
-
- '**/*.test.*'
136
-
- '**/*.spec.*'
119
+
#### include_extensions:
120
+
121
+
```
122
+
.js
123
+
.jsx
124
+
.ts
125
+
.tsx
126
+
.md
127
+
.json
128
+
```
129
+
130
+
#### #### exclude_patterns:
131
+
132
+
```
133
+
'**/node_modules/**'
134
+
'**/dist/**'
135
+
'**/build/**'
136
+
'**/.cache/**'
137
+
'**/coverage/**'
138
+
'**/*.test.*'
139
+
'**/*.spec.*'
137
140
```
138
141
139
142
### For Python Projects
140
143
141
-
```yaml
142
-
include_extensions:
143
-
- .py
144
-
- .md
145
-
- .yml
146
-
- .yaml
147
-
- .ini
148
-
149
-
exclude_patterns:
150
-
- '**/venv/**'
151
-
- '**/.venv/**'
152
-
- '**/__pycache__/**'
153
-
- '**/*.pyc'
154
-
- '**/tests/**'
155
-
- '**/.pytest_cache/**'
144
+
#### include_extensions:
145
+
146
+
```
147
+
.py
148
+
.md
149
+
.yml
150
+
.yaml
151
+
.ini
152
+
```
153
+
154
+
#### #### exclude_patterns:
155
+
156
+
```
157
+
'**/venv/**'
158
+
'**/.venv/**'
159
+
'**/__pycache__/**'
160
+
'**/*.pyc'
161
+
'**/tests/**'
162
+
'**/.pytest_cache/**'
156
163
```
157
164
158
165
## Troubleshooting
159
166
160
-
- **No files are processed**: Check that the file extensions match your project files
161
-
- **Too many files are processed**: Add more specific exclude patterns
162
-
- **Important files are excluded**: Check for conflicting exclude patterns
163
-
- **Token count is too high**: Add more exclude patterns to reduce the number of files
167
+
If you encounter issues with your configuration:
168
+
169
+
-**No files are processed**: Verify that your include extensions match your project's file types
170
+
-**Too many files are processed**: Add more specific exclude patterns to filter unwanted files
171
+
-**Important files are excluded**: Check for conflicting exclude patterns that might be too broad
172
+
-**Token count is too high**: Add more exclude patterns to reduce the number of processed files
0 commit comments