climemo 0.3.3 → 0.3.4

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.
@@ -4,7 +4,7 @@ import { resolve, relative, basename } from "path";
4
4
  import { execSync } from "child_process";
5
5
  import { apiRequest } from "../lib/api.js";
6
6
  import { resolveProject } from "../lib/project.js";
7
- import { getGitInfo, parseGitHubRemote } from "../lib/git.js";
7
+ import { getGitInfo, parseGitRemote } from "../lib/git.js";
8
8
  /**
9
9
  * Find markdown/text files that are likely project documentation.
10
10
  */
@@ -22,16 +22,36 @@ function findDocFiles(rootPath) {
22
22
  return [];
23
23
  }
24
24
  }
25
+ function hasCli(cmd) {
26
+ try {
27
+ execSync(`${cmd} --version`, { stdio: ["pipe", "pipe", "pipe"] });
28
+ return true;
29
+ }
30
+ catch {
31
+ return false;
32
+ }
33
+ }
25
34
  /**
26
- * Fetch GitHub repo collaborators using the local `gh` CLI.
27
- * Returns null if gh is not installed or not authenticated.
35
+ * Fetch repo collaborators from any supported platform.
36
+ * Uses the platform's CLI tool (gh, glab) or API.
28
37
  */
29
- function fetchGitHubCollaborators(owner, repo) {
38
+ function fetchCollaborators(remote) {
39
+ switch (remote.platform) {
40
+ case "github":
41
+ return fetchGitHubCollaborators(remote);
42
+ case "gitlab":
43
+ return fetchGitLabMembers(remote);
44
+ case "bitbucket":
45
+ return fetchBitbucketMembers(remote);
46
+ default:
47
+ return null;
48
+ }
49
+ }
50
+ function fetchGitHubCollaborators(remote) {
51
+ if (!hasCli("gh"))
52
+ return null;
30
53
  try {
31
- // Check if gh CLI is available
32
- execSync("gh --version", { stdio: ["pipe", "pipe", "pipe"] });
33
- // Fetch collaborators via gh api
34
- const output = execSync(`gh api repos/${owner}/${repo}/collaborators --paginate --jq '.[] | {login: .login, id: .id}'`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
54
+ const output = execSync(`gh api repos/${remote.owner}/${remote.repo}/collaborators --paginate --jq '.[] | {login: .login, id: .id}'`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
35
55
  const collaborators = [];
36
56
  for (const line of output.trim().split("\n")) {
37
57
  if (!line.trim())
@@ -40,22 +60,16 @@ function fetchGitHubCollaborators(owner, repo) {
40
60
  const parsed = JSON.parse(line);
41
61
  collaborators.push({ login: parsed.login, id: parsed.id });
42
62
  }
43
- catch {
44
- // skip malformed lines
45
- }
63
+ catch { /* skip */ }
46
64
  }
47
- // Try to fetch emails for each collaborator
65
+ // Fetch emails
48
66
  for (const collab of collaborators) {
49
67
  try {
50
- const userOutput = execSync(`gh api users/${collab.login} --jq '.email'`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
51
- const email = userOutput.trim();
52
- if (email && email !== "null") {
68
+ const email = execSync(`gh api users/${collab.login} --jq '.email'`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }).trim();
69
+ if (email && email !== "null")
53
70
  collab.email = email;
54
- }
55
- }
56
- catch {
57
- // skip — email is optional
58
71
  }
72
+ catch { /* skip */ }
59
73
  }
60
74
  return collaborators;
61
75
  }
@@ -63,11 +77,82 @@ function fetchGitHubCollaborators(owner, repo) {
63
77
  return null;
64
78
  }
65
79
  }
80
+ function fetchGitLabMembers(remote) {
81
+ // Try glab CLI first
82
+ if (hasCli("glab")) {
83
+ try {
84
+ const projectPath = encodeURIComponent(`${remote.owner}/${remote.repo}`);
85
+ const output = execSync(`glab api projects/${projectPath}/members/all --paginate`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
86
+ const members = JSON.parse(output);
87
+ if (Array.isArray(members)) {
88
+ return members.map((m) => ({
89
+ login: m.username,
90
+ id: m.id,
91
+ email: m.email || null,
92
+ }));
93
+ }
94
+ }
95
+ catch { /* fall through */ }
96
+ }
97
+ // Fallback: try GitLab API with GITLAB_TOKEN env var
98
+ const token = process.env.GITLAB_TOKEN || process.env.GITLAB_PRIVATE_TOKEN;
99
+ if (token) {
100
+ try {
101
+ const projectPath = encodeURIComponent(`${remote.owner}/${remote.repo}`);
102
+ const apiUrl = `https://${remote.host}/api/v4/projects/${projectPath}/members/all`;
103
+ const output = execSync(`curl -sf -H "PRIVATE-TOKEN: ${token}" "${apiUrl}"`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
104
+ const members = JSON.parse(output);
105
+ if (Array.isArray(members)) {
106
+ return members.map((m) => ({
107
+ login: m.username,
108
+ id: m.id,
109
+ email: m.email || null,
110
+ }));
111
+ }
112
+ }
113
+ catch { /* fall through */ }
114
+ }
115
+ return null;
116
+ }
117
+ function fetchBitbucketMembers(remote) {
118
+ // Try Bitbucket API with BB_TOKEN or BITBUCKET_TOKEN env var
119
+ const token = process.env.BB_TOKEN || process.env.BITBUCKET_TOKEN || process.env.BITBUCKET_APP_PASSWORD;
120
+ const user = process.env.BITBUCKET_USERNAME;
121
+ if (token) {
122
+ try {
123
+ const authHeader = user ? `-u "${user}:${token}"` : `-H "Authorization: Bearer ${token}"`;
124
+ const apiUrl = `https://api.bitbucket.org/2.0/repositories/${remote.owner}/${remote.repo}/permissions-config/users`;
125
+ const output = execSync(`curl -sf ${authHeader} "${apiUrl}"`, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
126
+ const data = JSON.parse(output);
127
+ if (data.values && Array.isArray(data.values)) {
128
+ return data.values.map((v, i) => ({
129
+ login: v.user.nickname || v.user.display_name,
130
+ id: i + 1, // Bitbucket uses UUIDs, use index as numeric ID
131
+ email: null,
132
+ }));
133
+ }
134
+ }
135
+ catch { /* fall through */ }
136
+ }
137
+ return null;
138
+ }
139
+ function getPlatformHint(platform) {
140
+ switch (platform) {
141
+ case "github":
142
+ return "Install gh CLI and run 'gh auth login' to enable team sync.";
143
+ case "gitlab":
144
+ return "Install glab CLI (or set GITLAB_TOKEN env var) to enable team sync.";
145
+ case "bitbucket":
146
+ return "Set BITBUCKET_TOKEN (and BITBUCKET_USERNAME for app passwords) to enable team sync.";
147
+ default:
148
+ return "Platform CLI not available for team sync.";
149
+ }
150
+ }
66
151
  export const syncCommand = new Command("sync")
67
152
  .description("Sync local docs to your climemo project (auto-detects git repo)")
68
153
  .option("--project <projectId>", "Project ID (auto-detected from git repo if omitted)")
69
154
  .option("--dry-run", "Show what would be synced without making changes")
70
- .option("--no-team", "Skip auto-inviting GitHub repo collaborators")
155
+ .option("--no-team", "Skip auto-inviting repo collaborators")
71
156
  .option("--pattern <glob>", "Additional file pattern to include (e.g. '**/*.txt')")
72
157
  .action(async (options, cmd) => {
73
158
  const globalOpts = cmd.optsWithGlobals();
@@ -196,24 +281,23 @@ export const syncCommand = new Command("sync")
196
281
  if (conflictDetails.length > 0) {
197
282
  result.conflict_details = conflictDetails;
198
283
  }
199
- // Auto-sync GitHub collaborators (default: on, skip with --no-team)
284
+ // Auto-sync repo collaborators (default: on, skip with --no-team)
200
285
  if (options.team !== false) {
201
- const ghRepo = parseGitHubRemote(git.remoteUrl);
202
- if (!ghRepo) {
203
- result.team = { error: "Not a GitHub repository. --team requires a GitHub remote." };
286
+ const remote = parseGitRemote(git.remoteUrl);
287
+ if (!remote) {
288
+ result.team = { skipped: "No recognized remote (GitHub/GitLab/Bitbucket)." };
204
289
  }
205
290
  else {
206
- // Fetch collaborators locally via gh CLI
207
- const collaborators = fetchGitHubCollaborators(ghRepo.owner, ghRepo.repo);
291
+ const collaborators = fetchCollaborators(remote);
208
292
  if (!collaborators) {
209
- result.team = { skipped: "GitHub CLI (gh) not available or not authenticated. Install gh and run 'gh auth login' to enable team sync." };
293
+ result.team = { skipped: getPlatformHint(remote.platform) };
210
294
  }
211
295
  else {
212
296
  const { ok: syncOk, data: syncData } = await apiRequest(`/api/projects/${projectId}/members/sync`, {
213
297
  method: "POST",
214
298
  body: {
215
299
  collaborators,
216
- repo_full_name: `${ghRepo.owner}/${ghRepo.repo}`,
300
+ repo_full_name: `${remote.owner}/${remote.repo}`,
217
301
  },
218
302
  token: globalOpts.token,
219
303
  });
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,7 +21,7 @@ const program = new Command();
21
21
  program
22
22
  .name("climemo")
23
23
  .description("AI 시대의 프로젝트 지식 관리 도구")
24
- .version("0.3.3");
24
+ .version("0.3.4");
25
25
  // Auth commands
26
26
  program.addCommand(loginCommand);
27
27
  program.addCommand(logoutCommand);
package/dist/lib/git.d.ts CHANGED
@@ -13,12 +13,23 @@ export interface GitInfo {
13
13
  * Returns null if not inside a git repo.
14
14
  */
15
15
  export declare function getGitInfo(): GitInfo | null;
16
+ export type GitPlatform = "github" | "gitlab" | "bitbucket";
17
+ export interface GitRemoteRepo {
18
+ platform: GitPlatform;
19
+ owner: string;
20
+ repo: string;
21
+ /** e.g. "gitlab.com" or "gitlab.mycompany.com" */
22
+ host: string;
23
+ }
24
+ /** @deprecated Use parseGitRemote instead */
16
25
  export interface GitHubRepo {
17
26
  owner: string;
18
27
  repo: string;
19
28
  }
29
+ /** @deprecated Use parseGitRemote instead */
30
+ export declare function parseGitHubRemote(remoteUrl: string | null): GitHubRepo | null;
20
31
  /**
21
- * Parse GitHub owner/repo from remote URL.
22
- * Returns null if not a GitHub repo.
32
+ * Parse owner/repo and platform from any Git remote URL.
33
+ * Supports GitHub, GitLab (including self-hosted), and Bitbucket.
23
34
  */
24
- export declare function parseGitHubRemote(remoteUrl: string | null): GitHubRepo | null;
35
+ export declare function parseGitRemote(remoteUrl: string | null): GitRemoteRepo | null;
package/dist/lib/git.js CHANGED
@@ -43,21 +43,46 @@ export function getGitInfo() {
43
43
  }
44
44
  return { name, slug, remoteUrl, rootPath };
45
45
  }
46
+ /** @deprecated Use parseGitRemote instead */
47
+ export function parseGitHubRemote(remoteUrl) {
48
+ const remote = parseGitRemote(remoteUrl);
49
+ if (remote?.platform === "github")
50
+ return { owner: remote.owner, repo: remote.repo };
51
+ return null;
52
+ }
46
53
  /**
47
- * Parse GitHub owner/repo from remote URL.
48
- * Returns null if not a GitHub repo.
54
+ * Parse owner/repo and platform from any Git remote URL.
55
+ * Supports GitHub, GitLab (including self-hosted), and Bitbucket.
49
56
  */
50
- export function parseGitHubRemote(remoteUrl) {
57
+ export function parseGitRemote(remoteUrl) {
51
58
  if (!remoteUrl)
52
59
  return null;
53
- // git@github.com:owner/repo.git
54
- const sshMatch = remoteUrl.match(/github\.com[:/]([^/]+)\/([^/.]+?)(?:\.git)?$/);
55
- if (sshMatch)
56
- return { owner: sshMatch[1], repo: sshMatch[2] };
57
- // https://github.com/owner/repo.git
58
- const httpsMatch = remoteUrl.match(/github\.com\/([^/]+)\/([^/.]+?)(?:\.git)?$/);
59
- if (httpsMatch)
60
- return { owner: httpsMatch[1], repo: httpsMatch[2] };
60
+ // SSH: git@host:owner/repo.git
61
+ const sshMatch = remoteUrl.match(/git@([^:]+):([^/]+)\/([^/.]+?)(?:\.git)?$/);
62
+ if (sshMatch) {
63
+ const host = sshMatch[1];
64
+ const owner = sshMatch[2];
65
+ const repo = sshMatch[3];
66
+ return { platform: detectPlatform(host), owner, repo, host };
67
+ }
68
+ // HTTPS: https://host/owner/repo.git
69
+ const httpsMatch = remoteUrl.match(/https?:\/\/([^/]+)\/([^/]+)\/([^/.]+?)(?:\.git)?$/);
70
+ if (httpsMatch) {
71
+ const host = httpsMatch[1];
72
+ const owner = httpsMatch[2];
73
+ const repo = httpsMatch[3];
74
+ return { platform: detectPlatform(host), owner, repo, host };
75
+ }
61
76
  return null;
62
77
  }
78
+ function detectPlatform(host) {
79
+ if (host.includes("github"))
80
+ return "github";
81
+ if (host.includes("gitlab"))
82
+ return "gitlab";
83
+ if (host.includes("bitbucket"))
84
+ return "bitbucket";
85
+ // Default to gitlab for self-hosted (most common self-hosted platform)
86
+ return "gitlab";
87
+ }
63
88
  //# sourceMappingURL=git.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAapC,SAAS,IAAI,CAAC,GAAW;IACvB,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,iCAAiC;IACjC,MAAM,SAAS,GACb,IAAI,CAAC,2BAA2B,CAAC;QACjC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAErD,sDAAsD;IACtD,IAAI,IAAY,CAAC;IACjB,IAAI,SAAS,EAAE,CAAC;QACd,sCAAsC;QACtC,0CAA0C;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,GAAG,IAAI;SACZ,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEzB,mEAAmE;IACnE,iFAAiF;IACjF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,GAAG,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC7C,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAwB;IACxD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,gCAAgC;IAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjF,IAAI,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/D,oCAAoC;IACpC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACjF,IAAI,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "climemo",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "AI 시대의 프로젝트 지식 관리 도구 - CLI for syncing project knowledge",
5
5
  "license": "MIT",
6
6
  "repository": {