diff --git a/README.md b/README.md index b3b2543..1fcbfaf 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A CLI tool to set up developer tools and teach your AI coding assistants how to ## What This Does -1. **Installs CLI tools**: sqlcmd, GitHub CLI (gh), Atlassian CLI (atl), n8nctl, gcx, m365, esq, discordctl, playwright, hcloud +1. **Installs CLI tools**: sqlcmd, GitHub CLI (gh), Atlassian CLI (atl), n8nctl, gcx, m365, esq, discordctl, playwright, hcloud, ovhcloud 2. **Configures sqlcmd contexts**: Named contexts for switching between database environments 3. **Teaches your AI assistants**: Injects CLI documentation into Claude Code, Antigravity, and Codex configs @@ -20,6 +20,7 @@ A CLI tool to set up developer tools and teach your AI coding assistants how to | **discordctl** | Discord CLI for REST API interactions (messages, reactions) | | **playwright** | Browser automation for screenshots, PDFs, and web testing | | **hcloud** | Hetzner Cloud CLI for servers, networks, volumes, firewalls | +| **ovhcloud** | OVHcloud CLI for VPS, dedicated servers, domains, cloud projects | ## Repository Overrides @@ -199,7 +200,7 @@ This tool teaches your AI coding assistants how to use these CLI tools by inject The documentation includes: -- Command syntax and examples for sqlcmd, gh, atl, n8nctl, gcx, m365, esq, discordctl, playwright, and hcloud +- Command syntax and examples for sqlcmd, gh, atl, n8nctl, gcx, m365, esq, discordctl, playwright, hcloud, and ovhcloud - Safety guidelines (e.g., confirm before SQL writes) - Formatting guides (Jira Markdown/ADF, Confluence HTML) diff --git a/bin/cli.js b/bin/cli.js index 417c04a..dd47a93 100755 --- a/bin/cli.js +++ b/bin/cli.js @@ -14,6 +14,7 @@ import { configureEsqCli } from '../lib/installers/esq.js'; import { configureDiscordCli } from '../lib/installers/discord.js'; import { configurePlaywright } from '../lib/installers/playwright.js'; import { configureHcloudCli } from '../lib/installers/hcloud.js'; +import { configureOvhcloudCli } from '../lib/installers/ovhcloud.js'; import { configureLlmTools } from '../lib/llm/index.js'; import { getShellProfile } from '../lib/utils/shell.js'; @@ -58,48 +59,52 @@ const runFullSetup = async () => { console.log(chalk.gray('This will configure all CLI tools and LLM integrations.\n')); // Step 1: sqlcmd - console.log(chalk.cyan.bold('\n[1/11] SQL Server Tools')); + console.log(chalk.cyan.bold('\n[1/12] SQL Server Tools')); await installSqlcmd(); await configureSqlEnv(); // Step 2: GitHub CLI - console.log(chalk.cyan.bold('\n[2/11] GitHub CLI')); + console.log(chalk.cyan.bold('\n[2/12] GitHub CLI')); await configureGitHubCli(); // Step 3: Atlassian CLI - console.log(chalk.cyan.bold('\n[3/11] Atlassian CLI')); + console.log(chalk.cyan.bold('\n[3/12] Atlassian CLI')); await configureAtlassianCli(); // Step 4: n8n CLI - console.log(chalk.cyan.bold('\n[4/11] n8n CLI')); + console.log(chalk.cyan.bold('\n[4/12] n8n CLI')); await configureN8nCli(); // Step 5: Grafana Cloud CLI - console.log(chalk.cyan.bold('\n[5/11] Grafana Cloud CLI (gcx)')); + console.log(chalk.cyan.bold('\n[5/12] Grafana Cloud CLI (gcx)')); await configureGcx(); // Step 6: Microsoft 365 CLI - console.log(chalk.cyan.bold('\n[6/11] Microsoft 365 CLI')); + console.log(chalk.cyan.bold('\n[6/12] Microsoft 365 CLI')); await configureM365Cli(); // Step 7: Elasticsearch Query CLI - console.log(chalk.cyan.bold('\n[7/11] Elasticsearch Query CLI')); + console.log(chalk.cyan.bold('\n[7/12] Elasticsearch Query CLI')); await configureEsqCli(); // Step 8: Discord CLI - console.log(chalk.cyan.bold('\n[8/11] Discord CLI')); + console.log(chalk.cyan.bold('\n[8/12] Discord CLI')); await configureDiscordCli(); // Step 9: Playwright - console.log(chalk.cyan.bold('\n[9/11] Playwright')); + console.log(chalk.cyan.bold('\n[9/12] Playwright')); await configurePlaywright(); // Step 10: Hetzner Cloud CLI - console.log(chalk.cyan.bold('\n[10/11] Hetzner Cloud CLI')); + console.log(chalk.cyan.bold('\n[10/12] Hetzner Cloud CLI')); await configureHcloudCli(); - // Step 11: LLM Configuration - console.log(chalk.cyan.bold('\n[11/11] LLM Configuration')); + // Step 11: OVHcloud CLI + console.log(chalk.cyan.bold('\n[11/12] OVHcloud CLI')); + await configureOvhcloudCli(); + + // Step 12: LLM Configuration + console.log(chalk.cyan.bold('\n[12/12] LLM Configuration')); await configureLlmTools(); // Final summary @@ -128,6 +133,7 @@ const runMenu = async () => { { name: '💬 Configure Discord CLI', value: 'discord' }, { name: '🎭 Configure Playwright (browser automation)', value: 'playwright' }, { name: '☁️ Configure Hetzner Cloud CLI (hcloud)', value: 'hcloud' }, + { name: '☁️ Configure OVHcloud CLI (ovhcloud)', value: 'ovhcloud' }, { name: '🤖 Configure AI assistants (Claude Code, Antigravity, Codex CLI)', value: 'llm' }, new inquirer.Separator(), { name: '❌ Exit', value: 'exit' }, @@ -171,6 +177,9 @@ const runMenu = async () => { case 'hcloud': await configureHcloudCli(); break; + case 'ovhcloud': + await configureOvhcloudCli(); + break; case 'llm': await configureLlmTools(); break; @@ -235,6 +244,7 @@ ${chalk.bold('Usage:')} llm-cli-setup --discord Configure Discord CLI only llm-cli-setup --playwright Configure Playwright only llm-cli-setup --hcloud Configure Hetzner Cloud CLI only + llm-cli-setup --ovhcloud Configure OVHcloud CLI only llm-cli-setup --llm Configure LLM tools only ${chalk.bold('Options:')} @@ -261,6 +271,7 @@ ${chalk.bold('Options:')} discord: args.includes('--discord'), playwright: args.includes('--playwright'), hcloud: args.includes('--hcloud'), + ovhcloud: args.includes('--ovhcloud'), llm: args.includes('--llm'), }; }; @@ -298,6 +309,8 @@ const main = async () => { await configurePlaywright(); } else if (args.hcloud) { await configureHcloudCli(); + } else if (args.ovhcloud) { + await configureOvhcloudCli(); } else if (args.llm) { await configureLlmTools(); } else {