{"id":42296729,"url":"https://github.com/aipcc-cicd/claudio","last_synced_at":"2026-01-27T10:13:32.967Z","repository":{"id":315601912,"uuid":"1054947418","full_name":"aipcc-cicd/claudio","owner":"aipcc-cicd","description":"Portable Claude Code Setup","archived":false,"fork":false,"pushed_at":"2026-01-26T05:50:19.000Z","size":38,"stargazers_count":9,"open_issues_count":21,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-26T17:00:03.154Z","etag":null,"topics":["ai","ai-agents","claude-code"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aipcc-cicd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-09-11T14:48:52.000Z","updated_at":"2026-01-23T10:05:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"fdfc57f5-f997-4b25-9a2e-2513308550c6","html_url":"https://github.com/aipcc-cicd/claudio","commit_stats":null,"previous_names":["aipcc-cicd/claudio"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/aipcc-cicd/claudio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aipcc-cicd%2Fclaudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aipcc-cicd%2Fclaudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aipcc-cicd%2Fclaudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aipcc-cicd%2Fclaudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aipcc-cicd","download_url":"https://codeload.github.com/aipcc-cicd/claudio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aipcc-cicd%2Fclaudio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28811553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T07:41:26.337Z","status":"ssl_error","status_checked_at":"2026-01-27T07:41:08.776Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai","ai-agents","claude-code"],"created_at":"2026-01-27T10:13:32.876Z","updated_at":"2026-01-27T10:13:32.961Z","avatar_url":"https://github.com/aipcc-cicd.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# claudio\n\nOCI image to make claude code portable; the model is being setup to use through Google Vertex AI API.\n\nThe image includes the Slack MCP server for communication, along with `glab` and `kubectl` CLIs. Additional functionality is provided through the [claudio-skills marketplace](https://github.com/aipcc-cicd/claudio-skills).\n\n# Integrations\n\n## Slack\n\nTo manage slack integration claudio will use https://github.com/korotovsky/slack-mcp-server, \n\nTo get values for them the easiest way is to authenticate to your slack workspace in chrome/chromium browser\n\nOn same page go to More Tools -\u003e Developer Tools\n\nOn Developer Tools go to:\n\n* XOXC: Application -\u003e Storage -\u003e Local Storage -\u003e https\u003e//app.slack.com -\u003e localConfig_v2 (key) -\u003e 'token' key inside the json value \n* XOXD: Application -\u003e Storage -\u003e Cookies -\u003e https\u003e//app.slack.com -\u003e d (key)\n\nSince it is slack enterpise we need to get value for User-Agent. To get it from same place we check Networking and check request headers to get the value,\nit should be something similar to `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36`\n\nDisclaimer, the first time you reuse those Tokens you will probably be signed off as precaution, the second time you sign in the tokens should last.\n\n## GitLab\n\nGitLab integration is provided through the `glab` CLI tool and the claudio-skills marketplace. The `glab` CLI is pre-installed in the container.\n\n## Kubernetes / OpenShift\n\nKubernetes and OpenShift management is handled through `kubectl` (pre-installed) and skills from the claudio-skills marketplace.\n\n# Build\n\nTo build the container run the command:\n\n```bash\nmake oci-build\n```\n\nThis builds for the native architecture of the current platform.\n\nYou can customize the image name and tag:\n\n```bash\nIMAGE_REPO=ghcr.io/myorg/claudio IMAGE_TAG=latest make oci-build\n```\n\nBy default, the Makefile uses Podman. To use Docker instead:\n\n```bash\nCONTAINER_MANAGER=docker make oci-build\n```\n\nAvailable targets:\n- `oci-build` - Build container image for native architecture\n- `oci-push` - Push container image\n- `oci-tag` - Tag existing image with new tag\n- `oci-manifest-build` - Create multi-arch manifest from arch-tagged images\n- `oci-manifest-push` - Push manifest to registry\n\n# Usage\n\nIn order to make claudio OpenShift compliant the default user for the container is default, it is also part of the root group, under some circumstances when mapping host volumes podman is not able to access the volume (even with the right permissions), to avoid that siatuion we suggest when running locally to use `--user 0` to enforce default behavior by podman.\n\n## Working with Local Projects\n\nClaudio supports mounting your local project directory for interactive development. When you mount a directory to `/home/default/workdir`, claudio will automatically change to that directory before starting the Claude session, allowing you to work with your local files.\n\nExample mounting your current directory:\n\n```bash\npodman run -it --rm --user 0 \\\n        -v ${PWD}:/home/default/workdir:z \\\n        -v claudio-gcp:/root/.config/gcloud:Z \\\n        -v claudio-mcp-slack:/root/claude/mcp/slack:Z \\\n        -e GITLAB_TOKEN='...' \\\n        -e ANTHROPIC_VERTEX_PROJECT_ID=... \\\n        -e ANTHROPIC_VERTEX_PROJECT_QUOTA=... \\\n        -e SLACK_MCP_XOXC_TOKEN='xoxc-...' \\\n        -e SLACK_MCP_XOXD_TOKEN='xoxd-...' \\\n        -e K8S_MCP_KUBECONFIG_PATH=/opt/k8s/kubeconfig \\\n        quay.io/redhat-aipcc/claudio:v1.0.0-dev\n```\n\nThis allows you to use claudio with your local codebase, making file edits, running commands, and interacting with your project files directly.\n\n## Basic Setup\n\n```bash\n# Create a volume to hold the auth for gcloud\npodman volume create claudio-gcp\n\n# Create a volume to hold cache for mcp slack\npodman volume create claudio-mcp-slack\n\n# Run claudio\npodman run -it --rm --user 0 \\\n        -v ${PWD}/kubecofing:/opt/k8s/kubeconfig:z \\\n        # Optional\n        -v claudio-gcp:/root/.config/gcloud:Z \\\n        # Optional\n        -v claudio-mcp-slack:/root/claude/mcp/slack:Z \\\n        -e GITLAB_TOKEN='...' \\\n        -e ANTHROPIC_VERTEX_PROJECT_ID=... \\\n        -e ANTHROPIC_VERTEX_PROJECT_QUOTA=... \\\n        -e SLACK_MCP_XOXC_TOKEN='xoxc-...' \\\n        -e SLACK_MCP_XOXD_TOKEN='xoxd-...' \\\n        -e K8S_MCP_KUBECONFIG_PATH=/opt/k8s/kubeconfig \\\n        quay.io/aipcc-cicd/claudio:v1.0.0-dev\n```\n\nClaudio on a host where user is already logged in on gcloud:\n\n```bash\n# Run claudio\npodman run -it --rm -user 0 \\\n        -v ${PWD}/kubecofing:/opt/k8s/kubeconfig:z \\\n        -v /home/$USER/.conf/gcloud:/root/.config/gcloud:z \\\n        -e GITLAB_TOKEN='...' \\\n        -e ANTHROPIC_VERTEX_PROJECT_ID=... \\\n        -e ANTHROPIC_VERTEX_PROJECT_QUOTA=... \\\n        -e SLACK_MCP_XOXC_TOKEN='xoxc-...' \\\n        -e SLACK_MCP_XOXD_TOKEN='xoxd-...' \\\n        -e K8S_MCP_KUBECONFIG_PATH=/opt/k8s/kubeconfig \\\n        quay.io/aipcc-cicd/claudio:v1.0.0-dev\n```\n\nClaudio one-time prompt\n\n```bash\n# Run claudio\npodman run -it --rm -user 0 \\\n        -v ${PWD}/kubecofing:/opt/k8s/kubeconfig:z \\\n        -v /home/$USER/.conf/gcloud:/root/.config/gcloud:z \\\n        -e GITLAB_TOKEN='...' \\\n        -e ANTHROPIC_VERTEX_PROJECT_ID=... \\\n        -e ANTHROPIC_VERTEX_PROJECT_QUOTA=... \\\n        -e SLACK_MCP_XOXC_TOKEN='xoxc-...' \\\n        -e SLACK_MCP_XOXD_TOKEN='xoxd-...' \\\n        -e K8S_MCP_KUBECONFIG_PATH=/opt/k8s/kubeconfig \\\n        quay.io/aipcc-cicd/claudio:v1.0.0-dev \\\n                -p \"do something for me Claudio\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faipcc-cicd%2Fclaudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faipcc-cicd%2Fclaudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faipcc-cicd%2Fclaudio/lists"}