{"id":32556470,"url":"https://github.com/opensoft/workbenches","last_synced_at":"2025-10-28T22:56:56.440Z","repository":{"id":318666516,"uuid":"1072217222","full_name":"opensoft/workBenches","owner":"opensoft","description":"setup for the work benches repos. Coordinates the work benches and can create a workBench.","archived":false,"fork":false,"pushed_at":"2025-10-22T16:27:26.000Z","size":354,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-22T18:22:33.764Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/opensoft.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-10-08T12:20:39.000Z","updated_at":"2025-10-22T16:25:53.000Z","dependencies_parsed_at":"2025-10-08T15:14:00.276Z","dependency_job_id":"64d388c8-ff51-464e-a489-2c65cd7f8bf2","html_url":"https://github.com/opensoft/workBenches","commit_stats":null,"previous_names":["opensoft/workbenches"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/opensoft/workBenches","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensoft%2FworkBenches","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensoft%2FworkBenches/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensoft%2FworkBenches/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensoft%2FworkBenches/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opensoft","download_url":"https://codeload.github.com/opensoft/workBenches/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensoft%2FworkBenches/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281527382,"owners_count":26516845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-28T02:00:06.022Z","response_time":60,"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":"2025-10-28T22:56:38.872Z","updated_at":"2025-10-28T22:56:56.430Z","avatar_url":"https://github.com/opensoft.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# workBenches\n\nA collection of development workbenches and tools for various projects.\n\n## Quick Setup\n\nTo set up workBenches on a new system, run:\n\n```bash\n./scripts/setup-workbenches.sh\n```\n\nThis script will:\n1. Always clone the infrastructure repository (specKit)\n2. Prompt you to choose which benches to install:\n   - Install all benches at once\n   - Select benches individually (y/n for each)\n   - Skip bench installation\n\n### Setup Script Requirements\n- `git` - for cloning repositories\n- `jq` - for JSON processing\n\nThe script automatically detects already installed benches and can be re-run to install additional components.\n\n## Creating New Projects\n\nTo create a new project using installed benches, run:\n\n```bash\n./scripts/new-project.sh\n```\n\nThis script will:\n1. Show available project types from installed benches\n2. Let you select the project type (e.g., Flutter, DartWing, etc.)\n3. Prompt for project name and optional target directory\n4. Delegate to the appropriate bench-specific script\n\n### Examples:\n```bash\n./scripts/new-project.sh                    # Interactive mode\n./scripts/new-project.sh myapp               # Interactive type selection for 'myapp'\n./scripts/new-project.sh myapp ~/custom/path # Interactive type selection with custom path\n```\n\nThe script discovers and uses project creation scripts from installed benches, making it easy to create properly configured projects for any development stack you have installed.\n\n## Creating New Development Benches\n\nTo create a new development bench (workspace for a specific technology), run:\n\n```bash\n./scripts/new-bench.sh\n```\n\nThis script will:\n1. 🤖 Query AI APIs (OpenAI/Claude) for current tech stack information\n2. Show interactive menu of popular technologies (Go, Rust, Node.js, PHP, Ruby, etc.)\n3. Allow custom tech stack creation\n4. Generate complete bench structure with DevContainer setup\n5. Create project creation scripts with specKit integration\n6. Update workBenches configuration automatically\n\n### AI-Powered Tech Stack Discovery\n\nSet API keys for current technology information:\n```bash\n# Using OpenAI\nexport OPENAI_API_KEY=\"your-key-here\"\n./scripts/new-bench.sh\n\n# Using Claude\nexport ANTHROPIC_API_KEY=\"your-key-here\"\n./scripts/new-bench.sh\n\n# Without API keys (uses built-in tech stacks)\n./scripts/new-bench.sh\n```\n\nThe script supports creating benches for any technology and will generate:\n- Complete DevContainer configuration\n- VS Code settings and extensions\n- Project creation scripts\n- Documentation and templates\n- Git repository initialization\n\n## Configuration Management\n\nThe workBenches system uses `config/bench-config.json` to track benches and their capabilities.\n\n### Automatic Discovery\n```bash\n./scripts/update-bench-config.sh\n```\n\nThis script will:\n- Auto-discover all installed benches (directories with .git repositories)\n- Scan for project creation scripts in each bench\n- Detect if scripts handle specKit copying\n- Update `config/bench-config.json` with current state\n- Backup the existing configuration\n\n### Manual Configuration\nYou can also manually edit `config/bench-config.json` to:\n- Add repository URLs for benches\n- Define custom project script descriptions\n- Control specKit inclusion behavior\n- Add new bench types\n\n## Structure\n\n**All workbenches are maintained as separate repositories:**\n\n- **adminBenches** - Administrative tools and utilities → [opensoft/adminBench](https://github.com/opensoft/adminBench)\n- **devBenches** - Development environment collection:\n  - **flutterBench** → [opensoft/flutterBench](https://github.com/opensoft/flutterBench)\n  - **javaBench** → [opensoft/javaBench](https://github.com/opensoft/javaBench)\n  - **dotNetBench** → [opensoft/dotNetBench](https://github.com/opensoft/dotNetBench)\n  - **pythonBench** → [opensoft/pythonBench](https://github.com/opensoft/pythonBench)\n- **specKit** - Specification-driven development toolkit → [opensoft/specKit](https://github.com/opensoft/specKit)\n\n## Separate Repositories\n\nAll workbenches are maintained as separate repositories:\n\n| Workbench | Repository | Description |\n|-----------|------------|-------------|\n|| adminBenches | [opensoft/adminBench](https://github.com/opensoft/adminBench) | Administrative tools and Kubernetes configs |\n| flutterBench | [opensoft/flutterBench](https://github.com/opensoft/flutterBench) | Flutter development environment with devcontainers |\n| javaBench | [opensoft/javaBench](https://github.com/opensoft/javaBench) | Java development environment and tools |\n| dotNetBench | [opensoft/dotNetBench](https://github.com/opensoft/dotNetBench) | .NET development environment with devcontainers |\n| pythonBench | [opensoft/pythonBench](https://github.com/opensoft/pythonBench) | Python development environment and tools |\n| specKit | [opensoft/specKit](https://github.com/opensoft/specKit) | Specification-driven development toolkit |\n\nTo work with these, clone them separately or use git submodules.\n\n## Getting Started\n\nEach workbench contains its own documentation and setup instructions. Navigate to the respective directories to get started with specific tools.\n\n## Contributing\n\nThis is a public repository. Feel free to contribute improvements and suggestions.\n\n### Contributing to Individual Repositories\n\nEach workbench is maintained in its own repository. Please contribute directly to the specific repository you want to improve:\n\n- **adminBenches**: [opensoft/adminBench](https://github.com/opensoft/adminBench)\n- **flutterBench**: [opensoft/flutterBench](https://github.com/opensoft/flutterBench)\n- **javaBench**: [opensoft/javaBench](https://github.com/opensoft/javaBench)\n- **dotNetBench**: [opensoft/dotNetBench](https://github.com/opensoft/dotNetBench)\n- **pythonBench**: [opensoft/pythonBench](https://github.com/opensoft/pythonBench)\n- **specKit**: [opensoft/specKit](https://github.com/opensoft/specKit)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensoft%2Fworkbenches","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensoft%2Fworkbenches","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensoft%2Fworkbenches/lists"}