~cytrogen/gstack

ref: 66894601e3de98c0c3b32869944edc241484b42e gstack/scripts/resolvers/types.ts -rw-r--r-- 1.1 KiB
66894601 — Garry Tan chore: gitignore .factory and remove tracked files (v0.13.5.1) (#642) 13 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
export type Host = 'claude' | 'codex' | 'factory';

export interface HostPaths {
  skillRoot: string;
  localSkillRoot: string;
  binDir: string;
  browseDir: string;
  designDir: string;
}

export const HOST_PATHS: Record<Host, HostPaths> = {
  claude: {
    skillRoot: '~/.claude/skills/gstack',
    localSkillRoot: '.claude/skills/gstack',
    binDir: '~/.claude/skills/gstack/bin',
    browseDir: '~/.claude/skills/gstack/browse/dist',
    designDir: '~/.claude/skills/gstack/design/dist',
  },
  codex: {
    skillRoot: '$GSTACK_ROOT',
    localSkillRoot: '.agents/skills/gstack',
    binDir: '$GSTACK_BIN',
    browseDir: '$GSTACK_BROWSE',
    designDir: '$GSTACK_DESIGN',
  },
  factory: {
    skillRoot: '$GSTACK_ROOT',
    localSkillRoot: '.factory/skills/gstack',
    binDir: '$GSTACK_BIN',
    browseDir: '$GSTACK_BROWSE',
    designDir: '$GSTACK_DESIGN',
  },
};

export interface TemplateContext {
  skillName: string;
  tmplPath: string;
  benefitsFrom?: string[];
  host: Host;
  paths: HostPaths;
  preambleTier?: number;  // 1-4, controls which preamble sections are included
}