Skip to content

Commit 010c9fe

Browse files
Release v1.0.1: Add agent removal, improve status indicators & SEO optimization
Features: - Added 'remove' command to uninstall agents (with 'uninstall' alias) - Updated list command with clear status indicators: '✓ In Use' (green), '⚠ Disabled' (yellow) - Enhanced enable/disable commands with better error messages and helpful suggestions - Added confirmation prompts for safe agent removal SEO Improvements: - Enhanced package description with keyword-rich content - Expanded keywords list from 10 to 30+ relevant terms - Improved README title and headers for better search visibility - Added downloads badge and star history chart - Created SEO keywords section with use cases - Added GitHub topics guide for repository discoverability Documentation: - Updated command reference with remove command - Improved overall user experience with visual indicators
1 parent 0a5ee21 commit 010c9fe

File tree

8 files changed

+232
-22
lines changed

8 files changed

+232
-22
lines changed

GITHUB_TOPICS.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# GitHub Repository Topics for SEO
2+
3+
Add these topics to your GitHub repository for better discoverability:
4+
5+
## Primary Topics (Most Important)
6+
- claude
7+
- claude-code
8+
- ai-agents
9+
- developer-tools
10+
- cli
11+
12+
## AI & Automation Topics
13+
- artificial-intelligence
14+
- ai-powered
15+
- automation
16+
- workflow-automation
17+
- llm
18+
- anthropic
19+
20+
## Development Tool Topics
21+
- code-review
22+
- automated-testing
23+
- debugging
24+
- refactoring
25+
- documentation-generator
26+
- security-scanner
27+
28+
## Language/Framework Agnostic
29+
- programming
30+
- software-development
31+
- productivity
32+
- devtools
33+
- coding-assistant
34+
35+
## Community Topics
36+
- open-source
37+
- hacktoberfest
38+
- good-first-issue
39+
40+
## Technology Topics
41+
- nodejs
42+
- javascript
43+
- typescript
44+
- npm-package
45+
46+
## Use these in GitHub repository settings under "Topics" for maximum visibility!

README.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
1-
# Claude Sub-Agents Manager
1+
# Claude Sub-Agents Manager - AI-Powered Development Assistants for Claude Code
22

33
<div align="center">
44

55
![Claude Sub-Agents](https://img.shields.io/badge/Claude-Sub--Agents-blue?style=for-the-badge&logo=anthropic)
66
[![npm version](https://img.shields.io/npm/v/@webdevtoday/claude-agents?style=flat-square)](https://www.npmjs.com/package/@webdevtoday/claude-agents)
7+
[![npm downloads](https://img.shields.io/npm/dm/@webdevtoday/claude-agents?style=flat-square)](https://www.npmjs.com/package/@webdevtoday/claude-agents)
78
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
89
[![GitHub release](https://img.shields.io/github/release/webdevtodayjason/sub-agents.svg?style=flat-square)](https://github.com/webdevtodayjason/sub-agents/releases)
910
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
1011
[![Made with Love](https://img.shields.io/badge/Made%20with-❤️-red.svg?style=flat-square)](https://github.com/webdevtodayjason)
1112

12-
**Supercharge your Claude Code experience with specialized AI sub-agents** 🚀
13+
**🚀 Supercharge Claude Code with Specialized AI Sub-Agents for Code Review, Testing, Debugging & More**
1314

14-
[Installation](#-installation)[Quick Start](#-quick-start)[Agents](#-available-agents)[Documentation](#-documentation)[Contributing](#-contributing)
15+
**Transform your development workflow with intelligent AI assistants that excel at specific programming tasks**
16+
17+
[Installation](#-installation)[Quick Start](#-quick-start)[Available Agents](#-available-sub-agents)[Documentation](#-documentation)[Contributing](#-contributing)
1518

1619
</div>
1720

1821
---
1922

20-
## 🎯 Overview
23+
## 🎯 What is Claude Sub-Agents Manager?
2124

22-
Claude Sub-Agents Manager is a powerful CLI tool that brings specialized AI assistants to your Claude Code workflow. Install production-ready agents for code review, testing, debugging, documentation, and more - or create your own custom agents tailored to your specific needs.
25+
Claude Sub-Agents Manager is a powerful CLI tool that enhances Claude Code with specialized AI assistants designed for specific development tasks. Each sub-agent is an expert in its domain - from automated code reviews and test fixing to intelligent debugging and documentation generation. Install production-ready agents instantly or create custom agents tailored to your unique workflow needs.
2326

2427
### ✨ Why Claude Sub-Agents?
2528

@@ -194,6 +197,7 @@ claude-agents install security-scanner
194197
| `list --installed` | Show only installed agents | `claude-agents list --installed` |
195198
| `enable <agent>` | Enable a disabled agent | `claude-agents enable code-reviewer` |
196199
| `disable <agent>` | Disable an agent | `claude-agents disable test-runner` |
200+
| `remove <agent>` | Remove/uninstall an agent | `claude-agents remove debugger` |
197201
| `info <agent>` | Show agent details | `claude-agents info debugger` |
198202
| `create` | Create a custom agent | `claude-agents create` |
199203

@@ -366,12 +370,35 @@ MIT License - see [LICENSE](LICENSE) file for details
366370
- 🐦 [Follow Updates](https://twitter.com/webdevtodayjason)
367371
-[Star on GitHub](https://github.com/webdevtodayjason/sub-agents)
368372

373+
## 🔍 SEO Keywords & Use Cases
374+
375+
### Perfect for developers who want to:
376+
- **Automate code reviews** with AI-powered analysis
377+
- **Fix failing tests automatically** using intelligent test runners
378+
- **Debug complex issues** with expert error analysis
379+
- **Generate documentation** from existing code
380+
- **Scan for security vulnerabilities** proactively
381+
- **Refactor legacy code** with modern patterns
382+
- **Enhance Claude Code** with specialized capabilities
383+
- **Create custom AI agents** for specific workflows
384+
385+
### Technologies & Integrations:
386+
- Works with **Claude Code** by Anthropic
387+
- Supports all major programming languages
388+
- Integrates with existing development workflows
389+
- Compatible with Git, npm, yarn, and more
390+
- Extensible through custom agent creation
391+
369392
---
370393

371394
<div align="center">
372395

373396
**Made with ❤️ by [WebDev Today Jason](https://github.com/webdevtodayjason)**
374397

375-
*Building tools to make developers' lives easier, one agent at a time*
398+
*Building AI-powered developer tools to enhance productivity and code quality*
399+
400+
**Claude Sub-Agents Manager** - Your AI-Powered Development Team in Claude Code
401+
402+
[![Star History Chart](https://api.star-history.com/svg?repos=webdevtodayjason/sub-agents&type=Date)](https://star-history.com/#webdevtodayjason/sub-agents&Date)
376403

377404
</div>

package.json

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@webdevtoday/claude-agents",
3-
"version": "1.0.0",
4-
"description": "A powerful sub-agents manager for Claude Code - easily install, manage, and create specialized AI agents",
3+
"version": "1.0.1",
4+
"description": "Supercharge Claude Code with specialized AI sub-agents for code review, testing, debugging, documentation & more. Easy CLI tool to install, manage & create custom AI agents for enhanced development workflow",
55
"main": "src/index.js",
66
"type": "module",
77
"bin": {
@@ -24,14 +24,34 @@
2424
"keywords": [
2525
"claude",
2626
"claude-code",
27-
"ai",
28-
"agents",
29-
"cli",
30-
"developer-tools",
31-
"automation",
27+
"claude-ai",
28+
"anthropic",
29+
"ai-agents",
30+
"ai-assistant",
31+
"sub-agents",
3232
"code-review",
33+
"code-quality",
34+
"automated-testing",
35+
"test-automation",
3336
"debugging",
34-
"testing"
37+
"debug-tools",
38+
"refactoring",
39+
"documentation-generator",
40+
"security-scanner",
41+
"developer-tools",
42+
"devtools",
43+
"cli",
44+
"cli-tool",
45+
"productivity",
46+
"automation",
47+
"workflow-automation",
48+
"code-analysis",
49+
"ai-powered",
50+
"llm",
51+
"development-workflow",
52+
"coding-assistant",
53+
"pair-programming",
54+
"software-development"
3555
],
3656
"author": {
3757
"name": "WebDev Today",

src/commands/disable.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ export async function disableCommand(agentName, options) {
77

88
// Check if agent is installed
99
if (!installedAgents[agentName]) {
10-
console.log(chalk.red(`Agent "${agentName}" is not installed.`));
11-
console.log(chalk.gray('Use "claude-agents list" to see available agents.'));
10+
console.log(chalk.red(`❌ Agent "${agentName}" is not installed.`));
11+
console.log(chalk.gray('\nTo see installed agents:'));
12+
console.log(chalk.cyan(' claude-agents list --installed'));
13+
console.log(chalk.gray('\nTo install this agent:'));
14+
console.log(chalk.cyan(` claude-agents install ${agentName}`));
1215
process.exit(1);
1316
}
1417

src/commands/enable.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ export async function enableCommand(agentName, options) {
77

88
// Check if agent is installed
99
if (!installedAgents[agentName]) {
10-
console.log(chalk.red(`Agent "${agentName}" is not installed.`));
11-
console.log(chalk.gray('Use "claude-agents list" to see available agents.'));
10+
console.log(chalk.red(`❌ Agent "${agentName}" is not installed.`));
11+
console.log(chalk.gray('\nTo see available agents:'));
12+
console.log(chalk.cyan(' claude-agents list'));
13+
console.log(chalk.gray('\nTo install this agent:'));
14+
console.log(chalk.cyan(` claude-agents install ${agentName}`));
1215
process.exit(1);
1316
}
1417

src/commands/list.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,15 @@ export async function listCommand(options) {
6161

6262
if (agent.installed) {
6363
const enabled = isAgentEnabled(agent.name);
64-
status = enabled
65-
? chalk.green('● Enabled')
66-
: chalk.gray('○ Disabled');
64+
if (enabled) {
65+
status = chalk.green('✓ In Use');
66+
} else {
67+
status = chalk.yellow('⚠ Disabled');
68+
}
6769
scope = agent.installedInfo?.scope || 'unknown';
6870
version = agent.installedInfo?.version || version;
6971
} else {
70-
status = chalk.blue('Available');
72+
status = chalk.gray('Available');
7173
}
7274

7375
table.push([

src/commands/remove.js

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
import chalk from 'chalk';
2+
import ora from 'ora';
3+
import { unlinkSync, existsSync } from 'fs';
4+
import { join } from 'path';
5+
import { getAgentsDir, getCommandsDir } from '../utils/paths.js';
6+
import { getInstalledAgents, removeInstalledAgent } from '../utils/config.js';
7+
import { confirmAction } from '../utils/prompts.js';
8+
import { getAgentDetails } from '../utils/agents.js';
9+
10+
export async function removeCommand(agentName, options) {
11+
const spinner = ora();
12+
13+
try {
14+
// Get installed agents
15+
const installedAgents = getInstalledAgents();
16+
17+
// Check if agent is installed
18+
if (!installedAgents[agentName]) {
19+
console.log(chalk.red(`Agent "${agentName}" is not installed.`));
20+
console.log(chalk.gray('Use "claude-agents list --installed" to see installed agents.'));
21+
process.exit(1);
22+
}
23+
24+
// Get agent info
25+
const agentInfo = installedAgents[agentName];
26+
const isProject = options.project || agentInfo.scope === 'project';
27+
28+
// Check if trying to remove from wrong scope
29+
if (options.project && agentInfo.scope === 'user') {
30+
console.log(chalk.yellow(`Agent "${agentName}" is installed in user scope, not project scope.`));
31+
console.log(chalk.gray('Remove --project flag to uninstall from user scope.'));
32+
process.exit(1);
33+
}
34+
35+
if (!options.project && agentInfo.scope === 'project') {
36+
console.log(chalk.yellow(`Agent "${agentName}" is installed in project scope, not user scope.`));
37+
console.log(chalk.gray('Add --project flag to uninstall from project scope.'));
38+
process.exit(1);
39+
}
40+
41+
// Show agent details
42+
console.log(chalk.bold(`\nAgent to remove: ${agentName}`));
43+
console.log(`Scope: ${agentInfo.scope}`);
44+
console.log(`Version: ${agentInfo.version || 'unknown'}`);
45+
console.log(`Installed: ${new Date(agentInfo.installedAt).toLocaleDateString()}`);
46+
47+
// Confirm removal
48+
const confirmMessage = `Are you sure you want to remove the "${agentName}" agent?`;
49+
if (!await confirmAction(confirmMessage, false)) {
50+
console.log(chalk.yellow('Removal cancelled.'));
51+
return;
52+
}
53+
54+
spinner.start(`Removing ${chalk.bold(agentName)}...`);
55+
56+
// Get directories
57+
const agentsDir = getAgentsDir(isProject);
58+
const commandsDir = getCommandsDir(isProject);
59+
60+
// Remove agent file
61+
const agentPath = join(agentsDir, `${agentName}.md`);
62+
if (existsSync(agentPath)) {
63+
unlinkSync(agentPath);
64+
}
65+
66+
// Remove associated slash commands
67+
const agentDetails = getAgentDetails(agentName);
68+
if (agentDetails && agentDetails.commands && agentDetails.commands.length > 0) {
69+
for (const command of agentDetails.commands) {
70+
const commandPath = join(commandsDir, `${command}.md`);
71+
if (existsSync(commandPath)) {
72+
try {
73+
unlinkSync(commandPath);
74+
} catch (error) {
75+
// Ignore errors for command removal
76+
}
77+
}
78+
}
79+
}
80+
81+
// Remove from config
82+
removeInstalledAgent(agentName, isProject);
83+
84+
spinner.succeed(`Removed ${chalk.bold(agentName)}`);
85+
86+
console.log('');
87+
console.log(chalk.green('✓ Agent removed successfully!'));
88+
console.log(chalk.gray('The agent has been uninstalled from your system.'));
89+
90+
// Suggest reinstallation
91+
console.log('');
92+
console.log(chalk.gray(`To reinstall this agent, use:`));
93+
console.log(chalk.gray(`claude-agents install ${agentName}`));
94+
95+
} catch (error) {
96+
spinner.fail('Removal failed');
97+
console.error(chalk.red('Error:'), error.message);
98+
process.exit(1);
99+
}
100+
}

src/index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { enableCommand } from './commands/enable.js';
1111
import { disableCommand } from './commands/disable.js';
1212
import { infoCommand } from './commands/info.js';
1313
import { createCommand } from './commands/create.js';
14+
import { removeCommand } from './commands/remove.js';
1415

1516
const __filename = fileURLToPath(import.meta.url);
1617
const __dirname = dirname(__filename);
@@ -77,6 +78,14 @@ program
7778
.option('-t, --template <template>', 'Use a template (basic, advanced)')
7879
.action(createCommand);
7980

81+
// Remove command
82+
program
83+
.command('remove <agent>')
84+
.alias('uninstall')
85+
.description('Remove an installed agent')
86+
.option('-p, --project', 'Remove from project scope')
87+
.action(removeCommand);
88+
8089
// Update command
8190
program
8291
.command('update')

0 commit comments

Comments
 (0)