SDK.Generate() and SDK.GenerateLanguage() now use the
generator registry to generate SDKs for configured languages.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements PHP SDK generator using Docker-only approach:
- Requires Docker with openapitools/openapi-generator-cli
- No native PHP generator tool; Docker is the only option
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements Go SDK generator with two-level fallback:
1. Native oapi-codegen if installed (generates types and client)
2. Docker openapitools/openapi-generator-cli as fallback
Native generation also creates a minimal go.mod file.
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements Python SDK generator with two-level fallback:
1. Native openapi-python-client if installed
2. Docker openapitools/openapi-generator-cli as fallback
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements TypeScript SDK generator with three-level fallback:
1. Native openapi-typescript-codegen if installed globally
2. npx openapi-typescript-codegen if npx available
3. Docker openapitools/openapi-generator-cli as fallback
Includes tests following _Good convention for Available and Generate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Defines the common interface for SDK generators with:
- Generate(), Available(), Install() methods
- Registry for managing multiple generators
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Initial pkg/sdk setup with Config types for OpenAPI SDK generation.
Includes language selection, diff config, and publish config.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
LinuxKit can now output docker format tarballs that can be loaded with
`docker load`. This gives you immutable, reproducible LinuxKit images
in Docker-compatible format.
Supported formats now include:
- iso, iso-bios, iso-efi
- raw, raw-bios, raw-efi
- qcow2, qcow2-bios, qcow2-efi
- vmdk, vhd, gcp, aws
- docker (tarball for `docker load`)
- tar, kernel+initrd
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add publishers for distributing CLI binaries to package managers:
- npm: binary wrapper pattern with postinstall download
- Homebrew: formula generation + tap auto-commit
- Scoop: JSON manifest + bucket auto-commit
- AUR: PKGBUILD + .SRCINFO + AUR push
- Chocolatey: NuSpec + install script + optional push
Each publisher supports:
- Dry-run mode for previewing changes
- Auto-commit to own repos (tap/bucket/AUR)
- Generate files for PRs to official repos via `official` config
Also includes Docker and LinuxKit build helpers.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Context gathering:
- BuildTaskContext for AI consumption
- GatherRelatedFiles from task references
- Keyword search for related code
- Git status and recent commits
Task completion:
- AutoCommit with task reference and Co-Authored-By
- CreatePR using gh CLI
- SyncStatus back to agentic service
- CreateBranch with {type}/{id}-{title} format
CLI commands:
- core dev task <id> --context - show with AI context
- core dev task:commit <id> - auto-commit
- core dev task:pr <id> - create PR
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add pkg/agentic for AI-assisted task management:
- API client for core-agentic service
- Task listing, claiming, updating, completion
- Config from .env or ~/.core/agentic.yaml
CLI commands:
- core dev tasks - list available tasks
- core dev task <id> - show/claim task
- core dev task --auto - AI picks highest priority
- core dev task:update <id> - update progress
- core dev task:complete <id> - mark complete
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Templates:
- core-dev: Development environment (Go, Node, PHP, Docker-in-LinuxKit)
- server-php: Production FrankenPHP server with Caddy
Features:
- Variable substitution: ${VAR} (required), ${VAR:-default} (optional)
- Template listing, viewing, and variable extraction
- Run directly from template: core run --template <name>
CLI commands:
- core templates - list available templates
- core templates show <name> - display template
- core templates vars <name> - show variables
- core run --template <name> --var KEY=value
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add pkg/build package replacing goreleaser with native build system:
- Project discovery (go.mod, wails.json, package.json, composer.json)
- Go cross-compilation with GOOS/GOARCH, CGO_ENABLED=0, ldflags
- Config loading from .core/build.yaml with sensible defaults
- Archive creation (tar.gz for linux/darwin, zip for windows)
- SHA256 checksum generation with CHECKSUMS.txt
CLI integration via `core build`:
- Auto-detect project type or specify with --type
- Cross-compile with --targets (e.g., linux/amd64,darwin/arm64)
- CI mode with --ci for JSON output
- Archive/checksum flags (--archive, --checksum)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add dev-release.yml workflow that builds CLI for linux/darwin/windows
(amd64/arm64) on every push to dev branch
- Update .goreleaser.yaml repo owner from Snider to host-uk
- Dev release is automatically updated with latest binaries
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add exceptions in .gitignore to track build configuration files
(Taskfile.yml, info.json, manifests, etc.) while keeping build
outputs (bin/) ignored.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move Go module from github.com/Snider/Core to github.com/host-uk/core
to match the new repository location under the host-uk organization.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add pkg/cache for file-based caching with TTL
- Cache lives in workspace .core/cache/ (not home dir)
- Search command now caches repo lists for 1 hour
- Shows "Cache: host-uk (5s ago)" on cache hit
- Use --refresh to bypass cache
- Add .core/ to core-devops .gitignore
Structure:
.core/cache/github/<org>/repos.json
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `core search --org <org>` to list repos from GitHub
- Supports --pattern for glob filtering (e.g., 'core-*')
- Supports --type for type filtering (e.g., 'service', 'mod')
- Uses `gh repo list` for reliable API access
- Add `core install --repo <org/repo>` to clone individual repos
- Auto-detects target directory from repos.yaml
- Optional --add flag to add to registry
- Detects repo type from naming convention
- Update gitClone to use HTTPS URL with gh (no SSH key needed)
- Falls back to SSH if HTTPS fails
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `core setup` to clone repos from registry into packages/
- Supports --dry-run, --only type filter
- Skips repos with clone: false
- Detects existing clones
- Add `core doctor` to check development environment
- Checks git, gh, php, composer, node
- Verifies SSH key exists
- Checks gh CLI authentication
- Shows workspace registry status
- Update Repo struct with Clone field for skip control
- Change Repo.Type from RepoType to string for flexibility
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Show which registry file is being used (or if scanning directory)
for better debugging when commands behave unexpectedly.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add Mining module as a native Go plugin for lthn-desktop:
- Add github.com/Snider/Mining dependency (v0.0.9)
- Create MiningBridge that wraps the Mining service for Wails
- Implement module.GinModule interface for API route registration
- Register mining module with the Core module registry
- Provide Wails-bound methods for frontend: ListMiners, GetMinerStats,
StartMiner, StopMiner, GetAvailableMiners, InstallMiner, UninstallMiner
- Update mining.itw3.json with native module configuration
The mining module provides:
- XMRig and TTMiner support
- Mining pool management
- Real-time hashrate monitoring
- Miner installation/uninstallation
- Mining profiles
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add docs, ide, and module factories to runtime tests to match the
expanded service requirements in newWithFactories.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Set lthn-desktop as the default gui build target (port 9247)
- Add core-demo GUI with Vite frontend (port 9245)
- Configure core-gui on port 9246 to avoid conflicts
- Update .gitignore for lthn-desktop and core-demo artifacts
- Include lthn-desktop Angular frontend with Monaco editor and Claude panel
- Add frontend.old directory preserving original lthn-desktop pages
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>