Files
gstack/hosts/claude.ts
garrytan 6fb8ea3d10 Merge origin/main (v1.91.15.0, #3017) into garrytan/parallel-waves; release metadata v1.91.16.0
Conflicts resolved by hand in templates, tests, CLAUDE.md, TODOS.md,
CHANGELOG.md and bin/gstack-config; generated SKILL.md/sections, the agents
digest and test/fixtures/context-budget.json regenerated. The eval codemod
re-applied to main's new gstack-paths/gstack-slug evals. Coverage-read rule:
bare echo separators after unknown output extend the unknown span (main's
pathspec CI shape). CLAUDE.md keeps the TREE_MUTATING, catalog-ceiling and
detach-timeout facts main's instruction-facts test pins.
2026-10-03 08:53:18 +00:00

41 lines
1.4 KiB
TypeScript

import { defineHost } from './define-host';
const claude = defineHost({
name: 'claude',
displayName: 'Claude Code',
tier: 'full',
capabilities: { toolExecution: true, questions: 'native', planMode: true, delegation: true, browser: true, safetyHooks: 'enforced' },
usesEnvVars: false, // primary host — literal ~ paths, no $GSTACK_ROOT env vars
frontmatter: {
mode: 'denylist',
// interactive + benefits-from are gen-time inputs (buildContext reads them
// from the .tmpl); no runtime or test reader consumes them from the
// GENERATED file (verified: e2e-harness-audit reads .tmpl; benefits-from
// tests assert rendered prose; the host reads name/description/
// allowed-tools/hooks; bin/gstack-brain-context-load reads gbrain: — which
// is why gbrain and hooks are NOT stripped). Stripping them trims the
// always-on frontmatter catalog every session loads.
stripFields: ['sensitive', 'voice-triggers', 'interactive', 'benefits-from'],
descriptionLimit: null,
},
generation: {
generateMetadata: false,
skipSkills: ['claude-code'], // An outside reviewer must use a different harness.
},
pathRewrites: [], // Claude is the primary host — no rewrites needed
toolRewrites: {},
install: {
linkingStrategy: 'real-dir-symlink',
},
coAuthorTrailer: 'Co-Authored-By: Claude <noreply@anthropic.com>',
learningsMode: 'full',
});
export default claude;