@floomhq/floom-mcp-sync 1.0.33 → 1.0.35

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.
@@ -8,6 +8,91 @@ const SLUG_RE = /^[A-Za-z0-9_-]{1,128}$/;
8
8
  const FD_PATH_ROOT = "/proc/self/fd";
9
9
  const LOCK_TIMEOUT_MS = 15_000;
10
10
  const LOCK_STALE_MS = 5 * 60_000;
11
+ const SUPPORT_DIRS = new Set([
12
+ ".github",
13
+ "agents",
14
+ "assets",
15
+ "bin",
16
+ "canvas-fonts",
17
+ "checks",
18
+ "claude",
19
+ "codex",
20
+ "contrib",
21
+ "core",
22
+ "cursor",
23
+ "design",
24
+ "docs",
25
+ "evidence",
26
+ "examples",
27
+ "extension",
28
+ "helpers",
29
+ "hosts",
30
+ "kimi",
31
+ "lib",
32
+ "migrations",
33
+ "model-overlays",
34
+ "openclaw",
35
+ "opencode",
36
+ "reference",
37
+ "references",
38
+ "remotion-starter",
39
+ "scripts",
40
+ "sdk",
41
+ "schemas",
42
+ "src",
43
+ "specialists",
44
+ "supabase",
45
+ "templates",
46
+ "test",
47
+ "tests",
48
+ "themes",
49
+ "vendor",
50
+ ]);
51
+ const ROOT_SUPPORT_FILES = new Set([
52
+ ".env.example",
53
+ "ACKNOWLEDGEMENTS.md",
54
+ "AGENTS.md",
55
+ "ARCHITECTURE.md",
56
+ "BROWSER.md",
57
+ "CHANGELOG.md",
58
+ "CLAUDE.md",
59
+ "CONTRIBUTING.md",
60
+ "DESIGN.md",
61
+ "ETHOS.md",
62
+ "LICENSE",
63
+ "LICENSE.md",
64
+ "LICENSE.txt",
65
+ "PLAN-snapshot-dropdown-interactive.md",
66
+ "README.md",
67
+ "REMOTION_PROTOCOL.md",
68
+ "SKILL.md.tmpl",
69
+ "TODOS.md",
70
+ "TODOS-format.md",
71
+ "USING_GBRAIN_WITH_GSTACK.md",
72
+ "VERSION",
73
+ ".gitlab-ci.yml",
74
+ "actionlint.yaml",
75
+ "bun.lock",
76
+ "checklist.md",
77
+ "conductor.json",
78
+ "design-checklist.md",
79
+ "dx-hall-of-fame.md",
80
+ "editing.md",
81
+ "forms.md",
82
+ "greptile-triage.md",
83
+ "instructions.md",
84
+ "nanobanana.py",
85
+ "package.json",
86
+ "plan.md",
87
+ "pptxgenjs.md",
88
+ "reference.md",
89
+ "requirements.txt",
90
+ "setup",
91
+ "skill.md",
92
+ "slop-scan.config.json",
93
+ "style_guidelines.md",
94
+ "theme-showcase.pdf",
95
+ ]);
11
96
  export function syncManifestPath() {
12
97
  if (process.env.FLOOM_SYNC_MANIFEST_PATH)
13
98
  return expandHome(process.env.FLOOM_SYNC_MANIFEST_PATH);
@@ -43,10 +128,12 @@ function isEntryForKey(key, value) {
43
128
  function isPackageFilePath(packagePath) {
44
129
  if (packagePath.length === 1 && packagePath[0] === "SKILL.md")
45
130
  return true;
131
+ if (packagePath.length === 1 && ROOT_SUPPORT_FILES.has(packagePath[0] ?? ""))
132
+ return true;
46
133
  if (packagePath.length < 2)
47
134
  return false;
48
135
  const first = packagePath[0];
49
- if (first === undefined || !["references", "examples", "scripts", "assets"].includes(first))
136
+ if (first === undefined || !SUPPORT_DIRS.has(first))
50
137
  return false;
51
138
  return packagePath.every((segment) => segment !== "." && segment !== ".." && segment.length > 0);
52
139
  }
package/dist/lib/paths.js CHANGED
@@ -5,6 +5,12 @@ export function configPath() {
5
5
  return process.env.FLOOM_CONFIG_PATH ?? join(homedir(), ".floom", "config.json");
6
6
  }
7
7
  export function skillsDir() {
8
+ if (!process.env.FLOOM_SKILLS_DIR &&
9
+ !process.env.FLOOM_ALLOW_NATIVE_CODEX_SYNC &&
10
+ process.env.CODEX_SKILLS_DIR &&
11
+ resolve(expandHome(process.env.CODEX_SKILLS_DIR)) === resolve(join(homedir(), ".codex", "skills"))) {
12
+ return join(homedir(), ".floom", "skill-cache", "codex");
13
+ }
8
14
  return expandHome(process.env.FLOOM_SKILLS_DIR
9
15
  ?? process.env.CLAUDE_SKILLS_DIR
10
16
  ?? process.env.CODEX_SKILLS_DIR
package/dist/server.js CHANGED
@@ -5,7 +5,7 @@ import { autoSync } from "./auto-sync.js";
5
5
  import { getSkill } from "./tools/get.js";
6
6
  import { searchSkills } from "./tools/search.js";
7
7
  import { syncStatus } from "./tools/status.js";
8
- const SERVER_VERSION = "1.0.33";
8
+ const SERVER_VERSION = "1.0.35";
9
9
  const DEFAULT_INTERVAL_MS = 60_000;
10
10
  const MIN_INTERVAL_MS = 10_000;
11
11
  const SEARCH_TYPES = new Set(["knowledge", "instruction", "workflow", "skill"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floomhq/floom-mcp-sync",
3
- "version": "1.0.33",
3
+ "version": "1.0.35",
4
4
  "description": "Lightweight Floom MCP server for installing, publishing, and startup-syncing skills.",
5
5
  "license": "MIT",
6
6
  "type": "module",