{"id":31074138,"url":"https://github.com/arcbjorn/tools","last_synced_at":"2026-05-09T03:33:15.511Z","repository":{"id":312018813,"uuid":"1045982211","full_name":"arcbjorn/tools","owner":"arcbjorn","description":"A clean system for managing personal CLI utilities and scripts.","archived":false,"fork":false,"pushed_at":"2026-04-20T02:26:35.000Z","size":183,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-20T04:38:40.637Z","etag":null,"topics":["bash","cli","linux","scripts","utils"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/arcbjorn.png","metadata":{"files":{"readme":"README.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":"2025-08-28T02:34:12.000Z","updated_at":"2026-04-20T02:26:39.000Z","dependencies_parsed_at":"2025-08-28T09:44:52.583Z","dependency_job_id":"143fe478-2f8a-4a13-888e-004401ff054c","html_url":"https://github.com/arcbjorn/tools","commit_stats":null,"previous_names":["arcbjorn/tools"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arcbjorn/tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arcbjorn%2Ftools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arcbjorn%2Ftools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arcbjorn%2Ftools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arcbjorn%2Ftools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arcbjorn","download_url":"https://codeload.github.com/arcbjorn/tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arcbjorn%2Ftools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32805939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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":["bash","cli","linux","scripts","utils"],"created_at":"2025-09-16T02:03:34.544Z","updated_at":"2026-05-09T03:33:15.505Z","avatar_url":"https://github.com/arcbjorn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal CLI Utilities Management System\n\nA sophisticated git-based system for managing development tools, scripts, and AI assistant configurations with clean separation between management, build, and runtime layers.\n\n## Architecture Overview\n\nThis system follows a three-layer architecture:\n\n- **Management Layer**: Interactive interfaces and automation scripts\n- **Build System**: Language-agnostic compilation pipeline\n- **Runtime Layer**: Shell integration and PATH management\n\n## Directory Structure\n\n```\n~/tools/\n├── bin/                    # Compiled executables (auto-generated)\n├── scripts/                # Shell scripts (immediately available)\n├── sources/                # Git submodules for tools needing compilation\n│   ├── gh-activity-graph-sh/  # GitHub activity visualization\n│   ├── agents-orchestrator/   # AI agents management system\n│   ├── workflow/              # Workflow automation tools\n│   └── assistants-cli/        # Assistant CLI utilities\n├── assistants/             # Multi-assistant AI configuration system\n│   ├── source/                # Single source of truth\n│   │   ├── commands/          # Reusable command templates\n│   │   ├── agents/            # Specialized AI agents\n│   │   └── global_instructions.md  # Shared development guidelines\n│   ├── claude/                # Claude-specific configurations\n│   ├── codex/                 # Codex-specific configurations\n│   ├── gemini/                # Gemini-specific configurations\n│   └── opencode/              # OpenCode-specific configurations\n├── tools_management/       # Core automation scripts\n│   ├── build.sh               # Universal build system\n│   ├── init-tools.sh          # Complete setup script\n│   ├── configure-shell.sh     # Shell PATH integration\n│   ├── set-permissions.sh     # Permission management\n│   ├── init-new-tool.sh       # Create new tool submodules\n│   └── sync-submodules.sh     # Update all submodules\n├── shell/                  # Shell configuration and runtime\n│   ├── rc                     # Main shell config (PATH + modular loading)\n│   ├── shortcuts              # Custom aliases and shortcuts\n│   └── temp                   # Temporary commands (git-ignored)\n├── manage.sh               # Interactive management interface\n├── CLAUDE.md               # Project-specific development guidelines\n└── .gitmodules             # Git submodule configuration\n```\n\n## Installation\n\n### Quick Start (Recommended)\nRun the complete setup script (only needed once):\n```bash\ncd ~/tools\n./tools_management/init-tools.sh\n```\n\nThis will:\n- Build all tools from `sources/` using the universal build system\n- Configure shell integration and PATH management\n- Set executable permissions for all scripts and binaries\n- Initialize the modular shell configuration system\n\n### Manual Setup\nIf you prefer manual setup:\n```bash\ncd ~/tools\n./tools_management/build.sh              # Build all tools\n./tools_management/configure-shell.sh    # Configure shell integration\n./tools_management/set-permissions.sh    # Fix executable permissions\n```\n\n## Usage\n\n### Interactive Management Interfaces\n```bash\n./manage.sh         # Main management interface (12 menu options)\n./scripts/tools     # Interactive launcher for all tools and scripts\n```\n\n### Core Management Commands\n```bash\n./tools_management/build.sh              # Compile all tools from sources/\n./tools_management/sync-submodules.sh    # Update all submodules to latest\n./tools_management/set-permissions.sh    # Fix executable permissions\n```\n\n### AI Assistant Configuration System\nThe multi-assistant configuration system supports Claude, Codex, Gemini, and OpenCode:\n\n```bash\n./scripts/configure-assistants-global      # Setup global configurations\n./scripts/clean-global-assistants-configs  # Remove all configurations\n./scripts/create-assistant-command         # Create command/prompt/agent templates\n./scripts/sync-assistant-commands -t all   # Sync commands to global directories\n```\n\n**Configuration Locations**:\n- **Settings**: `~/.claude/settings.json`, `~/.codex/config.toml`, `~/.gemini/settings.json`\n- **Memory files**: `~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md`, `~/.gemini/GEMINI.md`\n- **Commands**: `~/.claude/commands/`, `~/.codex/prompts/`, `~/.gemini/commands/`\n\n**Command Formats by Assistant**:\n- Claude/Gemini: `.md` files in `commands/` (uses `$ARGUMENTS` placeholder)\n- Codex: `.md/.toml` files in `prompts/` (entire file becomes prompt)\n- Common: `.md` files automatically synced to all assistants\n\n**Safe Merging**: Preserves existing settings while adding new configurations.\n\n## Adding Tools and Scripts\n\n### Adding Shell Scripts\nPlace shell scripts directly in `scripts/` (immediately available in PATH):\n```bash\ncp myscript.sh ~/tools/scripts/\nchmod +x ~/tools/scripts/myscript.sh\n```\n\n### Adding Compiled Tools\n\n#### Create New Tool (Recommended)\n```bash\ncd ~/tools\n./tools_management/init-new-tool.sh\n```\n\n#### Add Existing Repository as Submodule\n```bash\ncd ~/tools\ngit submodule add https://github.com/user/tool.git sources/tool-name\n```\n\n## Development Workflow\n\n### Local Development on Submodules\n```bash\ncd ~/tools/sources/your-tool\n# Make changes, commit, push as normal\ngit add . \u0026\u0026 git commit -m \"fix: some bug\" \u0026\u0026 git push\n```\n\n### Build from Current Local State\n```bash\ncd ~/tools\n./tools_management/build.sh  # Compile all tools from current local state\n```\n\n### Sync Parent Repository with Latest Submodules\n```bash\ncd ~/tools\ngit submodule update --remote \u0026\u0026 git add . \u0026\u0026 git commit -m \"chore: update all submodules\" \u0026\u0026 git push\n```\n\n## Universal Build System\n\nThe `tools_management/build.sh` script automatically handles multiple languages:\n\n### Supported Languages\n- **Rust**: `cargo build --release` → copies executables to `bin/`\n- **Go**: `go build -o $TOOLS_DIR/bin/` (supports `cmd/` directory structure)\n- **Zig**: `zig build --prefix $TOOLS_DIR/`\n- **Make**: `make` with PREFIX support\n- **Bun**: Entry point detection (`cli.ts`, `index.ts`)\n- **Python**: pip installs to `bin/`\n\n### Intelligent Detection\n- Auto-detects project type based on configuration files\n- Handles multiple binary projects in single repositories\n- Respects language-specific conventions and build patterns\n\n## Shell Integration System\n\nThe `shell/rc` configuration provides:\n- **PATH Management**: Automatically exports `~/tools/bin:~/tools/scripts`\n- **Modular Loading**: Dynamically sources all files in `shell/` directory\n- **Runtime Integration**: Immediate availability of tools and functions\n\n### Shell Configuration Structure\n- `shell/rc` - Main configuration (PATH exports, modular loading)\n- `shell/shortcuts` - Custom aliases and shortcuts\n- `shell/temp` - Temporary commands with secrets (git-ignored)\n\n## Important Notes\n\n- **`scripts/`**: Direct shell scripts (no compilation needed, immediately available)\n- **`sources/`**: Projects requiring compilation (managed as git submodules)\n- **`bin/`**: Auto-generated directory, never manually place files here\n- **Development**: Work in submodules independently, sync parent repository when ready\n- **Permissions**: Use `tools_management/set-permissions.sh` to fix executable permissions\n- **Configuration**: Use `tools_management/configure-shell.sh` to set up shell integration\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcbjorn%2Ftools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farcbjorn%2Ftools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcbjorn%2Ftools/lists"}