From 6210128ab1e33f95b586251f5db99a98e2a1b24a Mon Sep 17 00:00:00 2001 From: Aaron Powell Date: Tue, 10 Feb 2026 14:31:07 +1100 Subject: [PATCH] Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- eng/collection-to-plugin.mjs | 4 ++++ eng/constants.mjs | 21 +++++++++++++++++++-- eng/validate-collections.mjs | 2 +- hooks/session-logger/log-session-start.sh | 4 ++-- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/eng/collection-to-plugin.mjs b/eng/collection-to-plugin.mjs index ada3e0fb..54e7c5ba 100644 --- a/eng/collection-to-plugin.mjs +++ b/eng/collection-to-plugin.mjs @@ -159,6 +159,10 @@ function getDisplayName(filePath, kind) { } else if (kind === "instruction") { return basename.replace(".instructions.md", ""); } else if (kind === "hook") { + // For folder-based hooks like hooks//README.md, use the folder name. + if (basename.toLowerCase() === "readme.md") { + return path.basename(path.dirname(filePath)); + } return basename.replace(".hook.md", ""); } else if (kind === "skill") { return path.basename(filePath); diff --git a/eng/constants.mjs b/eng/constants.mjs index 97d2ef12..9e7e41da 100644 --- a/eng/constants.mjs +++ b/eng/constants.mjs @@ -164,7 +164,24 @@ const SKILL_DESCRIPTION_MAX_LENGTH = 1024; const DOCS_DIR = path.join(ROOT_FOLDER, "docs"); export { - AGENTS_DIR, AKA_INSTALL_URLS, COLLECTIONS_DIR, - COOKBOOK_DIR, DOCS_DIR, HOOKS_DIR, INSTRUCTIONS_DIR, MAX_COLLECTION_ITEMS, PROMPTS_DIR, repoBaseUrl, ROOT_FOLDER, SKILL_DESCRIPTION_MAX_LENGTH, SKILL_DESCRIPTION_MIN_LENGTH, SKILL_NAME_MAX_LENGTH, SKILL_NAME_MIN_LENGTH, SKILLS_DIR, TEMPLATES, vscodeInsidersInstallImage, vscodeInstallImage + AGENTS_DIR, + AKA_INSTALL_URLS, + COLLECTIONS_DIR, + COOKBOOK_DIR, + DOCS_DIR, + HOOKS_DIR, + INSTRUCTIONS_DIR, + MAX_COLLECTION_ITEMS, + PROMPTS_DIR, + repoBaseUrl, + ROOT_FOLDER, + SKILL_DESCRIPTION_MAX_LENGTH, + SKILL_DESCRIPTION_MIN_LENGTH, + SKILL_NAME_MAX_LENGTH, + SKILL_NAME_MIN_LENGTH, + SKILLS_DIR, + TEMPLATES, + vscodeInsidersInstallImage, + vscodeInstallImage }; diff --git a/eng/validate-collections.mjs b/eng/validate-collections.mjs index 77bb5806..bc20f233 100644 --- a/eng/validate-collections.mjs +++ b/eng/validate-collections.mjs @@ -263,7 +263,7 @@ function validateCollectionItems(items) { // Validate hook-specific frontmatter if (item.kind === "hook") { - const hookValidation = validateHookFile(filePath, i + 1); + const hookValidation = validateHookFile(filePath); if (hookValidation) { return hookValidation; } diff --git a/hooks/session-logger/log-session-start.sh b/hooks/session-logger/log-session-start.sh index 21bd6e2f..64dd0deb 100755 --- a/hooks/session-logger/log-session-start.sh +++ b/hooks/session-logger/log-session-start.sh @@ -19,8 +19,8 @@ mkdir -p logs/copilot TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ") CWD=$(pwd) -# Log session start -echo "{\"timestamp\":\"$TIMESTAMP\",\"event\":\"sessionStart\",\"cwd\":\"$CWD\"}" >> logs/copilot/session.log +# Log session start (use jq for proper JSON encoding) +jq -Rn --arg timestamp "$TIMESTAMP" --arg cwd "$CWD" '{"timestamp":$timestamp,"event":"sessionStart","cwd":$cwd}' >> logs/copilot/session.log echo "📝 Session logged" exit 0