@speclife/core 0.2.1 → 0.3.0

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.
Files changed (54) hide show
  1. package/dist/adapters/git-adapter.d.ts +2 -2
  2. package/dist/adapters/git-adapter.d.ts.map +1 -1
  3. package/dist/adapters/git-adapter.js +14 -4
  4. package/dist/adapters/git-adapter.js.map +1 -1
  5. package/dist/adapters/github-adapter.d.ts +39 -28
  6. package/dist/adapters/github-adapter.d.ts.map +1 -1
  7. package/dist/adapters/github-adapter.js +142 -119
  8. package/dist/adapters/github-adapter.js.map +1 -1
  9. package/dist/adapters/index.d.ts +5 -4
  10. package/dist/adapters/index.d.ts.map +1 -1
  11. package/dist/adapters/index.js +6 -5
  12. package/dist/adapters/index.js.map +1 -1
  13. package/dist/config.d.ts +27 -4
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +9 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/types.d.ts +34 -4
  21. package/dist/types.d.ts.map +1 -1
  22. package/dist/types.js.map +1 -1
  23. package/dist/workflows/implement.d.ts +24 -16
  24. package/dist/workflows/implement.d.ts.map +1 -1
  25. package/dist/workflows/implement.js +70 -258
  26. package/dist/workflows/implement.js.map +1 -1
  27. package/dist/workflows/index.d.ts +5 -0
  28. package/dist/workflows/index.d.ts.map +1 -1
  29. package/dist/workflows/index.js +6 -0
  30. package/dist/workflows/index.js.map +1 -1
  31. package/dist/workflows/init.d.ts +10 -12
  32. package/dist/workflows/init.d.ts.map +1 -1
  33. package/dist/workflows/init.js +16 -187
  34. package/dist/workflows/init.js.map +1 -1
  35. package/dist/workflows/submit.d.ts.map +1 -1
  36. package/dist/workflows/submit.js +3 -1
  37. package/dist/workflows/submit.js.map +1 -1
  38. package/dist/workflows/worktree.d.ts +62 -0
  39. package/dist/workflows/worktree.d.ts.map +1 -0
  40. package/dist/workflows/worktree.js +97 -0
  41. package/dist/workflows/worktree.js.map +1 -0
  42. package/package.json +1 -1
  43. package/dist/adapters/claude-cli-adapter.d.ts +0 -70
  44. package/dist/adapters/claude-cli-adapter.d.ts.map +0 -1
  45. package/dist/adapters/claude-cli-adapter.js +0 -234
  46. package/dist/adapters/claude-cli-adapter.js.map +0 -1
  47. package/dist/adapters/claude-sdk-adapter.d.ts +0 -49
  48. package/dist/adapters/claude-sdk-adapter.d.ts.map +0 -1
  49. package/dist/adapters/claude-sdk-adapter.js +0 -278
  50. package/dist/adapters/claude-sdk-adapter.js.map +0 -1
  51. package/dist/adapters/cursor-adapter.d.ts +0 -26
  52. package/dist/adapters/cursor-adapter.d.ts.map +0 -1
  53. package/dist/adapters/cursor-adapter.js +0 -54
  54. package/dist/adapters/cursor-adapter.js.map +0 -1
@@ -25,9 +25,9 @@ export interface GitAdapter {
25
25
  /** Delete a local branch */
26
26
  deleteBranch(name: string, force?: boolean): Promise<void>;
27
27
  /** Create a worktree for parallel development */
28
- createWorktree(path: string, branch: string): Promise<void>;
28
+ createWorktree(path: string, branch: string, baseBranch?: string): Promise<void>;
29
29
  /** Remove a worktree */
30
- removeWorktree(path: string): Promise<void>;
30
+ removeWorktree(path: string, force?: boolean): Promise<void>;
31
31
  /** List all worktrees */
32
32
  listWorktrees(): Promise<Array<{
33
33
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"git-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,8BAA8B;IAC9B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,kBAAkB;IAClB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,sBAAsB;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,qBAAqB;IACrB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3D,iDAAiD;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,wBAAwB;IACxB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C,yBAAyB;IACzB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAIvC,4CAA4C;IAC5C,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEvC,iDAAiD;IACjD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAE/E,8BAA8B;IAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,4BAA4B;IAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,wDAAwD;IACxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAmL7D"}
1
+ {"version":3,"file":"git-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC,8BAA8B;IAC9B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,kBAAkB;IAClB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,sBAAsB;IACtB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC,qBAAqB;IACrB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,4BAA4B;IAC5B,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,0BAA0B;IAC1B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,4BAA4B;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAI3D,iDAAiD;IACjD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjF,wBAAwB;IACxB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D,yBAAyB;IACzB,aAAa,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAElE,0DAA0D;IAC1D,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAIvC,4CAA4C;IAC5C,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEvC,iDAAiD;IACjD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAE/E,8BAA8B;IAC9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,4BAA4B;IAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C,wDAAwD;IACxD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CA2L7D"}
@@ -68,11 +68,21 @@ export function createGitAdapter(repoPath) {
68
68
  }
69
69
  },
70
70
  // Worktree operations (Phase 4)
71
- async createWorktree(path, branch) {
72
- await git.raw(['worktree', 'add', path, '-b', branch]);
71
+ async createWorktree(path, branch, baseBranch) {
72
+ if (baseBranch) {
73
+ await git.raw(['worktree', 'add', path, '-b', branch, baseBranch]);
74
+ }
75
+ else {
76
+ await git.raw(['worktree', 'add', path, '-b', branch]);
77
+ }
73
78
  },
74
- async removeWorktree(path) {
75
- await git.raw(['worktree', 'remove', path, '--force']);
79
+ async removeWorktree(path, force = false) {
80
+ if (force) {
81
+ await git.raw(['worktree', 'remove', path, '--force']);
82
+ }
83
+ else {
84
+ await git.raw(['worktree', 'remove', path]);
85
+ }
76
86
  },
77
87
  async listWorktrees() {
78
88
  const result = await git.raw(['worktree', 'list', '--porcelain']);
@@ -1 +1 @@
1
- {"version":3,"file":"git-adapter.js","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-adapter.js","sourceRoot":"","sources":["../../src/adapters/git-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,54 @@
1
1
  /**
2
- * GitHub adapter using Octokit
2
+ * GitHub adapter - DEPRECATED
3
+ *
4
+ * This adapter is deprecated. Use one of these alternatives instead:
5
+ * - @github MCP server for AI-assisted GitHub operations
6
+ * - `gh` CLI for command-line GitHub operations
7
+ * - `/speclife ship` and `/speclife land` slash commands
8
+ *
9
+ * The adapter remains functional for backward compatibility but will be
10
+ * removed in a future version.
3
11
  */
4
12
  import { type PullRequest } from '../types.js';
5
- /** GitHub operations interface */
13
+ /** @deprecated Use @github MCP or gh CLI instead */
6
14
  export interface GitHubAdapter {
7
- /** Create a pull request */
8
- createPullRequest(params: {
9
- title: string;
10
- body: string;
11
- head: string;
12
- base: string;
13
- draft?: boolean;
14
- }): Promise<PullRequest>;
15
- /** Get pull request by branch */
15
+ /** @deprecated */
16
+ createPullRequest(options: CreatePROptions): Promise<PullRequest>;
17
+ /** @deprecated */
18
+ getPullRequest(prNumber: number): Promise<PullRequest>;
19
+ /** @deprecated */
16
20
  getPullRequestByBranch(branch: string): Promise<PullRequest | null>;
17
- /** Get pull request by number */
18
- getPullRequest(number: number): Promise<PullRequest>;
19
- /** Get pull request diff */
20
- getPullRequestDiff(number: number): Promise<string>;
21
- /** Merge pull request */
22
- mergePullRequest(number: number, method?: 'merge' | 'squash' | 'rebase'): Promise<void>;
23
- /** Check if PR is mergeable */
24
- isPullRequestMergeable(number: number): Promise<{
21
+ /** @deprecated */
22
+ mergePullRequest(prNumber: number, mergeMethod?: 'merge' | 'squash' | 'rebase'): Promise<void>;
23
+ /** @deprecated */
24
+ updatePullRequest(prNumber: number, options: UpdatePROptions): Promise<PullRequest>;
25
+ /** @deprecated */
26
+ markPullRequestReady(prNumber: number): Promise<PullRequest>;
27
+ /** @deprecated */
28
+ isPullRequestMergeable(prNumber: number): Promise<{
25
29
  mergeable: boolean;
26
30
  reason?: string;
27
31
  }>;
28
- /** Mark a draft PR as ready for review */
29
- markPullRequestReady(number: number): Promise<PullRequest>;
30
- /** Enable auto-merge for a PR (requires repo settings to allow auto-merge) */
31
- enableAutoMerge(number: number, method?: 'MERGE' | 'SQUASH' | 'REBASE'): Promise<boolean>;
32
+ /** @deprecated */
33
+ enableAutoMerge(prNumber: number, mergeMethod?: 'MERGE' | 'SQUASH' | 'REBASE'): Promise<boolean>;
32
34
  }
33
- interface GitHubAdapterOptions {
34
- owner: string;
35
- repo: string;
36
- token?: string;
35
+ interface CreatePROptions {
36
+ title: string;
37
+ body: string;
38
+ head: string;
39
+ base: string;
40
+ draft?: boolean;
41
+ }
42
+ interface UpdatePROptions {
43
+ title?: string;
44
+ body?: string;
45
+ draft?: boolean;
37
46
  }
38
47
  /**
39
48
  * Create a GitHub adapter
49
+ *
50
+ * @deprecated Use @github MCP or gh CLI instead
40
51
  */
41
- export declare function createGitHubAdapter(options: GitHubAdapterOptions): GitHubAdapter;
52
+ export declare function createGitHubAdapter(owner: string, repo: string): GitHubAdapter;
42
53
  export {};
43
54
  //# sourceMappingURL=github-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAA6B,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1E,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,iBAAiB,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzB,iCAAiC;IACjC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEpE,iCAAiC;IACjC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAErD,4BAA4B;IAC5B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,yBAAyB;IACzB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF,+BAA+B;IAC/B,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC9C,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH,0CAA0C;IAC1C,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3D,8EAA8E;IAC9E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3F;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAqMhF"}
1
+ {"version":3,"file":"github-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,oDAAoD;AACpD,MAAM,WAAW,aAAa;IAC5B,kBAAkB;IAClB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,kBAAkB;IAClB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,kBAAkB;IAClB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACpE,kBAAkB;IAClB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,kBAAkB;IAClB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpF,kBAAkB;IAClB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D,kBAAkB;IAClB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,kBAAkB;IAClB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAClG;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAaD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CA+K9E"}
@@ -1,37 +1,60 @@
1
1
  /**
2
- * GitHub adapter using Octokit
2
+ * GitHub adapter - DEPRECATED
3
+ *
4
+ * This adapter is deprecated. Use one of these alternatives instead:
5
+ * - @github MCP server for AI-assisted GitHub operations
6
+ * - `gh` CLI for command-line GitHub operations
7
+ * - `/speclife ship` and `/speclife land` slash commands
8
+ *
9
+ * The adapter remains functional for backward compatibility but will be
10
+ * removed in a future version.
3
11
  */
4
12
  import { Octokit } from '@octokit/rest';
5
- import { SpecLifeError, ErrorCodes } from '../types.js';
13
+ const DEPRECATION_WARNING = `
14
+ ⚠️ DEPRECATION WARNING: createGitHubAdapter is deprecated.
15
+
16
+ Use one of these alternatives:
17
+ - @github MCP server for AI-assisted operations
18
+ - \`gh\` CLI for command-line operations
19
+ - /speclife ship and /speclife land slash commands
20
+
21
+ This adapter will be removed in a future version.
22
+ `;
6
23
  /**
7
24
  * Create a GitHub adapter
25
+ *
26
+ * @deprecated Use @github MCP or gh CLI instead
8
27
  */
9
- export function createGitHubAdapter(options) {
10
- const token = options.token ?? process.env.GITHUB_TOKEN;
28
+ export function createGitHubAdapter(owner, repo) {
29
+ // Show deprecation warning once per adapter creation
30
+ console.warn(DEPRECATION_WARNING);
31
+ const token = process.env.GITHUB_TOKEN;
11
32
  if (!token) {
12
- throw new SpecLifeError(ErrorCodes.MISSING_TOKEN, 'GITHUB_TOKEN environment variable is required for GitHub operations', { variable: 'GITHUB_TOKEN' });
33
+ throw new Error('GITHUB_TOKEN environment variable is required.\n' +
34
+ 'Consider using /speclife ship or /speclife land slash commands instead,\n' +
35
+ 'which use @github MCP or gh CLI and do not require token configuration.');
13
36
  }
14
37
  const octokit = new Octokit({ auth: token });
15
- const { owner, repo } = options;
16
38
  return {
17
- async createPullRequest(params) {
39
+ async createPullRequest(options) {
18
40
  const { data } = await octokit.pulls.create({
19
41
  owner,
20
42
  repo,
21
- title: params.title,
22
- body: params.body,
23
- head: params.head,
24
- base: params.base,
25
- draft: params.draft,
43
+ title: options.title,
44
+ body: options.body,
45
+ head: options.head,
46
+ base: options.base,
47
+ draft: options.draft,
26
48
  });
27
- return {
28
- number: data.number,
29
- url: data.html_url,
30
- title: data.title,
31
- state: data.state,
32
- mergeable: data.mergeable,
33
- draft: data.draft ?? false,
34
- };
49
+ return mapPullRequest(data);
50
+ },
51
+ async getPullRequest(prNumber) {
52
+ const { data } = await octokit.pulls.get({
53
+ owner,
54
+ repo,
55
+ pull_number: prNumber,
56
+ });
57
+ return mapPullRequest(data);
35
58
  },
36
59
  async getPullRequestByBranch(branch) {
37
60
  const { data } = await octokit.pulls.list({
@@ -43,137 +66,137 @@ export function createGitHubAdapter(options) {
43
66
  if (data.length === 0) {
44
67
  return null;
45
68
  }
46
- const pr = data[0];
47
- return {
48
- number: pr.number,
49
- url: pr.html_url,
50
- title: pr.title,
51
- state: pr.state,
52
- mergeable: null, // List endpoint doesn't return mergeable; use getPullRequest for full details
53
- draft: pr.draft ?? false,
54
- };
55
- },
56
- async getPullRequest(number) {
57
- const { data } = await octokit.pulls.get({
58
- owner,
59
- repo,
60
- pull_number: number,
61
- });
62
- return {
63
- number: data.number,
64
- url: data.html_url,
65
- title: data.title,
66
- state: data.merged ? 'merged' : data.state,
67
- mergeable: data.mergeable,
68
- draft: data.draft ?? false,
69
- };
69
+ return mapPullRequest(data[0]);
70
70
  },
71
- async getPullRequestDiff(number) {
72
- const { data } = await octokit.pulls.get({
73
- owner,
74
- repo,
75
- pull_number: number,
76
- mediaType: {
77
- format: 'diff',
78
- },
79
- });
80
- // When requesting diff format, data is returned as a string
81
- return data;
82
- },
83
- async mergePullRequest(number, method = 'merge') {
71
+ async mergePullRequest(prNumber, mergeMethod = 'squash') {
84
72
  await octokit.pulls.merge({
85
73
  owner,
86
74
  repo,
87
- pull_number: number,
88
- merge_method: method,
75
+ pull_number: prNumber,
76
+ merge_method: mergeMethod,
89
77
  });
90
78
  },
91
- async isPullRequestMergeable(number) {
92
- const { data } = await octokit.pulls.get({
93
- owner,
94
- repo,
95
- pull_number: number,
96
- });
97
- if (data.mergeable === false) {
98
- return { mergeable: false, reason: 'Conflicts or checks failing' };
79
+ async updatePullRequest(prNumber, options) {
80
+ // Handle draft status separately (requires GraphQL)
81
+ if (options.draft === false) {
82
+ // Mark as ready for review using GraphQL
83
+ const { data: pr } = await octokit.pulls.get({
84
+ owner,
85
+ repo,
86
+ pull_number: prNumber,
87
+ });
88
+ await octokit.graphql(`
89
+ mutation($pullRequestId: ID!) {
90
+ markPullRequestReadyForReview(input: { pullRequestId: $pullRequestId }) {
91
+ pullRequest { id }
92
+ }
93
+ }
94
+ `, {
95
+ pullRequestId: pr.node_id,
96
+ });
99
97
  }
100
- if (data.draft) {
101
- return { mergeable: false, reason: 'PR is still a draft' };
98
+ // Update other fields
99
+ const updateData = {};
100
+ if (options.title)
101
+ updateData.title = options.title;
102
+ if (options.body)
103
+ updateData.body = options.body;
104
+ if (Object.keys(updateData).length > 0) {
105
+ await octokit.pulls.update({
106
+ owner,
107
+ repo,
108
+ pull_number: prNumber,
109
+ ...updateData,
110
+ });
102
111
  }
103
- return { mergeable: data.mergeable ?? false };
112
+ // Fetch and return updated PR
113
+ return this.getPullRequest(prNumber);
104
114
  },
105
- async markPullRequestReady(number) {
106
- // The REST API doesn't support marking PRs ready, so we use GraphQL
107
- // First, get the node ID for the PR
108
- const { data: prData } = await octokit.pulls.get({
115
+ async markPullRequestReady(prNumber) {
116
+ const { data: pr } = await octokit.pulls.get({
109
117
  owner,
110
118
  repo,
111
- pull_number: number,
119
+ pull_number: prNumber,
112
120
  });
113
- const nodeId = prData.node_id;
114
- // Use GraphQL mutation to mark ready
115
121
  await octokit.graphql(`
116
- mutation($id: ID!) {
117
- markPullRequestReadyForReview(input: { pullRequestId: $id }) {
118
- pullRequest {
119
- id
120
- }
122
+ mutation($pullRequestId: ID!) {
123
+ markPullRequestReadyForReview(input: { pullRequestId: $pullRequestId }) {
124
+ pullRequest { id }
121
125
  }
122
126
  }
123
- `, { id: nodeId });
124
- // Fetch updated PR
125
- const { data } = await octokit.pulls.get({
126
- owner,
127
- repo,
128
- pull_number: number,
127
+ `, {
128
+ pullRequestId: pr.node_id,
129
129
  });
130
- return {
131
- number: data.number,
132
- url: data.html_url,
133
- title: data.title,
134
- state: data.merged ? 'merged' : data.state,
135
- mergeable: data.mergeable,
136
- draft: data.draft ?? false,
137
- };
130
+ // Fetch and return updated PR
131
+ return this.getPullRequest(prNumber);
138
132
  },
139
- async enableAutoMerge(number, method = 'SQUASH') {
140
- // Get the node ID for the PR
141
- const { data: prData } = await octokit.pulls.get({
133
+ async isPullRequestMergeable(prNumber) {
134
+ const { data } = await octokit.pulls.get({
142
135
  owner,
143
136
  repo,
144
- pull_number: number,
137
+ pull_number: prNumber,
145
138
  });
146
- const nodeId = prData.node_id;
139
+ // GitHub's mergeable can be null when status is unknown/checking
140
+ if (data.mergeable === null) {
141
+ return { mergeable: false, reason: 'Mergeability status is being computed' };
142
+ }
143
+ if (!data.mergeable) {
144
+ return {
145
+ mergeable: false,
146
+ reason: data.mergeable_state === 'dirty' ? 'Has merge conflicts' :
147
+ data.mergeable_state === 'blocked' ? 'Blocked by branch protection rules' :
148
+ data.mergeable_state === 'behind' ? 'Branch is behind base' :
149
+ `State: ${data.mergeable_state}`
150
+ };
151
+ }
152
+ return { mergeable: true };
153
+ },
154
+ async enableAutoMerge(prNumber, mergeMethod = 'SQUASH') {
147
155
  try {
148
- // Use GraphQL mutation to enable auto-merge
156
+ const { data: pr } = await octokit.pulls.get({
157
+ owner,
158
+ repo,
159
+ pull_number: prNumber,
160
+ });
149
161
  await octokit.graphql(`
150
162
  mutation($pullRequestId: ID!, $mergeMethod: PullRequestMergeMethod!) {
151
- enablePullRequestAutoMerge(input: {
152
- pullRequestId: $pullRequestId,
153
- mergeMethod: $mergeMethod
154
- }) {
155
- pullRequest {
156
- autoMergeRequest {
157
- enabledAt
158
- }
159
- }
163
+ enablePullRequestAutoMerge(input: { pullRequestId: $pullRequestId, mergeMethod: $mergeMethod }) {
164
+ pullRequest { id }
160
165
  }
161
166
  }
162
167
  `, {
163
- pullRequestId: nodeId,
164
- mergeMethod: method,
168
+ pullRequestId: pr.node_id,
169
+ mergeMethod,
165
170
  });
166
171
  return true;
167
172
  }
168
- catch (error) {
169
- // Auto-merge might fail if:
170
- // - Repo doesn't have auto-merge enabled
171
- // - Branch protection rules don't allow it
172
- // - Required checks haven't been set up
173
- // In these cases, we silently return false rather than failing
173
+ catch {
174
+ // Auto-merge might not be enabled on the repository
174
175
  return false;
175
176
  }
176
177
  },
177
178
  };
178
179
  }
180
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
181
+ function mapPullRequest(data) {
182
+ return {
183
+ number: data.number,
184
+ title: data.title,
185
+ body: data.body || '',
186
+ state: data.merged ? 'merged' : data.state,
187
+ draft: data.draft || false,
188
+ url: data.html_url,
189
+ html_url: data.html_url,
190
+ head: {
191
+ ref: data.head.ref,
192
+ sha: data.head.sha,
193
+ },
194
+ base: {
195
+ ref: data.base.ref,
196
+ },
197
+ merged: data.merged || false,
198
+ mergeable: data.mergeable,
199
+ mergeable_state: data.mergeable_state,
200
+ };
201
+ }
179
202
  //# sourceMappingURL=github-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-adapter.js","sourceRoot":"","sources":["../../src/adapters/github-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * Adapters for external services
3
+ *
4
+ * DEPRECATION NOTES:
5
+ * - GitHub adapter: Use @github MCP or gh CLI instead
6
+ * - AI adapters: Removed - the agent IS the AI, use slash commands
3
7
  */
4
8
  export { createGitAdapter, type GitAdapter } from './git-adapter.js';
5
- export { createGitHubAdapter, type GitHubAdapter } from './github-adapter.js';
6
9
  export { createOpenSpecAdapter, type OpenSpecAdapter } from './openspec-adapter.js';
10
+ export { createGitHubAdapter, type GitHubAdapter } from './github-adapter.js';
7
11
  export { type EnvironmentAdapter, type EnvironmentRegistry, type BootstrapStrategy, type DetectionResult, type BootstrapResult, type MonorepoInfo, type WorkspacePackage, createEnvironmentRegistry, createDefaultEnvironmentRegistry, createNodejsAdapter, createPythonAdapter, createGoAdapter, createRustAdapter, detectMonorepo, patchTsconfigForMonorepo, } from './environment-adapter.js';
8
- export { createClaudeCliAdapter, generateImplementationPrompt, generateTaskGenerationPrompt, parseTaskGenerationResponse, type ClaudeCliAdapter, type ClaudeCliOptions, type ClaudeCliResult, } from './claude-cli-adapter.js';
9
- export { createClaudeSdkAdapter, generateAgenticSystemPrompt, type ClaudeSdkAdapter, type AgenticLoopOptions, type AgenticLoopResult, } from './claude-sdk-adapter.js';
10
- export { createCursorAdapter, type CursorAdapter, type CursorResult, } from './cursor-adapter.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGpF,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG9E,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * Adapters for external services
3
+ *
4
+ * DEPRECATION NOTES:
5
+ * - GitHub adapter: Use @github MCP or gh CLI instead
6
+ * - AI adapters: Removed - the agent IS the AI, use slash commands
3
7
  */
4
8
  export { createGitAdapter } from './git-adapter.js';
5
- export { createGitHubAdapter } from './github-adapter.js';
6
9
  export { createOpenSpecAdapter } from './openspec-adapter.js';
10
+ // GitHub adapter (deprecated but kept for backward compatibility)
11
+ export { createGitHubAdapter } from './github-adapter.js';
7
12
  // Environment adapters for worktree setup
8
13
  export { createEnvironmentRegistry, createDefaultEnvironmentRegistry, createNodejsAdapter, createPythonAdapter, createGoAdapter, createRustAdapter, detectMonorepo, patchTsconfigForMonorepo, } from './environment-adapter.js';
9
- // AI/Implementation adapters
10
- export { createClaudeCliAdapter, generateImplementationPrompt, generateTaskGenerationPrompt, parseTaskGenerationResponse, } from './claude-cli-adapter.js';
11
- export { createClaudeSdkAdapter, generateAgenticSystemPrompt, } from './claude-sdk-adapter.js';
12
- export { createCursorAdapter, } from './cursor-adapter.js';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AAEpF,0CAA0C;AAC1C,OAAO,EAQL,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,6BAA6B;AAC7B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,GAI5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAI5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AAEpF,kEAAkE;AAClE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAE9E,0CAA0C;AAC1C,OAAO,EAQL,yBAAyB,EACzB,gCAAgC,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
package/dist/config.d.ts CHANGED
@@ -39,17 +39,40 @@ export interface ReleaseConfig {
39
39
  */
40
40
  auto?: ReleaseAutoConfig | boolean;
41
41
  }
42
+ /** Git configuration (new minimal config) */
43
+ export interface GitConfig {
44
+ /** Base branch for new changes (default: "main") */
45
+ baseBranch?: string;
46
+ /** Branch prefix for change branches (default: "spec/") */
47
+ branchPrefix?: string;
48
+ /** Directory for worktrees (default: "worktrees") */
49
+ worktreeDir?: string;
50
+ }
42
51
  /** SpecLife configuration schema */
43
52
  export interface SpecLifeConfig {
44
53
  /** OpenSpec directory location (default: "openspec") */
45
54
  specDir: string;
46
- /** AI provider to use */
55
+ /** Git configuration (new minimal config) */
56
+ git?: GitConfig;
57
+ /**
58
+ * @deprecated Use slash commands instead of MCP tools.
59
+ * AI provider to use - only used by deprecated MCP server.
60
+ */
47
61
  aiProvider: 'claude' | 'openai' | 'gemini';
48
- /** AI model identifier */
62
+ /**
63
+ * @deprecated Use slash commands instead of MCP tools.
64
+ * AI model identifier - only used by deprecated MCP server.
65
+ */
49
66
  aiModel: string;
50
- /** Implementation mode for speclife_implement (default: "claude-cli") */
67
+ /**
68
+ * @deprecated Use /openspec-apply slash command instead.
69
+ * Implementation mode for speclife_implement MCP tool.
70
+ */
51
71
  implementMode: ImplementMode;
52
- /** GitHub configuration */
72
+ /**
73
+ * @deprecated Use @github MCP or gh CLI instead. Owner/repo auto-detected from git remote.
74
+ * GitHub configuration - only used by deprecated MCP server.
75
+ */
53
76
  github: {
54
77
  owner: string;
55
78
  repo: string;