claude-comms 1.0.34 → 1.0.36

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.
@@ -332,6 +332,10 @@ class GitHubFetcher extends EventEmitter {
332
332
  // Observability hooks
333
333
  '.claude/hooks/observability/send_event.py',
334
334
 
335
+ // Agents directory
336
+ '.agents/AGENTS.md',
337
+ '.agents/repo.md',
338
+
335
339
  // Root CLAUDE.md
336
340
  'CLAUDE.md'
337
341
  ];
@@ -339,7 +343,10 @@ class GitHubFetcher extends EventEmitter {
339
343
  const files = [];
340
344
 
341
345
  for (const filePath of knownFiles) {
342
- if (filePath.startsWith(path) || (path === '.claude' && filePath.startsWith('.claude')) || (path === 'CLAUDE.md' && filePath === 'CLAUDE.md')) {
346
+ if (filePath.startsWith(path) ||
347
+ (path === '.claude' && filePath.startsWith('.claude')) ||
348
+ (path === '.agents' && filePath.startsWith('.agents')) ||
349
+ (path === 'CLAUDE.md' && filePath === 'CLAUDE.md')) {
343
350
  try {
344
351
  const content = await this._fetchSingleFileRaw(filePath, options);
345
352
  files.push(content);
@@ -867,6 +874,12 @@ class GitHubFetcher extends EventEmitter {
867
874
  type: 'dir',
868
875
  children: [],
869
876
  files: []
877
+ },
878
+ '.agents': {
879
+ path: '.agents',
880
+ type: 'dir',
881
+ children: [],
882
+ files: []
870
883
  }
871
884
  };
872
885
 
@@ -899,18 +912,19 @@ class GitHubFetcher extends EventEmitter {
899
912
 
900
913
  // Only extract files we care about
901
914
  const isClaudeFile = actualPath.startsWith('.claude/') || actualPath === '.claude';
915
+ const isAgentsFile = actualPath.startsWith('.agents/') || actualPath === '.agents';
902
916
  const isClaudeMd = actualPath === 'CLAUDE.md';
903
917
 
904
- console.log(`DEBUG: ${actualPath} -> claude: ${isClaudeFile}, md: ${isClaudeMd}, type: ${entry.type}`);
918
+ console.log(`DEBUG: ${actualPath} -> claude: ${isClaudeFile}, agents: ${isAgentsFile}, md: ${isClaudeMd}, type: ${entry.type}`);
905
919
 
906
- if ((isClaudeFile || isClaudeMd) && entry.type === 'File') {
920
+ if ((isClaudeFile || isAgentsFile || isClaudeMd) && entry.type === 'File') {
907
921
  wantedFiles.set(filePath, actualPath);
908
922
  console.log(`DEBUG: Will extract: ${filePath} -> ${actualPath}`);
909
923
  return true;
910
924
  }
911
925
 
912
- // Also allow .claude directories to be processed for their children
913
- if (isClaudeFile && entry.type === 'Directory') {
926
+ // Also allow .claude and .agents directories to be processed for their children
927
+ if ((isClaudeFile || isAgentsFile) && entry.type === 'Directory') {
914
928
  return true;
915
929
  }
916
930
 
@@ -964,6 +978,21 @@ class GitHubFetcher extends EventEmitter {
964
978
  // Build directory structure for compatibility
965
979
  const relativePath = actualPath.slice('.claude/'.length);
966
980
  this._addToDirectoryStructure(extractedFiles['.claude'], relativePath, fileObj);
981
+ } else if (actualPath.startsWith('.agents/')) {
982
+ // Add to .agents files
983
+ const fileObj = {
984
+ path: actualPath,
985
+ content: content,
986
+ encoding: 'utf-8',
987
+ type: 'file'
988
+ };
989
+
990
+ extractedFiles['.agents'].files.push(fileObj);
991
+ console.log(`DEBUG: Added ${actualPath} to .agents files (${extractedFiles['.agents'].files.length} total)`);
992
+
993
+ // Build directory structure for compatibility
994
+ const relativePath = actualPath.slice('.agents/'.length);
995
+ this._addToDirectoryStructure(extractedFiles['.agents'], relativePath, fileObj);
967
996
  }
968
997
  }
969
998
  } catch (fileError) {
@@ -972,7 +1001,7 @@ class GitHubFetcher extends EventEmitter {
972
1001
  }
973
1002
  }
974
1003
 
975
- console.log(`DEBUG: Final result - .claude has ${extractedFiles['.claude'].files.length} files, CLAUDE.md: ${extractedFiles['CLAUDE.md'] ? 'present' : 'missing'}`);
1004
+ console.log(`DEBUG: Final result - .claude has ${extractedFiles['.claude'].files.length} files, .agents has ${extractedFiles['.agents'].files.length} files, CLAUDE.md: ${extractedFiles['CLAUDE.md'] ? 'present' : 'missing'}`);
976
1005
 
977
1006
  // Clean up temp directory
978
1007
  try {
@@ -1059,8 +1088,13 @@ async function fetchRepository(gitRef = 'main', options = {}) {
1059
1088
 
1060
1089
  return {
1061
1090
  claudeDirectory: tarballFiles['.claude'],
1091
+ agentsDirectory: tarballFiles['.agents'],
1062
1092
  claudeFile: tarballFiles['CLAUDE.md'],
1063
- files: [...(tarballFiles['.claude'].files || []), tarballFiles['CLAUDE.md']]
1093
+ files: [
1094
+ ...(tarballFiles['.claude'].files || []),
1095
+ ...(tarballFiles['.agents'].files || []),
1096
+ tarballFiles['CLAUDE.md']
1097
+ ]
1064
1098
  };
1065
1099
 
1066
1100
  } catch (tarballError) {
@@ -1069,15 +1103,17 @@ async function fetchRepository(gitRef = 'main', options = {}) {
1069
1103
 
1070
1104
  try {
1071
1105
  // Strategy 2: Individual file fetch (fallback)
1072
- const [claudeDir, claudeMd] = await Promise.all([
1106
+ const [claudeDir, agentsDir, claudeMd] = await Promise.all([
1073
1107
  fetcher.fetchDirectory('.claude', { version: gitRef }),
1108
+ fetcher.fetchDirectory('.agents', { version: gitRef }),
1074
1109
  fetcher.fetchFile('CLAUDE.md', { version: gitRef })
1075
1110
  ]);
1076
1111
 
1077
1112
  return {
1078
1113
  claudeDirectory: claudeDir,
1114
+ agentsDirectory: agentsDir,
1079
1115
  claudeFile: claudeMd,
1080
- files: [...(claudeDir.files || []), claudeMd]
1116
+ files: [...(claudeDir.files || []), ...(agentsDir.files || []), claudeMd]
1081
1117
  };
1082
1118
 
1083
1119
  } catch (fallbackError) {