@slycode/slycode 0.1.19 → 0.2.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/dist/web/.next/BUILD_ID +1 -1
- package/dist/web/.next/build-manifest.json +2 -2
- package/dist/web/.next/server/app/_global-error.html +2 -2
- package/dist/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.html +1 -1
- package/dist/web/.next/server/app/_not-found.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/app/project/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__46b023d4._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__4c7995bf._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__4d0d3464._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__543058c2._.js +3 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__6d330d40._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__884d73e4._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__949bb248._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__949d814c._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__aa814a86._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__ad64e04f._.js +2 -2
- package/dist/web/.next/server/chunks/[root-of-the-server]__baa99257._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__bbb4b3ac._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__bf286c26._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__ce429522._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__d38c7a96._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__e9b0e744._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__f1fe18e6._.js +2 -2
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__677b7660._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__79c0188d._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/src_lib_registry_ts_2fc87c9c._.js +1 -1
- package/dist/web/.next/server/pages/404.html +1 -1
- package/dist/web/.next/server/pages/500.html +2 -2
- package/dist/web/.next/static/chunks/7660448872d80e27.js +4 -0
- package/dist/web/.next/static/chunks/{49ff6bc5c5e30161.js → b694f741bb34ac84.js} +1 -1
- package/dist/web/src/components/ClaudeTerminalPanel.tsx +4 -0
- package/dist/web/src/lib/store-scanner.ts +70 -10
- package/dist/web/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/templates/kanban-seed.json +1 -1
- package/dist/store/.backups/actions/onboard.md +0 -33
- package/dist/store/.backups/actions/review.md +0 -37
- package/dist/store/.backups/actions/show-card.md +0 -20
- package/dist/store/.backups/checkpoint/SKILL.md +0 -43
- package/dist/store/.backups/context-priming/SKILL.md +0 -153
- package/dist/store/.backups/context-priming/references/area-index.md +0 -101
- package/dist/store/.backups/context-priming/references/areas/claude-actions.md +0 -120
- package/dist/store/.backups/context-priming/references/areas/messaging.md +0 -177
- package/dist/store/.backups/context-priming/references/areas/scripts-deployment.md +0 -138
- package/dist/store/.backups/context-priming/references/areas/skills.md +0 -135
- package/dist/store/.backups/context-priming/references/areas/terminal-bridge.md +0 -232
- package/dist/store/.backups/context-priming/references/areas/web-frontend.md +0 -252
- package/dist/store/.backups/context-priming/references/maintenance.md +0 -128
- package/dist/store/.ignored-updates.json +0 -37
- package/dist/store/actions/analyse-implementation.md +0 -72
- package/dist/store/actions/archive.md +0 -36
- package/dist/store/actions/clear.md +0 -13
- package/dist/store/actions/complete.md +0 -34
- package/dist/store/actions/continue.md +0 -20
- package/dist/store/agents/doc-updater.md +0 -619
- package/dist/store/mcp/context7.json +0 -8
- package/dist/store/skills/claude-code-docs-maintainer/SKILL.md +0 -168
- package/dist/store/skills/create-command/SKILL.md +0 -92
- package/dist/store/skills/doc-discovery/SKILL.md +0 -18
- package/dist/store/skills/doc-update/SKILL.md +0 -15
- package/dist/store/skills/dummy/SKILL.md +0 -22
- package/dist/store/skills/interactive-explainer/SKILL.md +0 -557
- package/dist/store/skills/interactive-explainer/assets/base_template.html +0 -780
- package/dist/store/skills/interactive-explainer/references/design_patterns.md +0 -486
- package/dist/store/skills/interactive-explainer/references/visualization_libraries.md +0 -512
- package/dist/store/skills/problem_summary/SKILL.md +0 -11
- package/dist/store/skills/reference-fetch/SKILL.md +0 -206
- package/dist/store/skills/skill-creator/LICENSE.txt +0 -202
- package/dist/store/skills/skill-creator/SKILL.md +0 -246
- package/dist/store/skills/skill-creator/scripts/init_skill.py +0 -303
- package/dist/store/skills/skill-creator/scripts/package_skill.py +0 -110
- package/dist/store/skills/skill-creator/scripts/quick_validate.py +0 -65
- package/dist/web/.next/static/chunks/600359dcf0f0daac.js +0 -4
- /package/dist/web/.next/static/{ilZDkIBsZqGYxOIGxgcnT → BbBq5FNe-sYRKe8Pc24UW}/_buildManifest.js +0 -0
- /package/dist/web/.next/static/{ilZDkIBsZqGYxOIGxgcnT → BbBq5FNe-sYRKe8Pc24UW}/_clientMiddlewareManifest.json +0 -0
- /package/dist/web/.next/static/{ilZDkIBsZqGYxOIGxgcnT → BbBq5FNe-sYRKe8Pc24UW}/_ssgManifest.js +0 -0
|
@@ -321,6 +321,10 @@ export function ClaudeTerminalPanel({
|
|
|
321
321
|
onSessionChange?.(data);
|
|
322
322
|
setShowTerminal(true);
|
|
323
323
|
setTerminalKey((k) => k + 1);
|
|
324
|
+
// File was created at session start — clear the warning
|
|
325
|
+
if (instructionFileCheck?.needed && createInstructionFile) {
|
|
326
|
+
setInstructionFileCheck(null);
|
|
327
|
+
}
|
|
324
328
|
}
|
|
325
329
|
} catch (err) {
|
|
326
330
|
console.error('Failed to start session:', err);
|
|
@@ -17,6 +17,36 @@ function getStorePath(): string {
|
|
|
17
17
|
return path.join(getSlycodeRoot(), 'store');
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
/** Load manifest lists. Returns null if manifest not found. */
|
|
21
|
+
function loadManifest(): { skills: string[]; actions: string[]; agents: string[]; mcp: string[] } | null {
|
|
22
|
+
// Try multiple locations: dev repo, then package dist
|
|
23
|
+
const candidates = [
|
|
24
|
+
path.join(getSlycodeRoot(), 'build', 'store-manifest.js'),
|
|
25
|
+
path.join(getSlycodeRoot(), 'node_modules', '@slycode', 'slycode', 'build', 'store-manifest.js'),
|
|
26
|
+
];
|
|
27
|
+
for (const p of candidates) {
|
|
28
|
+
try {
|
|
29
|
+
if (fs.existsSync(p)) {
|
|
30
|
+
// Use dynamic import workaround — read and parse manually to avoid require()
|
|
31
|
+
const content = fs.readFileSync(p, 'utf-8');
|
|
32
|
+
const mod: Record<string, unknown> = {};
|
|
33
|
+
const fn = new Function('module', 'exports', content);
|
|
34
|
+
fn(mod, mod);
|
|
35
|
+
const result = (mod as { exports?: { skills?: string[]; actions?: string[]; agents?: string[]; mcp?: string[] } }).exports;
|
|
36
|
+
if (result?.skills) return {
|
|
37
|
+
skills: result.skills,
|
|
38
|
+
actions: result.actions || [],
|
|
39
|
+
agents: result.agents || [],
|
|
40
|
+
mcp: result.mcp || [],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
} catch {
|
|
44
|
+
// Try next candidate
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
|
|
20
50
|
// ============================================================================
|
|
21
51
|
// Store Directory Scanning
|
|
22
52
|
// ============================================================================
|
|
@@ -124,26 +154,56 @@ function scanStoreMcp(storePath: string): StoreAssetInfo[] {
|
|
|
124
154
|
// ============================================================================
|
|
125
155
|
|
|
126
156
|
/**
|
|
127
|
-
* Full store scan — returns
|
|
157
|
+
* Full store scan — returns only manifest-approved assets.
|
|
128
158
|
*/
|
|
129
159
|
export function scanStore(): StoreData {
|
|
130
160
|
const storePath = getStorePath();
|
|
161
|
+
const manifest = loadManifest();
|
|
162
|
+
|
|
163
|
+
let skills = scanStoreAssetDir(storePath, 'skill');
|
|
164
|
+
let agents = scanStoreAssetDir(storePath, 'agent');
|
|
165
|
+
let mcp = scanStoreMcp(storePath);
|
|
131
166
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
167
|
+
if (manifest) {
|
|
168
|
+
if (manifest.skills) {
|
|
169
|
+
const allowed = new Set(manifest.skills);
|
|
170
|
+
skills = skills.filter(s => allowed.has(s.name));
|
|
171
|
+
}
|
|
172
|
+
if (manifest.agents) {
|
|
173
|
+
const allowed = new Set(manifest.agents);
|
|
174
|
+
agents = agents.filter(a => allowed.has(a.name));
|
|
175
|
+
}
|
|
176
|
+
if (manifest.mcp) {
|
|
177
|
+
const allowed = new Set(manifest.mcp);
|
|
178
|
+
mcp = mcp.filter(m => allowed.has(m.name));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return { skills, agents, mcp };
|
|
137
183
|
}
|
|
138
184
|
|
|
139
185
|
/**
|
|
140
186
|
* Get flat list of all store assets (skills + agents).
|
|
141
187
|
* Used as the master source for project matrix comparison.
|
|
188
|
+
* Skills are filtered by manifest.
|
|
142
189
|
*/
|
|
143
190
|
export function getStoreAssets(): StoreAssetInfo[] {
|
|
144
191
|
const storePath = getStorePath();
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
192
|
+
const manifest = loadManifest();
|
|
193
|
+
|
|
194
|
+
let skills = scanStoreAssetDir(storePath, 'skill');
|
|
195
|
+
let agents = scanStoreAssetDir(storePath, 'agent');
|
|
196
|
+
|
|
197
|
+
if (manifest) {
|
|
198
|
+
if (manifest.skills) {
|
|
199
|
+
const allowed = new Set(manifest.skills);
|
|
200
|
+
skills = skills.filter(s => allowed.has(s.name));
|
|
201
|
+
}
|
|
202
|
+
if (manifest.agents) {
|
|
203
|
+
const allowed = new Set(manifest.agents);
|
|
204
|
+
agents = agents.filter(a => allowed.has(a.name));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return [...skills, ...agents];
|
|
149
209
|
}
|