skillhub/web/src
FenjuFu 0fbc55f917 feat(publish): allow uploading a skill folder directly
Publishing required a hand-made .zip. Local agent skills live as folders,
and repackaging them by hand often smuggles in tool metadata (__MACOSX/,
.DS_Store, ...) that clutters the package (#737).

Add an "upload a folder" option to the publish dropzone: pick a folder
(webkitdirectory), and the browser packages it into a clean STORE-method
zip via a dependency-free writer, dropping VCS/build/OS junk (.git/,
node_modules/, __pycache__/, .DS_Store, ...). The resulting zip flows
through the exact same upload/publish path, and the server already strips
a single root directory, so paths are preserved as-is.

Packaging (folder-zip.ts) is isolated and unit-tested (CRC-32 vectors, zip
structure, junk filtering); the UploadZone gains an optional onFolderSelect
prop so existing callers are unaffected.

Closes #737

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
2026-08-25 20:15:39 +08:00
..
api feat(namespace): add admin namespace management 2026-08-12 12:39:24 +08:00
app feat(namespace): add admin namespace management 2026-08-12 12:39:24 +08:00
docs fix(publish): accept case-insensitive SKILL.md uploads 2026-06-11 16:34:13 +08:00
features feat(publish): allow uploading a skill folder directly 2026-08-25 20:15:39 +08:00
i18n feat(publish): allow uploading a skill folder directly 2026-08-25 20:15:39 +08:00
pages feat(publish): allow uploading a skill folder directly 2026-08-25 20:15:39 +08:00
shared feat(namespace): add admin namespace management 2026-08-12 12:39:24 +08:00
types refactor: address code review findings from 2026-03-22 2026-03-23 13:48:23 +08:00
bootstrap.ts fix(web): restore compatibility with Chromium 83 (Debian 10) 2026-05-09 13:55:50 +08:00
index.css fix: skill upload constraints, rejected label, and last-version guard (#82) 2026-03-18 16:40:51 +08:00
legacy-polyfills.ts fix(web): restore compatibility with Chromium 83 (Debian 10) 2026-05-09 13:55:50 +08:00
main.tsx docs: enrich frontend code documentation 2026-03-19 13:37:21 +08:00
vite-env.d.ts feat(web): support configurable base-path deployment 2026-08-05 12:50:26 +08:00