bmad-method 4.35.3 → 4.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/discord.yaml +16 -0
- package/CHANGELOG.md +8 -2
- package/README.md +36 -3
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +102 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +13 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +13 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +25 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +34 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +70 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +26 -0
- package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +109 -0
- package/package.json +2 -2
- package/tools/flattener/aggregate.js +76 -0
- package/tools/flattener/binary.js +53 -0
- package/tools/flattener/discovery.js +70 -0
- package/tools/flattener/files.js +35 -0
- package/tools/flattener/ignoreRules.js +176 -0
- package/tools/flattener/main.js +113 -466
- package/tools/flattener/projectRoot.js +45 -0
- package/tools/flattener/prompts.js +44 -0
- package/tools/flattener/stats.js +30 -0
- package/tools/flattener/xml.js +86 -0
- package/tools/installer/package.json +1 -1
- package/tools/shared/bannerArt.js +105 -0
- package/tools/installer/package-lock.json +0 -906
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
const fs = require("fs-extra");
|
|
2
|
+
const path = require("node:path");
|
|
3
|
+
const ignore = require("ignore");
|
|
4
|
+
|
|
5
|
+
// Central default ignore patterns for discovery and filtering.
|
|
6
|
+
// These complement .gitignore and are applied regardless of VCS presence.
|
|
7
|
+
const DEFAULT_PATTERNS = [
|
|
8
|
+
// Project/VCS
|
|
9
|
+
"**/.bmad-core/**",
|
|
10
|
+
"**/.git/**",
|
|
11
|
+
"**/.svn/**",
|
|
12
|
+
"**/.hg/**",
|
|
13
|
+
"**/.bzr/**",
|
|
14
|
+
// Package/build outputs
|
|
15
|
+
"**/node_modules/**",
|
|
16
|
+
"**/bower_components/**",
|
|
17
|
+
"**/vendor/**",
|
|
18
|
+
"**/packages/**",
|
|
19
|
+
"**/build/**",
|
|
20
|
+
"**/dist/**",
|
|
21
|
+
"**/out/**",
|
|
22
|
+
"**/target/**",
|
|
23
|
+
"**/bin/**",
|
|
24
|
+
"**/obj/**",
|
|
25
|
+
"**/release/**",
|
|
26
|
+
"**/debug/**",
|
|
27
|
+
// Environments
|
|
28
|
+
"**/.venv/**",
|
|
29
|
+
"**/venv/**",
|
|
30
|
+
"**/.virtualenv/**",
|
|
31
|
+
"**/virtualenv/**",
|
|
32
|
+
"**/env/**",
|
|
33
|
+
// Logs & coverage
|
|
34
|
+
"**/*.log",
|
|
35
|
+
"**/npm-debug.log*",
|
|
36
|
+
"**/yarn-debug.log*",
|
|
37
|
+
"**/yarn-error.log*",
|
|
38
|
+
"**/lerna-debug.log*",
|
|
39
|
+
"**/coverage/**",
|
|
40
|
+
"**/.nyc_output/**",
|
|
41
|
+
"**/.coverage/**",
|
|
42
|
+
"**/test-results/**",
|
|
43
|
+
// Caches & temp
|
|
44
|
+
"**/.cache/**",
|
|
45
|
+
"**/.tmp/**",
|
|
46
|
+
"**/.temp/**",
|
|
47
|
+
"**/tmp/**",
|
|
48
|
+
"**/temp/**",
|
|
49
|
+
"**/.sass-cache/**",
|
|
50
|
+
// IDE/editor
|
|
51
|
+
"**/.vscode/**",
|
|
52
|
+
"**/.idea/**",
|
|
53
|
+
"**/*.swp",
|
|
54
|
+
"**/*.swo",
|
|
55
|
+
"**/*~",
|
|
56
|
+
"**/.project",
|
|
57
|
+
"**/.classpath",
|
|
58
|
+
"**/.settings/**",
|
|
59
|
+
"**/*.sublime-project",
|
|
60
|
+
"**/*.sublime-workspace",
|
|
61
|
+
// Lockfiles
|
|
62
|
+
"**/package-lock.json",
|
|
63
|
+
"**/yarn.lock",
|
|
64
|
+
"**/pnpm-lock.yaml",
|
|
65
|
+
"**/composer.lock",
|
|
66
|
+
"**/Pipfile.lock",
|
|
67
|
+
// Python/Java/compiled artifacts
|
|
68
|
+
"**/*.pyc",
|
|
69
|
+
"**/*.pyo",
|
|
70
|
+
"**/*.pyd",
|
|
71
|
+
"**/__pycache__/**",
|
|
72
|
+
"**/*.class",
|
|
73
|
+
"**/*.jar",
|
|
74
|
+
"**/*.war",
|
|
75
|
+
"**/*.ear",
|
|
76
|
+
"**/*.o",
|
|
77
|
+
"**/*.so",
|
|
78
|
+
"**/*.dll",
|
|
79
|
+
"**/*.exe",
|
|
80
|
+
// System junk
|
|
81
|
+
"**/lib64/**",
|
|
82
|
+
"**/.venv/lib64/**",
|
|
83
|
+
"**/venv/lib64/**",
|
|
84
|
+
"**/_site/**",
|
|
85
|
+
"**/.jekyll-cache/**",
|
|
86
|
+
"**/.jekyll-metadata",
|
|
87
|
+
"**/.DS_Store",
|
|
88
|
+
"**/.DS_Store?",
|
|
89
|
+
"**/._*",
|
|
90
|
+
"**/.Spotlight-V100/**",
|
|
91
|
+
"**/.Trashes/**",
|
|
92
|
+
"**/ehthumbs.db",
|
|
93
|
+
"**/Thumbs.db",
|
|
94
|
+
"**/desktop.ini",
|
|
95
|
+
// XML outputs
|
|
96
|
+
"**/flattened-codebase.xml",
|
|
97
|
+
"**/repomix-output.xml",
|
|
98
|
+
// Images, media, fonts, archives, docs, dylibs
|
|
99
|
+
"**/*.jpg",
|
|
100
|
+
"**/*.jpeg",
|
|
101
|
+
"**/*.png",
|
|
102
|
+
"**/*.gif",
|
|
103
|
+
"**/*.bmp",
|
|
104
|
+
"**/*.ico",
|
|
105
|
+
"**/*.svg",
|
|
106
|
+
"**/*.pdf",
|
|
107
|
+
"**/*.doc",
|
|
108
|
+
"**/*.docx",
|
|
109
|
+
"**/*.xls",
|
|
110
|
+
"**/*.xlsx",
|
|
111
|
+
"**/*.ppt",
|
|
112
|
+
"**/*.pptx",
|
|
113
|
+
"**/*.zip",
|
|
114
|
+
"**/*.tar",
|
|
115
|
+
"**/*.gz",
|
|
116
|
+
"**/*.rar",
|
|
117
|
+
"**/*.7z",
|
|
118
|
+
"**/*.dylib",
|
|
119
|
+
"**/*.mp3",
|
|
120
|
+
"**/*.mp4",
|
|
121
|
+
"**/*.avi",
|
|
122
|
+
"**/*.mov",
|
|
123
|
+
"**/*.wav",
|
|
124
|
+
"**/*.ttf",
|
|
125
|
+
"**/*.otf",
|
|
126
|
+
"**/*.woff",
|
|
127
|
+
"**/*.woff2",
|
|
128
|
+
// Env files
|
|
129
|
+
"**/.env",
|
|
130
|
+
"**/.env.*",
|
|
131
|
+
"**/*.env",
|
|
132
|
+
// Misc
|
|
133
|
+
"**/junit.xml",
|
|
134
|
+
];
|
|
135
|
+
|
|
136
|
+
async function readIgnoreFile(filePath) {
|
|
137
|
+
try {
|
|
138
|
+
if (!await fs.pathExists(filePath)) return [];
|
|
139
|
+
const content = await fs.readFile(filePath, "utf8");
|
|
140
|
+
return content
|
|
141
|
+
.split("\n")
|
|
142
|
+
.map((l) => l.trim())
|
|
143
|
+
.filter((l) => l && !l.startsWith("#"));
|
|
144
|
+
} catch (err) {
|
|
145
|
+
return [];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// Backward compatible export matching previous signature
|
|
150
|
+
async function parseGitignore(gitignorePath) {
|
|
151
|
+
return readIgnoreFile(gitignorePath);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
async function loadIgnore(rootDir, extraPatterns = []) {
|
|
155
|
+
const ig = ignore();
|
|
156
|
+
const gitignorePath = path.join(rootDir, ".gitignore");
|
|
157
|
+
const patterns = [
|
|
158
|
+
...await readIgnoreFile(gitignorePath),
|
|
159
|
+
...DEFAULT_PATTERNS,
|
|
160
|
+
...extraPatterns,
|
|
161
|
+
];
|
|
162
|
+
// De-duplicate
|
|
163
|
+
const unique = Array.from(new Set(patterns.map((p) => String(p))));
|
|
164
|
+
ig.add(unique);
|
|
165
|
+
|
|
166
|
+
// Include-only filter: return true if path should be included
|
|
167
|
+
const filter = (relativePath) => !ig.ignores(relativePath.replace(/\\/g, "/"));
|
|
168
|
+
|
|
169
|
+
return { ig, filter, patterns: unique };
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
module.exports = {
|
|
173
|
+
DEFAULT_PATTERNS,
|
|
174
|
+
parseGitignore,
|
|
175
|
+
loadIgnore,
|
|
176
|
+
};
|