{"id":50529700,"url":"https://github.com/dimer47/action1-cli","last_synced_at":"2026-06-03T12:01:25.875Z","repository":{"id":355000860,"uuid":"1226364578","full_name":"dimer47/action1-cli","owner":"dimer47","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-01T10:15:16.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-01T12:15:08.939Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimer47.png","metadata":{"files":{"readme":"README.fr.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-01T09:52:37.000Z","updated_at":"2026-05-01T10:15:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dimer47/action1-cli","commit_stats":null,"previous_names":["dimer47/action1-cli"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/dimer47/action1-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimer47%2Faction1-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimer47%2Faction1-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimer47%2Faction1-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimer47%2Faction1-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimer47","download_url":"https://codeload.github.com/dimer47/action1-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimer47%2Faction1-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33863264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-03T12:01:24.796Z","updated_at":"2026-06-03T12:01:25.865Z","avatar_url":"https://github.com/dimer47.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# action1-cli\n\nCLI pour l'API Action1 — gerez vos endpoints, automations, patches et bien plus depuis le terminal.\n\n## Fonctionnalites\n\n- **~140 endpoints API** couverts : endpoints, automations, rapports, deploiement logiciel, vulnerabilites, RBAC, etc.\n- **Stockage securise des credentials** : secrets client stockes dans le keychain OS (Keychain macOS, Windows Credential Manager, Linux Secret Service)\n- **Multi-profils** : gerez plusieurs comptes et organisations Action1\n- **Multi-region** : Amerique du Nord, Europe, Australie\n- **Sortie flexible** : table, JSON, CSV, YAML\n- **Multi-plateforme** : macOS, Linux, Windows (amd64 et arm64)\n- **Pagination automatique** : recuperez tous les resultats avec `--all`\n- **Integration MCP** : 50 tools pour Claude Code, VS Code, JetBrains\n\n## Prerequis\n\n- Un compte [Action1](https://www.action1.com) avec un acces API\n- Des **credentials API** (Client ID et Client Secret) generes depuis la console Action1\n\n## Installation\n\n### Methode 1 : Telecharger le binaire (recommande)\n\nRendez-vous sur la page [Releases](https://github.com/dimer47/action1-cli/releases/latest) et telechargez l'archive correspondant a votre plateforme.\n\nOu en une commande :\n\n**macOS (Apple Silicon — M1/M2/M3/M4) :**\n\n```bash\ncurl -sL https://github.com/dimer47/action1-cli/releases/latest/download/action1-cli_darwin_arm64.tar.gz | tar xz\nsudo mv action1 /usr/local/bin/\n```\n\n**macOS (Intel) :**\n\n```bash\ncurl -sL https://github.com/dimer47/action1-cli/releases/latest/download/action1-cli_darwin_amd64.tar.gz | tar xz\nsudo mv action1 /usr/local/bin/\n```\n\n**Linux (amd64) :**\n\n```bash\ncurl -sL https://github.com/dimer47/action1-cli/releases/latest/download/action1-cli_linux_amd64.tar.gz | tar xz\nsudo mv action1 /usr/local/bin/\n```\n\n**Linux (arm64 — Raspberry Pi, etc.) :**\n\n```bash\ncurl -sL https://github.com/dimer47/action1-cli/releases/latest/download/action1-cli_linux_arm64.tar.gz | tar xz\nsudo mv action1 /usr/local/bin/\n```\n\n**Windows :**\n\nTelechargez `action1-cli_windows_amd64.zip` depuis les [Releases](https://github.com/dimer47/action1-cli/releases/latest), decompressez et ajoutez le dossier au `PATH`.\n\n### Methode 2 : Depuis les sources (necessite Go 1.21+)\n\n```bash\ngo install github.com/dimer47/action1-cli@latest\n```\n\nLe binaire sera installe dans `$GOPATH/bin/` (generalement `~/go/bin/`). Assurez-vous que ce repertoire est dans votre `PATH`.\n\n### Methode 3 : Compiler localement\n\n```bash\ngit clone https://github.com/dimer47/action1-cli.git\ncd action1-cli\ngo build -o action1 .\n./action1 version\n```\n\n### Verifier l'installation\n\n```bash\naction1 version\n# action1 version 0.1.0\n```\n\n## Mise a jour\n\nLa CLI verifie automatiquement les nouvelles versions au demarrage et vous notifie quand une mise a jour est disponible.\n\n```bash\n# Mettre a jour vers la derniere version\naction1 self-update\n\n# Verifier les mises a jour sans installer\naction1 self-update --check\n```\n\nLa mise a jour est telechargee depuis GitHub Releases et remplace le binaire actuel. Si le binaire est dans un repertoire protege (ex: `/usr/local/bin/`), `sudo` sera demande automatiquement.\n\n## Demarrage rapide\n\n### 1. Generer des credentials API\n\n1. Connectez-vous a la [console Action1](https://app.action1.com)\n2. Allez dans **Configuration \u003e API Credentials**\n3. Cliquez **Create API Credentials**\n4. Copiez le **Client ID** et le **Client Secret**\n5. Notez votre region (Amerique du Nord, Europe ou Australie)\n\n### 2. S'authentifier\n\n```bash\naction1 auth login --region eu\n```\n\nRepondez aux questions :\n```\nRegion: eu (https://app.eu.action1.com/api/3.0)\nClient ID: api-key-xxxxx@action1.com     # Collez votre Client ID\nClient Secret:                             # Collez votre secret (masque)\nSuccessfully authenticated.\nToken expires in 3600 seconds.\n```\n\nLes credentials client sont stockes dans le **keychain OS** (chiffre). Les tokens sont stockes localement avec des permissions restreintes (0600).\n\n### 3. Configurer l'organisation par defaut\n\n```bash\n# Lister les organisations pour trouver l'ID\naction1 org list\n\n# Definir l'organisation par defaut\naction1 config set org \u003corgId\u003e\n```\n\n### 4. Commencer a utiliser\n\n```bash\n# Lister vos endpoints\naction1 endpoint list\n\n# Verifier le statut des endpoints\naction1 endpoint status\n\n# Lister les vulnerabilites\naction1 vulnerability list\n\n# Executer un rapport\naction1 report data \u003creportId\u003e\n```\n\n## Configuration\n\n### Fichier de configuration\n\nSitue dans :\n- **macOS** : `~/Library/Application Support/action1/config.yaml`\n- **Linux** : `~/.config/action1/config.yaml`\n- **Windows** : `%APPDATA%\\action1\\config.yaml`\n\n### Multi-profils\n\n```bash\n# Creer un profil \"production\"\naction1 config use-profile production\naction1 auth login --region eu\n\n# Creer un profil \"staging\"\naction1 config use-profile staging\naction1 auth login --region na\n\n# Voir tous les profils (* = actif)\naction1 config list-profiles\n#   default\n# * production\n#   staging\n\n# Changer de profil\naction1 config use-profile production\n\n# Utiliser un profil ponctuellement\naction1 endpoint list --profile staging\n```\n\n### Stockage des credentials\n\n| OS | Backend | Ce qui est stocke |\n|----|---------|-------------------|\n| macOS | Keychain | Client ID + Secret |\n| Windows | Credential Manager | Client ID + Secret |\n| Linux | Secret Service (GNOME Keyring / KWallet) | Client ID + Secret |\n| Fallback | Fichier config (0600) | Tout |\n\nLes tokens (access + refresh) sont toujours stockes dans le fichier de configuration avec des permissions restreintes, car ils sont trop volumineux pour certaines implementations de keychain.\n\nUtilisez `--no-keychain` pour forcer le stockage fichier pour tout.\n\n## Utilisation\n\n### Endpoints\n\n```bash\naction1 endpoint list                              # Lister tous les endpoints\naction1 endpoint list --all                        # Tout recuperer (pagination auto)\naction1 endpoint list --filter \"name eq 'SRV01'\"   # Filtre OData\naction1 endpoint get \u003cid\u003e                          # Details d'un endpoint\naction1 endpoint status                            # Compteurs online/offline\naction1 endpoint update \u003cid\u003e --name \"nouveau-nom\"  # Renommer\naction1 endpoint delete \u003cid\u003e                       # Supprimer (demande confirmation)\naction1 endpoint move \u003cid\u003e --to-org \u003corgId\u003e        # Deplacer vers une autre org\naction1 endpoint missing-updates \u003cid\u003e              # Patches manquants\naction1 endpoint install-url windowsEXE            # URL d'installation de l'agent\n```\n\n### Groupes d'endpoints\n\n```bash\naction1 endpoint-group list                        # Lister les groupes\naction1 endpoint-group create --name \"Serveurs\"    # Creer\naction1 endpoint-group members \u003cid\u003e                # Lister les membres\naction1 endpoint-group add \u003cid\u003e --endpoints a,b,c  # Ajouter des endpoints\naction1 endpoint-group remove \u003cid\u003e --endpoints a,b # Retirer des endpoints\n```\n\n### Automations\n\n```bash\n# Planifications\naction1 automation schedule list\naction1 automation schedule create --data @schedule.json\naction1 automation schedule get \u003cid\u003e\naction1 automation schedule delete \u003cid\u003e\n\n# Execution immediate\naction1 automation instance run --data @automation.json\naction1 automation instance results \u003cinstanceId\u003e\naction1 automation instance stop \u003cinstanceId\u003e\n\n# Templates d'actions\naction1 automation template list\naction1 automation template get \u003ctemplateId\u003e\n```\n\n### Rapports\n\n```bash\naction1 report list                                # Lister les rapports\naction1 report data \u003creportId\u003e                     # Lignes du rapport\naction1 report data \u003creportId\u003e --all               # Toutes les lignes\naction1 report export \u003creportId\u003e --output-file r.csv\naction1 report requery \u003creportId\u003e                  # Re-executer\naction1 report drilldown \u003creportId\u003e \u003crowId\u003e        # Details d'une ligne\n```\n\n### Depot logiciel\n\n```bash\naction1 software list                              # Lister les packages\naction1 software get \u003cid\u003e                          # Details d'un package\naction1 software clone \u003cid\u003e                        # Cloner un package\naction1 software version create \u003cpkgId\u003e --data @v.json\naction1 software upload \u003cpkgId\u003e \u003cverId\u003e ./installer.exe\n```\n\n### Mises a jour (Patches)\n\n```bash\naction1 update list                                # Toutes les MAJ manquantes\naction1 update get \u003cpackageId\u003e                     # MAJ d'un package\naction1 update endpoints \u003cpkgId\u003e \u003cverId\u003e           # Endpoints manquant une MAJ\n```\n\n### Inventaire logiciel installe\n\n```bash\naction1 installed-software list                    # Toutes les apps installees\naction1 installed-software get \u003cendpointId\u003e        # Apps sur un endpoint\naction1 installed-software requery                 # Rafraichir les donnees\n```\n\n### Vulnerabilites\n\n```bash\naction1 vulnerability list                         # Logiciels vulnerables\naction1 vulnerability get \u003ccveId\u003e                  # Details CVE (org)\naction1 vulnerability cve \u003ccveId\u003e                  # Details CVE (global)\naction1 vulnerability endpoints \u003ccveId\u003e            # Endpoints affectes\naction1 vulnerability remediation list \u003ccveId\u003e     # Remediations passees\naction1 vulnerability remediation create \u003ccveId\u003e --data @controle.json\n```\n\n### Scripts\n\n```bash\naction1 script list                                # Lister les scripts\naction1 script create --name \"Nettoyage\" --type powershell --file cleanup.ps1\naction1 script get \u003cid\u003e\naction1 script update \u003cid\u003e --file cleanup_v2.ps1\naction1 script delete \u003cid\u003e\n```\n\n### Utilisateurs \u0026 RBAC\n\n```bash\naction1 user me                                    # Utilisateur courant\naction1 user list                                  # Tous les utilisateurs\naction1 user create --email admin@co.com --name \"Admin\"\naction1 role list                                  # Tous les roles\naction1 role assign \u003croleId\u003e \u003cuserId\u003e              # Assigner un utilisateur\naction1 role permissions                           # Templates de permissions\n```\n\n### Organisations\n\n```bash\naction1 org list                                   # Lister les orgs\naction1 org create --name \"Production\"             # Creer\naction1 org update \u003cid\u003e --data '{\"name\":\"Prod\"}'   # Modifier\naction1 org delete \u003cid\u003e                            # Supprimer\n```\n\n### Journal d'audit\n\n```bash\naction1 audit list                                 # Evenements d'audit\naction1 audit list --from 2026-01-01 --to 2026-01-31\naction1 audit get \u003cid\u003e                             # Details d'un evenement\naction1 audit export --output-file audit.json      # Exporter\n```\n\n### Autres commandes\n\n```bash\naction1 search \"requete\"                           # Recherche rapide\naction1 log get                                    # Logs diagnostiques\naction1 enterprise get                             # Parametres enterprise\naction1 subscription info                          # Info licence\naction1 subscription usage                         # Statistiques d'utilisation\n```\n\n## Flags globaux\n\n| Flag | Court | Description | Defaut |\n|------|-------|-------------|--------|\n| `--org` | `-o` | ID de l'organisation | depuis la config |\n| `--region` | `-r` | Region serveur : `na`, `eu`, `au` | depuis la config |\n| `--output` | `-O` | Format de sortie : `table`, `json`, `csv`, `yaml` | `table` |\n| `--profile` | `-p` | Profil de configuration | depuis la config |\n| `--quiet` | `-q` | Supprimer les en-tetes et decorations | `false` |\n| `--verbose` | `-v` | Afficher les requetes HTTP | `false` |\n| `--no-color` | | Desactiver les couleurs | `false` |\n| `--no-keychain` | | Forcer le stockage fichier | `false` |\n| `--config` | | Chemin du fichier de config | auto-detecte |\n\n## Autocompletion shell\n\n```bash\n# Bash\naction1 completion bash \u003e /etc/bash_completion.d/action1\n\n# Zsh (ajoutez a votre .zshrc)\naction1 completion zsh \u003e \"${fpath[1]}/_action1\"\n\n# Fish\naction1 completion fish \u003e ~/.config/fish/completions/action1.fish\n\n# PowerShell\naction1 completion powershell \u003e action1.ps1\n```\n\n## Aliases de commandes\n\nPour une saisie plus rapide :\n\n| Commande | Alias |\n|----------|-------|\n| `endpoint` | `ep` |\n| `endpoint-group` | `epg` |\n| `automation` | `auto` |\n| `vulnerability` | `vuln` |\n| `software` | `sw` |\n| `installed-software` | `isw` |\n| `data-source` | `ds` |\n| `subscription` | `sub` |\n| `report-subscription` | `report-sub` |\n\n## Integration MCP (Claude Code, VS Code, JetBrains)\n\nLa CLI integre un serveur [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) qui expose **50 tools** directement utilisables par les assistants IA.\n\n### Configuration\n\nAjoutez dans vos settings Claude Code (ou VS Code / JetBrains avec l'extension Claude) :\n\n```json\n{\n  \"mcpServers\": {\n    \"action1\": {\n      \"command\": \"action1\",\n      \"args\": [\"mcp-serve\"]\n    }\n  }\n}\n```\n\n\u003e Le serveur MCP utilise automatiquement vos credentials depuis `action1 auth login`. Aucune configuration supplementaire necessaire.\n\n### Tools MCP disponibles\n\n| Tool | Description |\n|------|-------------|\n| `org-list` | Lister les organisations |\n| `org-create` | Creer une organisation |\n| `endpoint-list` | Lister les endpoints manages |\n| `endpoint-get` | Details d'un endpoint |\n| `endpoint-status` | Statut (online/offline) |\n| `endpoint-update` | Modifier nom/commentaire |\n| `endpoint-delete` | Supprimer un endpoint |\n| `endpoint-missing-updates` | Patches manquants |\n| `endpoint-group-list/get/members` | Groupes d'endpoints |\n| `automation-schedule-list/get/delete` | Planifications |\n| `automation-instance-list/get/results/stop` | Instances |\n| `automation-template-list` | Templates d'actions |\n| `report-list/data/export/requery` | Rapports |\n| `software-list/get` | Depot logiciel |\n| `update-list/get` | Mises a jour manquantes |\n| `installed-software-list/get` | Inventaire logiciel |\n| `vulnerability-list/get/endpoints/cve` | Vulnerabilites |\n| `script-list/get` | Scripts |\n| `data-source-list` | Sources de donnees |\n| `user-me/list/get/roles` | Utilisateurs |\n| `role-list/get/users/permissions` | Roles RBAC |\n| `enterprise-get` | Parametres enterprise |\n| `subscription-info/usage` | Licences et usage |\n| `search` | Recherche |\n| `audit-list/get` | Journal d'audit |\n| `log-get` | Logs diagnostiques |\n\n### Exemple d'utilisation dans Claude Code\n\nUne fois configure, vous pouvez simplement dire :\n\n- *\"Liste mes endpoints Action1\"*\n- *\"Quelles vulnerabilites affectent mon organisation ?\"*\n- *\"Montre-moi les patches manquants pour l'endpoint X\"*\n- *\"Quelles automations sont en cours ?\"*\n\nClaude appellera automatiquement les bons tools MCP.\n\n## Developpement\n\n```bash\n# Cloner\ngit clone https://github.com/dimer47/action1-cli.git\ncd action1-cli\n\n# Compiler\ngo build -o action1 .\n\n# Lancer les tests\ngo test ./...\n\n# Linter\ngo vet ./...\n```\n\n### Creer une nouvelle release\n\n```bash\ngit tag v0.1.0\ngit push origin v0.1.0\n# GitHub Actions compile et publie automatiquement\n```\n\n## Licence\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimer47%2Faction1-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimer47%2Faction1-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimer47%2Faction1-cli/lists"}