@claudetools/cli 0.9.2
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.
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +106 -0
- package/dist/cli.js.map +1 -0
- package/dist/onboard/agents-md-builder.d.ts +14 -0
- package/dist/onboard/agents-md-builder.d.ts.map +1 -0
- package/dist/onboard/agents-md-builder.js +378 -0
- package/dist/onboard/agents-md-builder.js.map +1 -0
- package/dist/onboard/context7-fetcher.d.ts +27 -0
- package/dist/onboard/context7-fetcher.d.ts.map +1 -0
- package/dist/onboard/context7-fetcher.js +116 -0
- package/dist/onboard/context7-fetcher.js.map +1 -0
- package/dist/onboard/docs-generator.d.ts +8 -0
- package/dist/onboard/docs-generator.d.ts.map +1 -0
- package/dist/onboard/docs-generator.js +250 -0
- package/dist/onboard/docs-generator.js.map +1 -0
- package/dist/onboard/index.d.ts +11 -0
- package/dist/onboard/index.d.ts.map +1 -0
- package/dist/onboard/index.js +128 -0
- package/dist/onboard/index.js.map +1 -0
- package/dist/onboard/stack-detector.d.ts +4 -0
- package/dist/onboard/stack-detector.d.ts.map +1 -0
- package/dist/onboard/stack-detector.js +324 -0
- package/dist/onboard/stack-detector.js.map +1 -0
- package/dist/onboard/types.d.ts +80 -0
- package/dist/onboard/types.d.ts.map +1 -0
- package/dist/onboard/types.js +5 -0
- package/dist/onboard/types.js.map +1 -0
- package/dist/onboard/web-research.d.ts +11 -0
- package/dist/onboard/web-research.d.ts.map +1 -0
- package/dist/onboard/web-research.js +209 -0
- package/dist/onboard/web-research.js.map +1 -0
- package/dist/setup.d.ts +3 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +190 -0
- package/dist/setup.js.map +1 -0
- package/dist/templates/agents-md.d.ts +10 -0
- package/dist/templates/agents-md.d.ts.map +1 -0
- package/dist/templates/agents-md.js +125 -0
- package/dist/templates/agents-md.js.map +1 -0
- package/dist/templates/claude-md.d.ts +12 -0
- package/dist/templates/claude-md.d.ts.map +1 -0
- package/dist/templates/claude-md.js +62 -0
- package/dist/templates/claude-md.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-research.js","sourceRoot":"","sources":["../../src/onboard/web-research.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AA8CA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAqC7C;AAsBD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmIhD"}
|
package/dist/setup.js
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// ClaudeTools Setup Functions
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Simplified setup for documentation-driven workflow (no memory API)
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { homedir } from 'os';
|
|
7
|
+
import { join, basename } from 'path';
|
|
8
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync, unlinkSync } from 'fs';
|
|
9
|
+
import { getProjectTemplate, SECTION_START, SECTION_END } from './templates/claude-md.js';
|
|
10
|
+
// -----------------------------------------------------------------------------
|
|
11
|
+
// Constants
|
|
12
|
+
// -----------------------------------------------------------------------------
|
|
13
|
+
const CLAUDE_DIR = join(homedir(), '.claude');
|
|
14
|
+
const CLAUDE_MD_PATH = join(CLAUDE_DIR, 'CLAUDE.md');
|
|
15
|
+
// -----------------------------------------------------------------------------
|
|
16
|
+
// Utility Functions
|
|
17
|
+
// -----------------------------------------------------------------------------
|
|
18
|
+
function header(title) {
|
|
19
|
+
console.log('\n' + chalk.cyan('━'.repeat(50)));
|
|
20
|
+
console.log(chalk.cyan.bold(title));
|
|
21
|
+
console.log(chalk.cyan('━'.repeat(50)) + '\n');
|
|
22
|
+
}
|
|
23
|
+
function success(msg) {
|
|
24
|
+
console.log(chalk.green('✓ ') + msg);
|
|
25
|
+
}
|
|
26
|
+
function error(msg) {
|
|
27
|
+
console.log(chalk.red('✗ ') + msg);
|
|
28
|
+
}
|
|
29
|
+
function info(msg) {
|
|
30
|
+
console.log(chalk.blue('ℹ ') + msg);
|
|
31
|
+
}
|
|
32
|
+
// -----------------------------------------------------------------------------
|
|
33
|
+
// Init Command
|
|
34
|
+
// -----------------------------------------------------------------------------
|
|
35
|
+
export async function runInit() {
|
|
36
|
+
console.log('\n' + chalk.bold.cyan(' ClaudeTools Setup') + '\n');
|
|
37
|
+
console.log(' ' + chalk.dim('AI agent project setup for Claude Code') + '\n');
|
|
38
|
+
const cwd = process.cwd();
|
|
39
|
+
const projectName = basename(cwd);
|
|
40
|
+
const projectClaudeDir = join(cwd, '.claude');
|
|
41
|
+
const projectClaudeMd = join(projectClaudeDir, 'CLAUDE.md');
|
|
42
|
+
// Create .claude directory if needed
|
|
43
|
+
if (!existsSync(projectClaudeDir)) {
|
|
44
|
+
mkdirSync(projectClaudeDir, { recursive: true });
|
|
45
|
+
success('Created .claude/ directory');
|
|
46
|
+
}
|
|
47
|
+
// Create or update CLAUDE.md
|
|
48
|
+
let existingContent = '';
|
|
49
|
+
if (existsSync(projectClaudeMd)) {
|
|
50
|
+
existingContent = readFileSync(projectClaudeMd, 'utf-8');
|
|
51
|
+
// Check if it's a minimal pointer (short file)
|
|
52
|
+
if (existingContent.length > 500 && !existingContent.includes('See [AGENTS.md]')) {
|
|
53
|
+
info('Existing CLAUDE.md has custom content - preserving');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Write minimal CLAUDE.md pointer
|
|
57
|
+
const projectContent = getProjectTemplate(projectName);
|
|
58
|
+
writeFileSync(projectClaudeMd, projectContent);
|
|
59
|
+
success('Created .claude/CLAUDE.md');
|
|
60
|
+
// Done!
|
|
61
|
+
header('Setup Complete');
|
|
62
|
+
console.log(chalk.green(' Project initialized!\n'));
|
|
63
|
+
console.log(' ' + chalk.bold('Project:') + ` ${projectName}`);
|
|
64
|
+
console.log(' ' + chalk.bold('Config:') + ` ${projectClaudeMd}\n`);
|
|
65
|
+
console.log(' ' + chalk.bold('Next step:') + ' Run `claudetools onboard` to generate AGENTS.md\n');
|
|
66
|
+
}
|
|
67
|
+
export async function runCleanup() {
|
|
68
|
+
console.log('\n' + chalk.bold.cyan(' ClaudeTools Legacy Cleanup') + '\n');
|
|
69
|
+
header('Cleaning Legacy Configurations');
|
|
70
|
+
let cleaned = false;
|
|
71
|
+
// Clean up legacy MCP configs
|
|
72
|
+
const mcpConfigPath = join(CLAUDE_DIR, 'mcp.json');
|
|
73
|
+
if (existsSync(mcpConfigPath)) {
|
|
74
|
+
try {
|
|
75
|
+
const config = JSON.parse(readFileSync(mcpConfigPath, 'utf-8'));
|
|
76
|
+
if (config.mcpServers?.claudetools_memory) {
|
|
77
|
+
delete config.mcpServers.claudetools_memory;
|
|
78
|
+
writeFileSync(mcpConfigPath, JSON.stringify(config, null, 2));
|
|
79
|
+
success('Removed claudetools_memory from mcp.json');
|
|
80
|
+
cleaned = true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// Skip
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Clean up legacy hooks from settings.json
|
|
88
|
+
const settingsPath = join(CLAUDE_DIR, 'settings.json');
|
|
89
|
+
if (existsSync(settingsPath)) {
|
|
90
|
+
try {
|
|
91
|
+
const settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
|
|
92
|
+
let modified = false;
|
|
93
|
+
if (settings.hooks) {
|
|
94
|
+
for (const hookType of Object.keys(settings.hooks)) {
|
|
95
|
+
const hooks = settings.hooks[hookType];
|
|
96
|
+
if (Array.isArray(hooks)) {
|
|
97
|
+
const filtered = hooks.filter((h) => {
|
|
98
|
+
if (h.hooks) {
|
|
99
|
+
return !h.hooks.some((hk) => {
|
|
100
|
+
if (!hk.command)
|
|
101
|
+
return false;
|
|
102
|
+
// Remove legacy claudetools hooks
|
|
103
|
+
return (hk.command.includes('claudetools') ||
|
|
104
|
+
hk.command.includes('memory-capture') ||
|
|
105
|
+
hk.command.includes('session-start.sh') ||
|
|
106
|
+
hk.command.includes('post-tool-use.sh') ||
|
|
107
|
+
hk.command.includes('pre-compact.sh'));
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return true;
|
|
111
|
+
});
|
|
112
|
+
if (filtered.length !== hooks.length) {
|
|
113
|
+
settings.hooks[hookType] = filtered;
|
|
114
|
+
modified = true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (modified) {
|
|
120
|
+
writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
|
|
121
|
+
success('Cleaned up legacy hooks from settings.json');
|
|
122
|
+
cleaned = true;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// Skip
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// Clean up hook files
|
|
130
|
+
const hooksDir = join(CLAUDE_DIR, 'hooks');
|
|
131
|
+
if (existsSync(hooksDir)) {
|
|
132
|
+
const legacyHooks = ['session-start.sh', 'post-tool-use.sh', 'pre-compact.sh', 'stop.sh'];
|
|
133
|
+
for (const hookFile of legacyHooks) {
|
|
134
|
+
const hookPath = join(hooksDir, hookFile);
|
|
135
|
+
if (existsSync(hookPath)) {
|
|
136
|
+
try {
|
|
137
|
+
const content = readFileSync(hookPath, 'utf-8');
|
|
138
|
+
if (content.includes('ClaudeTools') || content.includes('claudetools')) {
|
|
139
|
+
unlinkSync(hookPath);
|
|
140
|
+
success(`Removed ${hookFile}`);
|
|
141
|
+
cleaned = true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
// Skip
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Clean up claudetools section from global CLAUDE.md
|
|
151
|
+
if (existsSync(CLAUDE_MD_PATH)) {
|
|
152
|
+
try {
|
|
153
|
+
let content = readFileSync(CLAUDE_MD_PATH, 'utf-8');
|
|
154
|
+
if (content.includes(SECTION_START)) {
|
|
155
|
+
const startIdx = content.indexOf(SECTION_START);
|
|
156
|
+
const endIdx = content.indexOf(SECTION_END);
|
|
157
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
158
|
+
content =
|
|
159
|
+
content.slice(0, startIdx).trimEnd() +
|
|
160
|
+
'\n' +
|
|
161
|
+
content.slice(endIdx + SECTION_END.length).trimStart();
|
|
162
|
+
if (content.trim() === '') {
|
|
163
|
+
unlinkSync(CLAUDE_MD_PATH);
|
|
164
|
+
success('Removed empty CLAUDE.md');
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
writeFileSync(CLAUDE_MD_PATH, content.trim() + '\n');
|
|
168
|
+
success('Removed ClaudeTools section from CLAUDE.md');
|
|
169
|
+
}
|
|
170
|
+
cleaned = true;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// Skip
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
// Clean up ~/.claudetools/ directory
|
|
179
|
+
const claudetoolsDir = join(homedir(), '.claudetools');
|
|
180
|
+
if (existsSync(claudetoolsDir)) {
|
|
181
|
+
info(`Legacy config directory exists: ${claudetoolsDir}`);
|
|
182
|
+
info('You can remove it manually if no longer needed');
|
|
183
|
+
}
|
|
184
|
+
if (!cleaned) {
|
|
185
|
+
info('No legacy configuration found');
|
|
186
|
+
}
|
|
187
|
+
console.log('\n' + chalk.green(' Cleanup complete!'));
|
|
188
|
+
console.log(chalk.dim(' Restart Claude Code for changes to take effect.\n'));
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AGENTS.md template structure
|
|
3
|
+
* This is used as a reference - actual generation is done by agents-md-builder.ts
|
|
4
|
+
*/
|
|
5
|
+
export declare const AGENTS_MD_TEMPLATE = "# AGENTS.md - {ProjectName}\n\n> Comprehensive context for AI agents. Generated: {timestamp}\n\n## Project Overview\n\n**Path:** `{projectPath}`\n**Stack:** {stackSummary}\n\n## Directory Structure\n\n```\n{directoryTree}\n```\n\n## Technology Stack\n\n### Frameworks\n{frameworksList}\n\n### Libraries\n{librariesList}\n\n### Dev Tools\n{devToolsList}\n\n## Documentation\n\n{documentationLinks}\n\n## Entry Points\n\n{entryPointsList}\n\n## Conventions\n\n{conventionsList}\n\n---\n\n*Refresh: `claudetools onboard --refresh`*\n";
|
|
6
|
+
/**
|
|
7
|
+
* Example of a fully rendered AGENTS.md
|
|
8
|
+
*/
|
|
9
|
+
export declare const AGENTS_MD_EXAMPLE = "# AGENTS.md - my-nextjs-app\n\n> Comprehensive context for AI agents. Generated: 2026-01-26T00:00:00.000Z\n\n## Project Overview\n\n**Path:** `/Users/dev/projects/my-nextjs-app`\n**Stack:** TypeScript + Next.js 15.0.0 + React 19.0.0\n\n## Directory Structure\n\n```\nsrc/\n\u251C\u2500\u2500 app/\n\u2502 \u251C\u2500\u2500 layout.tsx\n\u2502 \u251C\u2500\u2500 page.tsx\n\u2502 \u2514\u2500\u2500 api/\n\u2502 \u2514\u2500\u2500 route.ts\n\u251C\u2500\u2500 components/\n\u2502 \u251C\u2500\u2500 ui/\n\u2502 \u2514\u2500\u2500 forms/\n\u251C\u2500\u2500 lib/\n\u2502 \u251C\u2500\u2500 db.ts\n\u2502 \u2514\u2500\u2500 utils.ts\n\u2514\u2500\u2500 types/\n \u2514\u2500\u2500 index.ts\n```\n\n## Technology Stack\n\n### Frameworks\n- **next** (15.0.0) - fullstack\n- **react** (19.0.0) - frontend\n\n### Libraries\n**database:**\n- drizzle-orm (0.30.0)\n\n**validation:**\n- zod (3.22.0)\n\n**data-fetching:**\n- @tanstack/react-query (5.0.0)\n\n### Dev Tools\n- vitest (testing)\n- eslint (linting)\n\n## Documentation\n\n- [`docs/frameworks/next.md`](docs/frameworks/next.md) - Next.js\n- [`docs/libraries/drizzle-orm.md`](docs/libraries/drizzle-orm.md) - Drizzle ORM\n- [`docs/libraries/zod.md`](docs/libraries/zod.md) - Zod\n\n## Entry Points\n\n- `src/app/layout.tsx` - Root layout component\n- `src/app/page.tsx` - Home page component\n- `src/app/api/route.ts` - API route handler\n\n## Conventions\n\n- **File Naming:** kebab-case - Files use kebab-case naming (e.g., user-service.ts)\n- **Imports:** @/* - Use path alias for imports instead of relative paths\n- **Routing:** App Router - Uses Next.js App Router with file-based routing in app/\n- **Components:** Functional - Use functional components with hooks\n\n---\n\n*Refresh: `claudetools onboard --refresh`*\n";
|
|
10
|
+
//# sourceMappingURL=agents-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../src/templates/agents-md.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,uhBAyC9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,6wDAsE7B,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// AGENTS.md Template
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Template for generating comprehensive AI agent context
|
|
5
|
+
/**
|
|
6
|
+
* AGENTS.md template structure
|
|
7
|
+
* This is used as a reference - actual generation is done by agents-md-builder.ts
|
|
8
|
+
*/
|
|
9
|
+
export const AGENTS_MD_TEMPLATE = `# AGENTS.md - {ProjectName}
|
|
10
|
+
|
|
11
|
+
> Comprehensive context for AI agents. Generated: {timestamp}
|
|
12
|
+
|
|
13
|
+
## Project Overview
|
|
14
|
+
|
|
15
|
+
**Path:** \`{projectPath}\`
|
|
16
|
+
**Stack:** {stackSummary}
|
|
17
|
+
|
|
18
|
+
## Directory Structure
|
|
19
|
+
|
|
20
|
+
\`\`\`
|
|
21
|
+
{directoryTree}
|
|
22
|
+
\`\`\`
|
|
23
|
+
|
|
24
|
+
## Technology Stack
|
|
25
|
+
|
|
26
|
+
### Frameworks
|
|
27
|
+
{frameworksList}
|
|
28
|
+
|
|
29
|
+
### Libraries
|
|
30
|
+
{librariesList}
|
|
31
|
+
|
|
32
|
+
### Dev Tools
|
|
33
|
+
{devToolsList}
|
|
34
|
+
|
|
35
|
+
## Documentation
|
|
36
|
+
|
|
37
|
+
{documentationLinks}
|
|
38
|
+
|
|
39
|
+
## Entry Points
|
|
40
|
+
|
|
41
|
+
{entryPointsList}
|
|
42
|
+
|
|
43
|
+
## Conventions
|
|
44
|
+
|
|
45
|
+
{conventionsList}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
*Refresh: \`claudetools onboard --refresh\`*
|
|
50
|
+
`;
|
|
51
|
+
/**
|
|
52
|
+
* Example of a fully rendered AGENTS.md
|
|
53
|
+
*/
|
|
54
|
+
export const AGENTS_MD_EXAMPLE = `# AGENTS.md - my-nextjs-app
|
|
55
|
+
|
|
56
|
+
> Comprehensive context for AI agents. Generated: 2026-01-26T00:00:00.000Z
|
|
57
|
+
|
|
58
|
+
## Project Overview
|
|
59
|
+
|
|
60
|
+
**Path:** \`/Users/dev/projects/my-nextjs-app\`
|
|
61
|
+
**Stack:** TypeScript + Next.js 15.0.0 + React 19.0.0
|
|
62
|
+
|
|
63
|
+
## Directory Structure
|
|
64
|
+
|
|
65
|
+
\`\`\`
|
|
66
|
+
src/
|
|
67
|
+
├── app/
|
|
68
|
+
│ ├── layout.tsx
|
|
69
|
+
│ ├── page.tsx
|
|
70
|
+
│ └── api/
|
|
71
|
+
│ └── route.ts
|
|
72
|
+
├── components/
|
|
73
|
+
│ ├── ui/
|
|
74
|
+
│ └── forms/
|
|
75
|
+
├── lib/
|
|
76
|
+
│ ├── db.ts
|
|
77
|
+
│ └── utils.ts
|
|
78
|
+
└── types/
|
|
79
|
+
└── index.ts
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
## Technology Stack
|
|
83
|
+
|
|
84
|
+
### Frameworks
|
|
85
|
+
- **next** (15.0.0) - fullstack
|
|
86
|
+
- **react** (19.0.0) - frontend
|
|
87
|
+
|
|
88
|
+
### Libraries
|
|
89
|
+
**database:**
|
|
90
|
+
- drizzle-orm (0.30.0)
|
|
91
|
+
|
|
92
|
+
**validation:**
|
|
93
|
+
- zod (3.22.0)
|
|
94
|
+
|
|
95
|
+
**data-fetching:**
|
|
96
|
+
- @tanstack/react-query (5.0.0)
|
|
97
|
+
|
|
98
|
+
### Dev Tools
|
|
99
|
+
- vitest (testing)
|
|
100
|
+
- eslint (linting)
|
|
101
|
+
|
|
102
|
+
## Documentation
|
|
103
|
+
|
|
104
|
+
- [\`docs/frameworks/next.md\`](docs/frameworks/next.md) - Next.js
|
|
105
|
+
- [\`docs/libraries/drizzle-orm.md\`](docs/libraries/drizzle-orm.md) - Drizzle ORM
|
|
106
|
+
- [\`docs/libraries/zod.md\`](docs/libraries/zod.md) - Zod
|
|
107
|
+
|
|
108
|
+
## Entry Points
|
|
109
|
+
|
|
110
|
+
- \`src/app/layout.tsx\` - Root layout component
|
|
111
|
+
- \`src/app/page.tsx\` - Home page component
|
|
112
|
+
- \`src/app/api/route.ts\` - API route handler
|
|
113
|
+
|
|
114
|
+
## Conventions
|
|
115
|
+
|
|
116
|
+
- **File Naming:** kebab-case - Files use kebab-case naming (e.g., user-service.ts)
|
|
117
|
+
- **Imports:** @/* - Use path alias for imports instead of relative paths
|
|
118
|
+
- **Routing:** App Router - Uses Next.js App Router with file-based routing in app/
|
|
119
|
+
- **Components:** Functional - Use functional components with hooks
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
*Refresh: \`claudetools onboard --refresh\`*
|
|
124
|
+
`;
|
|
125
|
+
//# sourceMappingURL=agents-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../src/templates/agents-md.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAChF,yDAAyD;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEhC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project-level CLAUDE.md - minimal pointer to AGENTS.md
|
|
3
|
+
*/
|
|
4
|
+
export declare function getProjectTemplate(projectName: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Global CLAUDE.md content - added to ~/.claude/CLAUDE.md
|
|
7
|
+
* This is minimal since memory API is sunset
|
|
8
|
+
*/
|
|
9
|
+
export declare const GLOBAL_TEMPLATE = "\n# ClaudeTools\n\nDocumentation-driven AI context for Claude Code.\n\n## Project Setup\n\nRun in any project directory:\n\n```bash\nclaudetools init # Initialize project\nclaudetools onboard # Generate documentation and AGENTS.md\n```\n\n## Generated Files\n\n- **AGENTS.md** - Comprehensive project context for AI agents\n- **docs/** - Stack documentation (gitignored, regenerable)\n- **.claude/CLAUDE.md** - Minimal pointer to AGENTS.md\n\n## Refresh Documentation\n\n```bash\nclaudetools onboard --refresh\n```\n\nRe-fetches documentation from Context7 and regenerates AGENTS.md.\n\n---\n\n*[ClaudeTools](https://github.com/claudetools/claudetools) - AI agent project setup*\n";
|
|
10
|
+
export declare const SECTION_START = "<!-- CLAUDETOOLS:START -->";
|
|
11
|
+
export declare const SECTION_END = "<!-- CLAUDETOOLS:END -->";
|
|
12
|
+
//# sourceMappingURL=claude-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,orBA+B3B,CAAC;AAGF,eAAO,MAAM,aAAa,+BAA+B,CAAC;AAC1D,eAAO,MAAM,WAAW,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// CLAUDE.md Template Content
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Minimal templates that point to AGENTS.md
|
|
5
|
+
/**
|
|
6
|
+
* Project-level CLAUDE.md - minimal pointer to AGENTS.md
|
|
7
|
+
*/
|
|
8
|
+
export function getProjectTemplate(projectName) {
|
|
9
|
+
return `# ${projectName}
|
|
10
|
+
|
|
11
|
+
See [AGENTS.md](../AGENTS.md) for comprehensive project context.
|
|
12
|
+
|
|
13
|
+
## Quick Links
|
|
14
|
+
|
|
15
|
+
- Project docs: \`docs/\`
|
|
16
|
+
- Agent context: \`AGENTS.md\`
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
*Generated by ClaudeTools. Refresh: \`claudetools onboard --refresh\`*
|
|
21
|
+
`;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Global CLAUDE.md content - added to ~/.claude/CLAUDE.md
|
|
25
|
+
* This is minimal since memory API is sunset
|
|
26
|
+
*/
|
|
27
|
+
export const GLOBAL_TEMPLATE = `
|
|
28
|
+
# ClaudeTools
|
|
29
|
+
|
|
30
|
+
Documentation-driven AI context for Claude Code.
|
|
31
|
+
|
|
32
|
+
## Project Setup
|
|
33
|
+
|
|
34
|
+
Run in any project directory:
|
|
35
|
+
|
|
36
|
+
\`\`\`bash
|
|
37
|
+
claudetools init # Initialize project
|
|
38
|
+
claudetools onboard # Generate documentation and AGENTS.md
|
|
39
|
+
\`\`\`
|
|
40
|
+
|
|
41
|
+
## Generated Files
|
|
42
|
+
|
|
43
|
+
- **AGENTS.md** - Comprehensive project context for AI agents
|
|
44
|
+
- **docs/** - Stack documentation (gitignored, regenerable)
|
|
45
|
+
- **.claude/CLAUDE.md** - Minimal pointer to AGENTS.md
|
|
46
|
+
|
|
47
|
+
## Refresh Documentation
|
|
48
|
+
|
|
49
|
+
\`\`\`bash
|
|
50
|
+
claudetools onboard --refresh
|
|
51
|
+
\`\`\`
|
|
52
|
+
|
|
53
|
+
Re-fetches documentation from Context7 and regenerates AGENTS.md.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
*[ClaudeTools](https://github.com/claudetools/claudetools) - AI agent project setup*
|
|
58
|
+
`;
|
|
59
|
+
// Legacy section markers (for cleanup)
|
|
60
|
+
export const SECTION_START = '<!-- CLAUDETOOLS:START -->';
|
|
61
|
+
export const SECTION_END = '<!-- CLAUDETOOLS:END -->';
|
|
62
|
+
//# sourceMappingURL=claude-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../src/templates/claude-md.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAChF,4CAA4C;AAE5C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,KAAK,WAAW;;;;;;;;;;;;CAYxB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B9B,CAAC;AAEF,uCAAuC;AACvC,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,CAAC;AAC1D,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@claudetools/cli",
|
|
3
|
+
"version": "0.9.2",
|
|
4
|
+
"description": "AI agent project setup and documentation tools for Claude Code",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/cli.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"claudetools": "dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md",
|
|
13
|
+
"LICENSE"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"dev": "tsx src/cli.ts",
|
|
18
|
+
"test": "vitest run",
|
|
19
|
+
"test:watch": "vitest",
|
|
20
|
+
"typecheck": "tsc --noEmit",
|
|
21
|
+
"clean": "rm -rf dist",
|
|
22
|
+
"prepublishOnly": "npm run build"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"claude",
|
|
26
|
+
"claude-code",
|
|
27
|
+
"ai",
|
|
28
|
+
"anthropic",
|
|
29
|
+
"cli",
|
|
30
|
+
"documentation",
|
|
31
|
+
"onboarding",
|
|
32
|
+
"context7"
|
|
33
|
+
],
|
|
34
|
+
"author": "ClaudeTools <hello@claudetools.dev>",
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=18.0.0"
|
|
38
|
+
},
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"chalk": "^5.6.2",
|
|
44
|
+
"ora": "^9.0.0",
|
|
45
|
+
"prompts": "^2.4.2"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/node": "^20.10.0",
|
|
49
|
+
"@types/prompts": "^2.4.9",
|
|
50
|
+
"tsx": "^4.7.0",
|
|
51
|
+
"typescript": "^5.3.0",
|
|
52
|
+
"vitest": "^4.0.15"
|
|
53
|
+
}
|
|
54
|
+
}
|