@monoes/monomindcli 1.10.25 → 1.10.26
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/.claude/helpers/router.cjs +35 -0
- package/package.json +1 -1
|
@@ -143,11 +143,46 @@ function matchSkills(task, topN = 5) {
|
|
|
143
143
|
.slice(0, topN);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
// Categories that are almost never relevant in a software project context.
|
|
147
|
+
// We exclude these from extras suggestions UNLESS the prompt has explicit
|
|
148
|
+
// keywords that opt them back in. Default-conservative: in a code repo,
|
|
149
|
+
// an "Anthropologist" for "community docs" or "Unity Architect" for a
|
|
150
|
+
// "community module" is noise, not signal.
|
|
151
|
+
const _NON_DEV_EXTRA_CATEGORIES = new Set([
|
|
152
|
+
'academic', // Anthropologist, Geographer, Historian, Narratologist, Psychologist
|
|
153
|
+
'game-development', // Unity/Unreal/Godot/Blender — irrelevant for non-game codebases
|
|
154
|
+
'marketing',
|
|
155
|
+
'sales',
|
|
156
|
+
'paid-media',
|
|
157
|
+
'design', // brand/UI/UX specialists — irrelevant for code reviews
|
|
158
|
+
]);
|
|
159
|
+
|
|
160
|
+
// Per-category opt-in keywords. If the prompt mentions one of these, that
|
|
161
|
+
// category is allowed back into extras.
|
|
162
|
+
const _CATEGORY_OPTIN_KEYWORDS = {
|
|
163
|
+
'academic': /\b(anthropolog|sociolog|cultural|ritual|kinship|ethnograph|histor(?:y|ical|ian)|geograph|narratolog|psycholog|belief\s*system)\b/i,
|
|
164
|
+
'game-development': /\b(unity|unreal|godot|blender|game\s*(?:design|dev|engine)|gameplay|shader\s*graph|level\s*design|ugc|roblox)\b/i,
|
|
165
|
+
'marketing': /\b(marketing|advertis|seo|tiktok|instagram|linkedin\s*content|brand|campaign|growth\s*hack|copywrit|blog\s*post|press\s*release|launch\s*strategy|pitch|investor)\b/i,
|
|
166
|
+
'sales': /\b(sales|prospect|outbound|pipeline|crm|cold\s*email|deal|account\s*strategy|quota|forecast|qbr)\b/i,
|
|
167
|
+
'paid-media': /\b(paid\s*media|ads?|google\s*ads|meta\s*ads|programmatic|ppc|cpa|conversion\s*tracking)\b/i,
|
|
168
|
+
'design': /\b(figma|brand\s*identity|design\s*system|ux\s*research|persona|usability|wireframe|prototype|color\s*palette|typography|moodboard)\b/i,
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
function _allowedExtraCategories(taskLower) {
|
|
172
|
+
const allowed = new Set();
|
|
173
|
+
for (const [cat, re] of Object.entries(_CATEGORY_OPTIN_KEYWORDS)) {
|
|
174
|
+
if (re.test(taskLower)) allowed.add(cat);
|
|
175
|
+
}
|
|
176
|
+
return allowed;
|
|
177
|
+
}
|
|
178
|
+
|
|
146
179
|
function matchExtras(task, topN = 8) {
|
|
147
180
|
if (typeof task !== 'string') return [];
|
|
148
181
|
const registry = loadExtrasRegistry();
|
|
149
182
|
const taskLower = task.toLowerCase();
|
|
183
|
+
const optedIn = _allowedExtraCategories(taskLower);
|
|
150
184
|
return registry.extras
|
|
185
|
+
.filter(e => !_NON_DEV_EXTRA_CATEGORIES.has(e.category) || optedIn.has(e.category))
|
|
151
186
|
.map(e => ({ slug: e.slug, name: e.name, description: e.description, category: e.category, filePath: e.filePath, score: scoreEntry(e.keywords, taskLower) }))
|
|
152
187
|
.filter(e => e.score > 0)
|
|
153
188
|
.sort((a, b) => b.score - a.score)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monoes/monomindcli",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.26",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Monomind CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|