feat/ml-integration #2
510 changed files with 2281 additions and 7615 deletions
|
|
@ -30,7 +30,7 @@ core/
|
|||
package domain
|
||||
|
||||
import (
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
|
@ -53,7 +53,7 @@ func NewNameCmd() *cobra.Command {
|
|||
## CLI Output Helpers
|
||||
|
||||
```go
|
||||
import "github.com/host-uk/core/pkg/cli"
|
||||
import "forge.lthn.ai/core/cli/pkg/cli"
|
||||
|
||||
cli.Success("Operation completed") // Green check
|
||||
cli.Warning("Something to note") // Yellow warning
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Issue 258: Smart Test Detection
|
||||
|
||||
## Original Issue
|
||||
<https://github.com/host-uk/core/issues/258>
|
||||
<https://forge.lthn.ai/core/cli/issues/258>
|
||||
|
||||
## Summary
|
||||
Make `core test` smart — detect changed Go files and run only relevant tests.
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Host UK Documentation
|
||||
url: https://github.com/host-uk/core-devops
|
||||
url: https://forge.lthn.ai/core/cli-devops
|
||||
about: Setup guides and workspace documentation
|
||||
- name: Discussions
|
||||
url: https://github.com/orgs/host-uk/discussions
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ jobs:
|
|||
|
||||
\`\`\`bash
|
||||
# macOS/Linux
|
||||
curl -fsSL https://github.com/host-uk/core/releases/download/$VERSION/core-linux-amd64 -o core
|
||||
curl -fsSL https://forge.lthn.ai/core/cli/releases/download/$VERSION/core-linux-amd64 -o core
|
||||
chmod +x core && sudo mv core /usr/local/bin/
|
||||
\`\`\`
|
||||
" \
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ jobs:
|
|||
|
||||
\`\`\`bash
|
||||
# macOS/Linux
|
||||
curl -fsSL https://github.com/host-uk/core/releases/download/$VERSION/core-linux-amd64 -o core
|
||||
curl -fsSL https://forge.lthn.ai/core/cli/releases/download/$VERSION/core-linux-amd64 -o core
|
||||
chmod +x core && sudo mv core /usr/local/bin/
|
||||
\`\`\`
|
||||
" \
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ jobs:
|
|||
ARCHIVE_PREFIX="core-${GOOS}-${GOARCH}"
|
||||
|
||||
APP_VERSION="${{ env.NEXT_VERSION }}-alpha.${{ github.run_number }}"
|
||||
go build -ldflags "-s -w -X github.com/host-uk/core/pkg/cli.AppVersion=${APP_VERSION}" -o "./bin/${BINARY}" .
|
||||
go build -ldflags "-s -w -X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${APP_VERSION}" -o "./bin/${BINARY}" .
|
||||
|
||||
# Create tar.gz for Homebrew (non-Windows)
|
||||
if [ "$GOOS" != "windows" ]; then
|
||||
|
|
@ -252,7 +252,7 @@ jobs:
|
|||
scoop install core
|
||||
|
||||
# Direct download (example: Linux amd64)
|
||||
curl -fsSL https://github.com/host-uk/core/releases/download/$VERSION/core-linux-amd64 -o core
|
||||
curl -fsSL https://forge.lthn.ai/core/cli/releases/download/$VERSION/core-linux-amd64 -o core
|
||||
chmod +x core && sudo mv core /usr/local/bin/
|
||||
\`\`\`
|
||||
" \
|
||||
|
|
@ -306,21 +306,21 @@ jobs:
|
|||
|
||||
class Core < Formula
|
||||
desc "Host UK development CLI"
|
||||
homepage "https://github.com/host-uk/core"
|
||||
homepage "https://forge.lthn.ai/core/cli"
|
||||
version "${FORMULA_VERSION}"
|
||||
license "EUPL-1.2"
|
||||
|
||||
on_macos do
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-darwin-arm64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-darwin-arm64.tar.gz"
|
||||
sha256 "${DARWIN_ARM64}"
|
||||
end
|
||||
|
||||
on_linux do
|
||||
if Hardware::CPU.arm?
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-linux-arm64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-linux-arm64.tar.gz"
|
||||
sha256 "${LINUX_ARM64}"
|
||||
else
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-linux-amd64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-linux-amd64.tar.gz"
|
||||
sha256 "${LINUX_AMD64}"
|
||||
end
|
||||
end
|
||||
|
|
@ -350,12 +350,12 @@ jobs:
|
|||
|
||||
class CoreIde < Formula
|
||||
desc "Host UK desktop development environment"
|
||||
homepage "https://github.com/host-uk/core"
|
||||
homepage "https://forge.lthn.ai/core/cli"
|
||||
version "${FORMULA_VERSION}"
|
||||
license "EUPL-1.2"
|
||||
|
||||
on_linux do
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-ide-linux-amd64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-ide-linux-amd64.tar.gz"
|
||||
sha256 "${IDE_LINUX_AMD64}"
|
||||
end
|
||||
|
||||
|
|
@ -375,10 +375,10 @@ jobs:
|
|||
version "${FORMULA_VERSION}"
|
||||
sha256 "${IDE_DARWIN_ARM64}"
|
||||
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-ide-darwin-arm64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-ide-darwin-arm64.tar.gz"
|
||||
name "Core IDE"
|
||||
desc "Host UK desktop development environment"
|
||||
homepage "https://github.com/host-uk/core"
|
||||
homepage "https://forge.lthn.ai/core/cli"
|
||||
|
||||
app "Core IDE.app"
|
||||
end
|
||||
|
|
@ -436,7 +436,7 @@ jobs:
|
|||
{
|
||||
"version": "VERSION_PLACEHOLDER",
|
||||
"description": "Host UK development CLI",
|
||||
"homepage": "https://github.com/host-uk/core",
|
||||
"homepage": "https://forge.lthn.ai/core/cli",
|
||||
"license": "EUPL-1.2",
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
|
|
@ -449,7 +449,7 @@ jobs:
|
|||
"autoupdate": {
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
"url": "https://github.com/host-uk/core/releases/download/v$version/core-windows-amd64.zip"
|
||||
"url": "https://forge.lthn.ai/core/cli/releases/download/v$version/core-windows-amd64.zip"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -457,7 +457,7 @@ jobs:
|
|||
MANIFEST
|
||||
|
||||
sed -i "s|VERSION_PLACEHOLDER|${MANIFEST_VERSION}|g" core.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://github.com/host-uk/core/releases/download/${VERSION}/core-windows-amd64.zip|g" core.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-windows-amd64.zip|g" core.json
|
||||
sed -i "s|HASH_PLACEHOLDER|${WIN_AMD64}|g" core.json
|
||||
sed -i 's/^ //' core.json
|
||||
|
||||
|
|
@ -467,7 +467,7 @@ jobs:
|
|||
{
|
||||
"version": "VERSION_PLACEHOLDER",
|
||||
"description": "Host UK desktop development environment",
|
||||
"homepage": "https://github.com/host-uk/core",
|
||||
"homepage": "https://forge.lthn.ai/core/cli",
|
||||
"license": "EUPL-1.2",
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
|
|
@ -480,14 +480,14 @@ jobs:
|
|||
"autoupdate": {
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
"url": "https://github.com/host-uk/core/releases/download/v$version/core-ide-windows-amd64.zip"
|
||||
"url": "https://forge.lthn.ai/core/cli/releases/download/v$version/core-ide-windows-amd64.zip"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
MANIFEST
|
||||
sed -i "s|VERSION_PLACEHOLDER|${MANIFEST_VERSION}|g" core-ide.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://github.com/host-uk/core/releases/download/${VERSION}/core-ide-windows-amd64.zip|g" core-ide.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-ide-windows-amd64.zip|g" core-ide.json
|
||||
sed -i "s|HASH_PLACEHOLDER|${IDE_WIN_AMD64}|g" core-ide.json
|
||||
sed -i 's/^ //' core-ide.json
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -148,10 +148,10 @@ jobs:
|
|||
|
||||
# Version injection via ldflags
|
||||
LDFLAGS="-s -w"
|
||||
LDFLAGS="${LDFLAGS} -X github.com/host-uk/core/internal/bugseti.Version=${VERSION}"
|
||||
LDFLAGS="${LDFLAGS} -X github.com/host-uk/core/internal/bugseti.Channel=${CHANNEL}"
|
||||
LDFLAGS="${LDFLAGS} -X github.com/host-uk/core/internal/bugseti.Commit=${COMMIT_SHA}"
|
||||
LDFLAGS="${LDFLAGS} -X github.com/host-uk/core/internal/bugseti.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
||||
LDFLAGS="${LDFLAGS} -X forge.lthn.ai/core/cli/internal/bugseti.Version=${VERSION}"
|
||||
LDFLAGS="${LDFLAGS} -X forge.lthn.ai/core/cli/internal/bugseti.Channel=${CHANNEL}"
|
||||
LDFLAGS="${LDFLAGS} -X forge.lthn.ai/core/cli/internal/bugseti.Commit=${COMMIT_SHA}"
|
||||
LDFLAGS="${LDFLAGS} -X forge.lthn.ai/core/cli/internal/bugseti.BuildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
||||
|
||||
if [ "$GOOS" = "windows" ]; then
|
||||
export CGO_ENABLED=0
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ jobs:
|
|||
|
||||
- name: Build core CLI
|
||||
run: |
|
||||
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
go build -ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
|
||||
core --version
|
||||
|
||||
- name: Generate code
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ jobs:
|
|||
ARCHIVE_PREFIX="core-${GOOS}-${GOARCH}"
|
||||
|
||||
APP_VERSION="${GITHUB_REF_NAME#v}"
|
||||
go build -ldflags "-s -w -X github.com/host-uk/core/pkg/cli.AppVersion=${APP_VERSION}" -o "./bin/${BINARY}" .
|
||||
go build -ldflags "-s -w -X forge.lthn.ai/core/cli/pkg/cli.AppVersion=${APP_VERSION}" -o "./bin/${BINARY}" .
|
||||
|
||||
# Create tar.gz for Homebrew (non-Windows)
|
||||
if [ "$GOOS" != "windows" ]; then
|
||||
|
|
@ -260,21 +260,21 @@ jobs:
|
|||
|
||||
class Core < Formula
|
||||
desc "Host UK development CLI"
|
||||
homepage "https://github.com/host-uk/core"
|
||||
homepage "https://forge.lthn.ai/core/cli"
|
||||
version "${FORMULA_VERSION}"
|
||||
license "EUPL-1.2"
|
||||
|
||||
on_macos do
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-darwin-arm64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-darwin-arm64.tar.gz"
|
||||
sha256 "${DARWIN_ARM64}"
|
||||
end
|
||||
|
||||
on_linux do
|
||||
if Hardware::CPU.arm?
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-linux-arm64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-linux-arm64.tar.gz"
|
||||
sha256 "${LINUX_ARM64}"
|
||||
else
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-linux-amd64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-linux-amd64.tar.gz"
|
||||
sha256 "${LINUX_AMD64}"
|
||||
end
|
||||
end
|
||||
|
|
@ -304,12 +304,12 @@ jobs:
|
|||
|
||||
class CoreIde < Formula
|
||||
desc "Host UK desktop development environment"
|
||||
homepage "https://github.com/host-uk/core"
|
||||
homepage "https://forge.lthn.ai/core/cli"
|
||||
version "${FORMULA_VERSION}"
|
||||
license "EUPL-1.2"
|
||||
|
||||
on_linux do
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-ide-linux-amd64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-ide-linux-amd64.tar.gz"
|
||||
sha256 "${IDE_LINUX_AMD64}"
|
||||
end
|
||||
|
||||
|
|
@ -329,10 +329,10 @@ jobs:
|
|||
version "${FORMULA_VERSION}"
|
||||
sha256 "${IDE_DARWIN_ARM64}"
|
||||
|
||||
url "https://github.com/host-uk/core/releases/download/${VERSION}/core-ide-darwin-arm64.tar.gz"
|
||||
url "https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-ide-darwin-arm64.tar.gz"
|
||||
name "Core IDE"
|
||||
desc "Host UK desktop development environment"
|
||||
homepage "https://github.com/host-uk/core"
|
||||
homepage "https://forge.lthn.ai/core/cli"
|
||||
|
||||
app "Core IDE.app"
|
||||
end
|
||||
|
|
@ -390,7 +390,7 @@ jobs:
|
|||
{
|
||||
"version": "VERSION_PLACEHOLDER",
|
||||
"description": "Host UK development CLI",
|
||||
"homepage": "https://github.com/host-uk/core",
|
||||
"homepage": "https://forge.lthn.ai/core/cli",
|
||||
"license": "EUPL-1.2",
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
|
|
@ -403,7 +403,7 @@ jobs:
|
|||
"autoupdate": {
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
"url": "https://github.com/host-uk/core/releases/download/v$version/core-windows-amd64.zip"
|
||||
"url": "https://forge.lthn.ai/core/cli/releases/download/v$version/core-windows-amd64.zip"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -411,7 +411,7 @@ jobs:
|
|||
MANIFEST
|
||||
|
||||
sed -i "s|VERSION_PLACEHOLDER|${MANIFEST_VERSION}|g" core.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://github.com/host-uk/core/releases/download/${VERSION}/core-windows-amd64.zip|g" core.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-windows-amd64.zip|g" core.json
|
||||
sed -i "s|HASH_PLACEHOLDER|${WIN_AMD64}|g" core.json
|
||||
sed -i 's/^ //' core.json
|
||||
|
||||
|
|
@ -421,7 +421,7 @@ jobs:
|
|||
{
|
||||
"version": "VERSION_PLACEHOLDER",
|
||||
"description": "Host UK desktop development environment",
|
||||
"homepage": "https://github.com/host-uk/core",
|
||||
"homepage": "https://forge.lthn.ai/core/cli",
|
||||
"license": "EUPL-1.2",
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
|
|
@ -434,14 +434,14 @@ jobs:
|
|||
"autoupdate": {
|
||||
"architecture": {
|
||||
"64bit": {
|
||||
"url": "https://github.com/host-uk/core/releases/download/v$version/core-ide-windows-amd64.zip"
|
||||
"url": "https://forge.lthn.ai/core/cli/releases/download/v$version/core-ide-windows-amd64.zip"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
MANIFEST
|
||||
sed -i "s|VERSION_PLACEHOLDER|${MANIFEST_VERSION}|g" core-ide.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://github.com/host-uk/core/releases/download/${VERSION}/core-ide-windows-amd64.zip|g" core-ide.json
|
||||
sed -i "s|URL_PLACEHOLDER|https://forge.lthn.ai/core/cli/releases/download/${VERSION}/core-ide-windows-amd64.zip|g" core-ide.json
|
||||
sed -i "s|HASH_PLACEHOLDER|${IDE_WIN_AMD64}|g" core-ide.json
|
||||
sed -i 's/^ //' core-ide.json
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ steps:
|
|||
- go mod download
|
||||
- >-
|
||||
go build
|
||||
-ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=ci
|
||||
-X github.com/host-uk/core/pkg/cli.BuildCommit=${CI_COMMIT_SHA:0:7}
|
||||
-X github.com/host-uk/core/pkg/cli.BuildDate=$(date -u +%Y%m%d)"
|
||||
-ldflags "-X forge.lthn.ai/core/cli/pkg/cli.AppVersion=ci
|
||||
-X forge.lthn.ai/core/cli/pkg/cli.BuildCommit=${CI_COMMIT_SHA:0:7}
|
||||
-X forge.lthn.ai/core/cli/pkg/cli.BuildDate=$(date -u +%Y%m%d)"
|
||||
-o ./bin/core .
|
||||
- ./bin/core --version
|
||||
|
||||
|
|
|
|||
14
README.md
14
README.md
|
|
@ -1,14 +1,14 @@
|
|||
# Core
|
||||
|
||||
[](https://codecov.io/gh/host-uk/core)
|
||||
[](https://github.com/host-uk/core/actions/workflows/coverage.yml)
|
||||
[](https://github.com/host-uk/core/actions/workflows/codescan.yml)
|
||||
[](https://forge.lthn.ai/core/cli/actions/workflows/coverage.yml)
|
||||
[](https://forge.lthn.ai/core/cli/actions/workflows/codescan.yml)
|
||||
[](https://go.dev/)
|
||||
[](https://opensource.org/licenses/EUPL-1.2)
|
||||
|
||||
Core is a Web3 Framework, written in Go using Wails.io to replace Electron and the bloat of browsers that, at their core, still live in their mum's basement.
|
||||
|
||||
- Repo: https://github.com/host-uk/core
|
||||
- Repo: https://forge.lthn.ai/core/cli
|
||||
|
||||
## Vision
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ Core is an **opinionated Web3 desktop application framework** providing:
|
|||
|
||||
```bash
|
||||
# 1. Install Core
|
||||
go install github.com/host-uk/core/cmd/core@latest
|
||||
go install forge.lthn.ai/core/cli/cmd/core@latest
|
||||
|
||||
# 2. Verify environment
|
||||
core doctor
|
||||
|
|
@ -44,7 +44,7 @@ For more details, see the [User Guide](docs/user-guide.md).
|
|||
## Framework Quick Start (Go)
|
||||
|
||||
```go
|
||||
import core "github.com/host-uk/core/pkg/framework/core"
|
||||
import core "forge.lthn.ai/core/cli/pkg/framework/core"
|
||||
|
||||
app, err := core.New(
|
||||
core.WithServiceLock(),
|
||||
|
|
@ -210,7 +210,7 @@ app.RegisterService(application.NewService(coreService)) // Only Core is regist
|
|||
**Currently exposed** (see `cmd/core-gui/public/bindings/`):
|
||||
```typescript
|
||||
// From frontend:
|
||||
import { ACTION, Config, Service } from './bindings/github.com/host-uk/core/pkg/core'
|
||||
import { ACTION, Config, Service } from './bindings/forge.lthn.ai/core/cli/pkg/core'
|
||||
|
||||
ACTION(msg) // Broadcast IPC message
|
||||
Config() // Get config service reference
|
||||
|
|
@ -259,7 +259,7 @@ Sub-services are accessed via Core's **IPC/ACTION system**, not direct Wails bin
|
|||
|
||||
```typescript
|
||||
// Frontend calls Core.ACTION() with typed messages
|
||||
import { ACTION } from './bindings/github.com/host-uk/core/pkg/core'
|
||||
import { ACTION } from './bindings/forge.lthn.ai/core/cli/pkg/core'
|
||||
|
||||
// Open a window
|
||||
ACTION({ action: "display.open_window", name: "settings", options: { Title: "Settings", Width: 800 } })
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ vars:
|
|||
SEMVER_PRERELEASE:
|
||||
sh: '[ "{{.SEMVER_COMMITS}}" = "0" ] && echo "" || echo "dev.{{.SEMVER_COMMITS}}"'
|
||||
# ldflags
|
||||
PKG: "github.com/host-uk/core/pkg/cli"
|
||||
PKG: "forge.lthn.ai/core/cli/pkg/cli"
|
||||
LDFLAGS_BASE: >-
|
||||
-X {{.PKG}}.AppVersion={{.SEMVER_VERSION}}
|
||||
-X {{.PKG}}.BuildCommit={{.SEMVER_COMMIT}}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ BugSETI is a system tray application that helps developers contribute to open so
|
|||
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://github.com/host-uk/core.git
|
||||
git clone https://forge.lthn.ai/core/cli.git
|
||||
cd core
|
||||
|
||||
# Build BugSETI
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ description: |
|
|||
it pulls OSS issues from GitHub, AI prepares context,
|
||||
you fix bugs, and it auto-submits PRs.
|
||||
vendor: "Lethean"
|
||||
homepage: "https://github.com/host-uk/core"
|
||||
homepage: "https://forge.lthn.ai/core/cli"
|
||||
license: "MIT"
|
||||
|
||||
contents:
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
module github.com/host-uk/core/cmd/bugseti
|
||||
module forge.lthn.ai/core/cli/cmd/bugseti
|
||||
|
||||
go 1.25.5
|
||||
|
||||
require (
|
||||
github.com/Snider/Borg v0.2.0
|
||||
github.com/host-uk/core v0.0.0
|
||||
github.com/host-uk/core/internal/bugseti v0.0.0
|
||||
github.com/host-uk/core/internal/bugseti/updater v0.0.0
|
||||
forge.lthn.ai/core/cli v0.0.0
|
||||
forge.lthn.ai/core/cli/internal/bugseti v0.0.0
|
||||
forge.lthn.ai/core/cli/internal/bugseti/updater v0.0.0
|
||||
github.com/wailsapp/wails/v3 v3.0.0-alpha.64
|
||||
)
|
||||
|
||||
replace github.com/host-uk/core => ../..
|
||||
replace forge.lthn.ai/core/cli => ../..
|
||||
|
||||
replace github.com/host-uk/core/internal/bugseti => ../../internal/bugseti
|
||||
replace forge.lthn.ai/core/cli/internal/bugseti => ../../internal/bugseti
|
||||
|
||||
replace github.com/host-uk/core/internal/bugseti/updater => ../../internal/bugseti/updater
|
||||
replace forge.lthn.ai/core/cli/internal/bugseti/updater => ../../internal/bugseti/updater
|
||||
|
||||
require (
|
||||
dario.cat/mergo v1.0.2 // indirect
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ import (
|
|||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/cmd/bugseti/icons"
|
||||
"github.com/host-uk/core/internal/bugseti"
|
||||
"github.com/host-uk/core/internal/bugseti/updater"
|
||||
"forge.lthn.ai/core/cli/cmd/bugseti/icons"
|
||||
"forge.lthn.ai/core/cli/internal/bugseti"
|
||||
"forge.lthn.ai/core/cli/internal/bugseti/updater"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
"github.com/wailsapp/wails/v3/pkg/events"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import (
|
|||
"context"
|
||||
"log"
|
||||
|
||||
"github.com/host-uk/core/internal/bugseti"
|
||||
"forge.lthn.ai/core/cli/internal/bugseti"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/Snider/Borg/pkg/tim"
|
||||
"github.com/host-uk/core/internal/bugseti"
|
||||
"github.com/host-uk/core/pkg/io/datanode"
|
||||
"forge.lthn.ai/core/cli/internal/bugseti"
|
||||
"forge.lthn.ai/core/cli/pkg/io/datanode"
|
||||
)
|
||||
|
||||
// WorkspaceService manages DataNode-backed workspaces for issues.
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@
|
|||
<div class="flex items-center gap-6 text-sm">
|
||||
<a href="#how-it-works" class="text-lethean-400 hover:text-lethean-200 transition-colors link-underline">How it works</a>
|
||||
<a href="#ecosystem" class="text-lethean-400 hover:text-lethean-200 transition-colors link-underline">Ecosystem</a>
|
||||
<a href="https://github.com/host-uk/core" target="_blank" rel="noopener" class="text-lethean-400 hover:text-lethean-200 transition-colors link-underline">GitHub</a>
|
||||
<a href="https://forge.lthn.ai/core/cli" target="_blank" rel="noopener" class="text-lethean-400 hover:text-lethean-200 transition-colors link-underline">GitHub</a>
|
||||
<a href="#join" class="inline-flex items-center gap-1.5 px-4 py-1.5 rounded-md bg-cyan-400/10 text-cyan-400 border border-cyan-400/20 hover:bg-cyan-400/20 hover:border-cyan-400/30 transition-all text-sm font-medium">
|
||||
Get BugSETI
|
||||
</a>
|
||||
|
|
@ -249,7 +249,7 @@
|
|||
Download BugSETI
|
||||
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/></svg>
|
||||
</a>
|
||||
<a href="https://github.com/host-uk/core" target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-6 py-3 rounded-lg border border-lethean-600/50 text-lethean-300 font-medium text-sm hover:bg-lethean-800/50 hover:border-lethean-500/50 transition-all">
|
||||
<a href="https://forge.lthn.ai/core/cli" target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-6 py-3 rounded-lg border border-lethean-600/50 text-lethean-300 font-medium text-sm hover:bg-lethean-800/50 hover:border-lethean-500/50 transition-all">
|
||||
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
|
||||
View Source
|
||||
</a>
|
||||
|
|
@ -518,13 +518,13 @@
|
|||
|
||||
<!-- Download buttons -->
|
||||
<div class="flex flex-col sm:flex-row items-center justify-center gap-3 mb-12">
|
||||
<a href="https://github.com/host-uk/core/releases" target="_blank" rel="noopener" class="w-full sm:w-auto inline-flex items-center justify-center gap-2 px-6 py-3.5 rounded-lg bg-lethean-800 border border-lethean-600/40 text-lethean-200 font-medium text-sm hover:bg-lethean-700 hover:border-lethean-500/50 transition-all">
|
||||
<a href="https://forge.lthn.ai/core/cli/releases" target="_blank" rel="noopener" class="w-full sm:w-auto inline-flex items-center justify-center gap-2 px-6 py-3.5 rounded-lg bg-lethean-800 border border-lethean-600/40 text-lethean-200 font-medium text-sm hover:bg-lethean-700 hover:border-lethean-500/50 transition-all">
|
||||
<span class="text-lg">🐧</span> Linux
|
||||
</a>
|
||||
<a href="https://github.com/host-uk/core/releases" target="_blank" rel="noopener" class="w-full sm:w-auto inline-flex items-center justify-center gap-2 px-6 py-3.5 rounded-lg bg-lethean-800 border border-lethean-600/40 text-lethean-200 font-medium text-sm hover:bg-lethean-700 hover:border-lethean-500/50 transition-all">
|
||||
<a href="https://forge.lthn.ai/core/cli/releases" target="_blank" rel="noopener" class="w-full sm:w-auto inline-flex items-center justify-center gap-2 px-6 py-3.5 rounded-lg bg-lethean-800 border border-lethean-600/40 text-lethean-200 font-medium text-sm hover:bg-lethean-700 hover:border-lethean-500/50 transition-all">
|
||||
<span class="text-lg">🍎</span> macOS
|
||||
</a>
|
||||
<a href="https://github.com/host-uk/core/releases" target="_blank" rel="noopener" class="w-full sm:w-auto inline-flex items-center justify-center gap-2 px-6 py-3.5 rounded-lg bg-lethean-800 border border-lethean-600/40 text-lethean-200 font-medium text-sm hover:bg-lethean-700 hover:border-lethean-500/50 transition-all">
|
||||
<a href="https://forge.lthn.ai/core/cli/releases" target="_blank" rel="noopener" class="w-full sm:w-auto inline-flex items-center justify-center gap-2 px-6 py-3.5 rounded-lg bg-lethean-800 border border-lethean-600/40 text-lethean-200 font-medium text-sm hover:bg-lethean-700 hover:border-lethean-500/50 transition-all">
|
||||
<span class="text-lg">🪟</span> Windows
|
||||
</a>
|
||||
</div>
|
||||
|
|
@ -533,7 +533,7 @@
|
|||
<div class="gradient-border rounded-lg overflow-hidden max-w-md mx-auto">
|
||||
<div class="bg-lethean-900 rounded-lg px-5 py-3 font-mono text-sm text-left">
|
||||
<span class="text-lethean-500"># or build from source</span><br>
|
||||
<span class="text-cyan-400">$</span> <span class="text-lethean-300">git clone https://github.com/host-uk/core</span><br>
|
||||
<span class="text-cyan-400">$</span> <span class="text-lethean-300">git clone https://forge.lthn.ai/core/cli</span><br>
|
||||
<span class="text-cyan-400">$</span> <span class="text-lethean-300">cd core && go build ./cmd/bugseti</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
module github.com/host-uk/core/cmd/core-app
|
||||
module forge.lthn.ai/core/cli/cmd/core-app
|
||||
|
||||
go 1.25.5
|
||||
|
||||
|
|
@ -64,4 +64,4 @@ require (
|
|||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
)
|
||||
|
||||
replace github.com/host-uk/core => ../..
|
||||
replace forge.lthn.ai/core/cli => ../..
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import (
|
|||
"log"
|
||||
"runtime"
|
||||
|
||||
"github.com/host-uk/core/cmd/core-app/icons"
|
||||
"forge.lthn.ai/core/cli/cmd/core-app/icons"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import (
|
|||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/mcp/ide"
|
||||
"forge.lthn.ai/core/cli/pkg/mcp/ide"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import (
|
|||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/mcp/ide"
|
||||
"forge.lthn.ai/core/cli/pkg/mcp/ide"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
module github.com/host-uk/core/cmd/core-ide
|
||||
module forge.lthn.ai/core/cli/cmd/core-ide
|
||||
|
||||
go 1.25.5
|
||||
|
||||
require (
|
||||
github.com/gorilla/websocket v1.5.3
|
||||
github.com/host-uk/core v0.0.0
|
||||
forge.lthn.ai/core/cli v0.0.0
|
||||
github.com/wailsapp/wails/v3 v3.0.0-alpha.64
|
||||
)
|
||||
|
||||
|
|
@ -54,4 +54,4 @@ require (
|
|||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
)
|
||||
|
||||
replace github.com/host-uk/core => ../..
|
||||
replace forge.lthn.ai/core/cli => ../..
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import (
|
|||
"context"
|
||||
"log"
|
||||
|
||||
"github.com/host-uk/core/pkg/mcp/ide"
|
||||
"github.com/host-uk/core/pkg/ws"
|
||||
"forge.lthn.ai/core/cli/pkg/mcp/ide"
|
||||
"forge.lthn.ai/core/cli/pkg/ws"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ import (
|
|||
"runtime"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/cmd/core-ide/icons"
|
||||
"github.com/host-uk/core/pkg/mcp/ide"
|
||||
"github.com/host-uk/core/pkg/ws"
|
||||
"forge.lthn.ai/core/cli/cmd/core-ide/icons"
|
||||
"forge.lthn.ai/core/cli/pkg/mcp/ide"
|
||||
"forge.lthn.ai/core/cli/pkg/ws"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import (
|
|||
"net/http"
|
||||
"sync"
|
||||
|
||||
"github.com/host-uk/core/pkg/ws"
|
||||
"forge.lthn.ai/core/cli/pkg/ws"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
|
|
|
|||
BIN
core-ide
Executable file
BIN
core-ide
Executable file
Binary file not shown.
|
|
@ -26,8 +26,8 @@ core dev work --status
|
|||
repos:
|
||||
- name: core
|
||||
path: ./core
|
||||
url: https://github.com/host-uk/core
|
||||
url: https://forge.lthn.ai/core/cli
|
||||
- name: core-php
|
||||
path: ./core-php
|
||||
url: https://github.com/host-uk/core-php
|
||||
url: https://forge.lthn.ai/core/cli-php
|
||||
```
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ core go mod graph | dot -Tpng -o deps.png
|
|||
## Output
|
||||
|
||||
```
|
||||
github.com/host-uk/core github.com/stretchr/testify@v1.11.1
|
||||
forge.lthn.ai/core/cli github.com/stretchr/testify@v1.11.1
|
||||
github.com/stretchr/testify@v1.11.1 github.com/davecgh/go-spew@v1.1.2
|
||||
github.com/stretchr/testify@v1.11.1 github.com/pmezard/go-difflib@v1.0.1
|
||||
...
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Unified interface for Go/PHP development, multi-repo management, and deployment.
|
|||
## Installation
|
||||
|
||||
```bash
|
||||
go install github.com/host-uk/core/cmd/core@latest
|
||||
go install forge.lthn.ai/core/cli/cmd/core@latest
|
||||
```
|
||||
|
||||
Verify: `core doctor`
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ It is both. The Core Framework (`pkg/core`) is a library for building Go desktop
|
|||
The recommended way is via Go:
|
||||
|
||||
```bash
|
||||
go install github.com/host-uk/core/cmd/core@latest
|
||||
go install forge.lthn.ai/core/cli/cmd/core@latest
|
||||
```
|
||||
|
||||
Ensure your Go bin directory is in your PATH. See [Getting Started](getting-started.md) for more options.
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ Optional (for specific features):
|
|||
|
||||
```bash
|
||||
# Install latest release
|
||||
go install github.com/host-uk/core/cmd/core@latest
|
||||
go install forge.lthn.ai/core/cli/cmd/core@latest
|
||||
|
||||
# Verify installation
|
||||
core doctor
|
||||
|
|
@ -39,21 +39,21 @@ export PATH="$PATH:$(go env GOPATH)/bin"
|
|||
|
||||
### Option 2: Download Binary
|
||||
|
||||
Download pre-built binaries from [GitHub Releases](https://github.com/host-uk/core/releases):
|
||||
Download pre-built binaries from [GitHub Releases](https://forge.lthn.ai/core/cli/releases):
|
||||
|
||||
```bash
|
||||
# macOS (Apple Silicon)
|
||||
curl -Lo core https://github.com/host-uk/core/releases/latest/download/core-darwin-arm64
|
||||
curl -Lo core https://forge.lthn.ai/core/cli/releases/latest/download/core-darwin-arm64
|
||||
chmod +x core
|
||||
sudo mv core /usr/local/bin/
|
||||
|
||||
# macOS (Intel)
|
||||
curl -Lo core https://github.com/host-uk/core/releases/latest/download/core-darwin-amd64
|
||||
curl -Lo core https://forge.lthn.ai/core/cli/releases/latest/download/core-darwin-amd64
|
||||
chmod +x core
|
||||
sudo mv core /usr/local/bin/
|
||||
|
||||
# Linux (x86_64)
|
||||
curl -Lo core https://github.com/host-uk/core/releases/latest/download/core-linux-amd64
|
||||
curl -Lo core https://forge.lthn.ai/core/cli/releases/latest/download/core-linux-amd64
|
||||
chmod +x core
|
||||
sudo mv core /usr/local/bin/
|
||||
```
|
||||
|
|
@ -62,7 +62,7 @@ sudo mv core /usr/local/bin/
|
|||
|
||||
```bash
|
||||
# Clone repository
|
||||
git clone https://github.com/host-uk/core.git
|
||||
git clone https://forge.lthn.ai/core/cli.git
|
||||
cd core
|
||||
|
||||
# Build with Task (recommended)
|
||||
|
|
@ -181,7 +181,7 @@ core doctor
|
|||
core <command> --help
|
||||
|
||||
# Full documentation
|
||||
https://github.com/host-uk/core/tree/main/docs
|
||||
https://forge.lthn.ai/core/cli/tree/main/docs
|
||||
```
|
||||
|
||||
## See Also
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ Core is a unified CLI for the host-uk ecosystem - build, release, and deploy Go,
|
|||
|
||||
```bash
|
||||
# Via Go (recommended)
|
||||
go install github.com/host-uk/core/cmd/core@latest
|
||||
go install forge.lthn.ai/core/cli/cmd/core@latest
|
||||
|
||||
# Or download binary from releases
|
||||
curl -Lo core https://github.com/host-uk/core/releases/latest/download/core-$(go env GOOS)-$(go env GOARCH)
|
||||
curl -Lo core https://forge.lthn.ai/core/cli/releases/latest/download/core-$(go env GOOS)-$(go env GOARCH)
|
||||
chmod +x core && sudo mv core /usr/local/bin/
|
||||
|
||||
# Verify
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@ import (
|
|||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/webview"
|
||||
"forge.lthn.ai/core/cli/pkg/webview"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
|
@ -424,7 +424,7 @@ import (
|
|||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/webview"
|
||||
"forge.lthn.ai/core/cli/pkg/webview"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
|
|
|||
|
|
@ -47,8 +47,8 @@ Here is the technical documentation for the Core framework packages.
|
|||
* **Framework Integration**: The `Service` struct embeds `framework.ServiceRuntime`, utilizing the Actor pattern (Queries and Tasks) to allow dynamic log level adjustment at runtime without restarting the application.
|
||||
|
||||
### 4. Dependencies
|
||||
* `github.com/host-uk/core/pkg/io`: Used by `rotation.go` to handle file operations (renaming, deleting, writing) abstractly.
|
||||
* `github.com/host-uk/core/pkg/framework`: Used by `service.go` to hook into the application lifecycle and message bus.
|
||||
* `forge.lthn.ai/core/cli/pkg/io`: Used by `rotation.go` to handle file operations (renaming, deleting, writing) abstractly.
|
||||
* `forge.lthn.ai/core/cli/pkg/framework`: Used by `service.go` to hook into the application lifecycle and message bus.
|
||||
* Standard Lib: `errors`, `fmt`, `os`, `sync`, `time`.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
|
|
@ -88,8 +88,8 @@ Here is the technical documentation for the Core framework packages.
|
|||
### 4. Dependencies
|
||||
* `github.com/spf13/viper`: Core logic for map merging and unmarshalling.
|
||||
* `gopkg.in/yaml.v3`: For marshalling data when saving.
|
||||
* `github.com/host-uk/core/pkg/io`: For reading/writing config files.
|
||||
* `github.com/host-uk/core/pkg/framework/core`: For service integration and error handling.
|
||||
* `forge.lthn.ai/core/cli/pkg/io`: For reading/writing config files.
|
||||
* `forge.lthn.ai/core/cli/pkg/framework/core`: For service integration and error handling.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
* **Precedence**: Verify that Environment variables override File values.
|
||||
|
|
@ -122,7 +122,7 @@ Here is the technical documentation for the Core framework packages.
|
|||
|
||||
### 4. Dependencies
|
||||
* Standard Lib: `io`, `io/fs`, `os`, `path/filepath`, `strings`, `time`.
|
||||
* `github.com/host-uk/core/pkg/io/local`: (Implied) The concrete implementation for OS disk access.
|
||||
* `forge.lthn.ai/core/cli/pkg/io/local`: (Implied) The concrete implementation for OS disk access.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
* **Mock fidelity**: The `MockMedium` must behave exactly like the OS. E.g., `Rename` should fail if the source doesn't exist; `Delete` should fail if a directory is not empty.
|
||||
|
|
@ -198,10 +198,10 @@ Here is the technical documentation for the Core framework packages.
|
|||
4. Server validates signature against User Public Key.
|
||||
|
||||
### 4. Dependencies
|
||||
* `github.com/host-uk/core/pkg/io`: For user database storage.
|
||||
* `github.com/host-uk/core/pkg/crypt/lthn`: (Implied) Specific password hashing.
|
||||
* `github.com/host-uk/core/pkg/crypt/pgp`: (Implied) OpenPGP operations.
|
||||
* `github.com/host-uk/core/pkg/framework/core`: Error handling.
|
||||
* `forge.lthn.ai/core/cli/pkg/io`: For user database storage.
|
||||
* `forge.lthn.ai/core/cli/pkg/crypt/lthn`: (Implied) Specific password hashing.
|
||||
* `forge.lthn.ai/core/cli/pkg/crypt/pgp`: (Implied) OpenPGP operations.
|
||||
* `forge.lthn.ai/core/cli/pkg/framework/core`: Error handling.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
* **Flow Verification**: Full integration test simulating a client: Register -> Get Challenge -> Decrypt/Sign (Mock Client) -> Validate -> Get Token.
|
||||
|
|
|
|||
|
|
@ -60,9 +60,9 @@ The `cli` package is a comprehensive application runtime and UI framework design
|
|||
|
||||
### 4. Dependencies
|
||||
- `github.com/spf13/cobra`: The underlying command routing engine.
|
||||
- `github.com/host-uk/core/pkg/framework`: The dependency injection and service lifecycle container.
|
||||
- `github.com/host-uk/core/pkg/i18n`: For translation and semantic grammar generation.
|
||||
- `github.com/host-uk/core/pkg/log`: For structured logging.
|
||||
- `forge.lthn.ai/core/cli/pkg/framework`: The dependency injection and service lifecycle container.
|
||||
- `forge.lthn.ai/core/cli/pkg/i18n`: For translation and semantic grammar generation.
|
||||
- `forge.lthn.ai/core/cli/pkg/log`: For structured logging.
|
||||
- `golang.org/x/term`: For TTY detection.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
|
|
@ -162,8 +162,8 @@ The `workspace` package implements the `core.Workspace` interface, providing iso
|
|||
- **Key Management**: Delegates actual key generation to the core's `Crypt()` service but manages the storage of the resulting keys within the workspace layout.
|
||||
|
||||
### 4. Dependencies
|
||||
- `github.com/host-uk/core/pkg/framework/core`: Interfaces.
|
||||
- `github.com/host-uk/core/pkg/io`: File system abstraction (`io.Medium`).
|
||||
- `forge.lthn.ai/core/cli/pkg/framework/core`: Interfaces.
|
||||
- `forge.lthn.ai/core/cli/pkg/io`: File system abstraction (`io.Medium`).
|
||||
- `crypt` service (Runtime dependency): Required for `CreateWorkspace`.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
|
|
|
|||
|
|
@ -87,8 +87,8 @@ type Builder interface {
|
|||
### 4. Dependencies
|
||||
* `archive/tar`, `archive/zip`, `compress/gzip`: Standard library for archiving.
|
||||
* `github.com/Snider/Borg/pkg/compress`: External dependency for XZ compression support.
|
||||
* `github.com/host-uk/core/pkg/io`: Internal interface for filesystem abstraction.
|
||||
* `github.com/host-uk/core/pkg/config`: Internal centralized configuration loading.
|
||||
* `forge.lthn.ai/core/cli/pkg/io`: Internal interface for filesystem abstraction.
|
||||
* `forge.lthn.ai/core/cli/pkg/config`: Internal centralized configuration loading.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
* **Mocking IO**: Tests must implement a mock `io.Medium` to simulate file existence (`Detect`) and write operations (`Archive`) without touching the disk.
|
||||
|
|
@ -158,7 +158,7 @@ type RunOptions struct {
|
|||
### 4. Dependencies
|
||||
* `os/exec`: Essential for spawning the hypervisor processes.
|
||||
* `embed`: For built-in templates.
|
||||
* `github.com/host-uk/core/pkg/io`: Filesystem access for state and logs.
|
||||
* `forge.lthn.ai/core/cli/pkg/io`: Filesystem access for state and logs.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
* **Process Management**: Difficult to test `Run` in standard CI. Mocking `exec.Command` or the `Hypervisor` interface is required.
|
||||
|
|
@ -224,7 +224,7 @@ func (r *Runner) RunParallel(ctx context.Context, specs []RunSpec) (*RunAllResul
|
|||
|
||||
### 4. Dependencies
|
||||
* `os/exec`: The underlying execution engine.
|
||||
* `github.com/host-uk/core/pkg/framework`: Creates the `ServiceRuntime` and provides the IPC/Action bus.
|
||||
* `forge.lthn.ai/core/cli/pkg/framework`: Creates the `ServiceRuntime` and provides the IPC/Action bus.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
* **Concurrency**: The `Runner` needs tests for race conditions during parallel execution.
|
||||
|
|
@ -286,7 +286,7 @@ type JobHandler interface {
|
|||
* **Journaling**: Writes `jsonl` (JSON Lines) files partitioned by repository and date (`baseDir/owner/repo/YYYY-MM-DD.jsonl`), ensuring an append-only audit trail.
|
||||
|
||||
### 4. Dependencies
|
||||
* `github.com/host-uk/core/pkg/log`: Internal logging.
|
||||
* `forge.lthn.ai/core/cli/pkg/log`: Internal logging.
|
||||
* `encoding/json`: For journal serialization.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ func NewService(opts ServiceOptions) func(*framework.Core) (any, error)
|
|||
|
||||
### Dependencies
|
||||
* `os/exec`: For invoking git commands.
|
||||
* `github.com/host-uk/core/pkg/framework`: For service registration and message passing types.
|
||||
* `forge.lthn.ai/core/cli/pkg/framework`: For service registration and message passing types.
|
||||
|
||||
### Test Coverage Notes
|
||||
* **Mocking**: Testing requires abstracting `exec.Command`. Since this package calls `exec.CommandContext` directly, tests likely require overriding a package-level variable or using a "fake exec" pattern during test initialization.
|
||||
|
|
@ -135,7 +135,7 @@ func (repo *Repo) IsGitRepo() bool
|
|||
|
||||
### Dependencies
|
||||
* `gopkg.in/yaml.v3`: For parsing `repos.yaml`.
|
||||
* `github.com/host-uk/core/pkg/io`: For filesystem abstraction (`io.Medium`).
|
||||
* `forge.lthn.ai/core/cli/pkg/io`: For filesystem abstraction (`io.Medium`).
|
||||
|
||||
### Test Coverage Notes
|
||||
* **Circular Dependencies**: Critical test cases must define a registry with `A->B->A` dependencies to ensure `TopologicalOrder` returns a clear error and doesn't stack overflow.
|
||||
|
|
@ -197,7 +197,7 @@ func (c *Client) ListUserRepos(...)
|
|||
### Dependencies
|
||||
* `code.gitea.io/sdk/gitea` (for `pkg/gitea`)
|
||||
* `codeberg.org/mvdkleijn/forgejo-sdk` (for `pkg/forge`)
|
||||
* `github.com/host-uk/core/pkg/config`: For persistent auth storage.
|
||||
* `forge.lthn.ai/core/cli/pkg/config`: For persistent auth storage.
|
||||
|
||||
### Test Coverage Notes
|
||||
* **Draft Status**: The raw HTTP patch in `pkg/forge` needs integration testing against a real instance or a high-fidelity HTTP mock to ensure payload format matches Forgejo's API expectation.
|
||||
|
|
@ -250,8 +250,8 @@ func IncrementVersion(current string) string
|
|||
* **SDK Generation**: Includes a specialized sub-pipeline (`RunSDK`) that handles OpenAPI diffing and client generation.
|
||||
|
||||
### Dependencies
|
||||
* `github.com/host-uk/core/pkg/build`: For compiling artifacts.
|
||||
* `github.com/host-uk/core/pkg/release/publishers`: Interface definitions for publishing targets.
|
||||
* `forge.lthn.ai/core/cli/pkg/build`: For compiling artifacts.
|
||||
* `forge.lthn.ai/core/cli/pkg/release/publishers`: Interface definitions for publishing targets.
|
||||
* `golang.org/x/text`: For title casing in changelogs.
|
||||
|
||||
### Test Coverage Notes
|
||||
|
|
|
|||
|
|
@ -51,8 +51,8 @@ func ListAgents(cfg *config.Config) (map[string]AgentConfig, error)
|
|||
* **Defaults Handling**: `LoadAgents` applies specific logic defaults (e.g., default queue directories, default models like "sonnet") to ensure the system works with minimal configuration.
|
||||
|
||||
### 4. Dependencies
|
||||
* `github.com/host-uk/core/pkg/config`: For reading/writing the persistent configuration state.
|
||||
* `github.com/host-uk/core/pkg/jobrunner/handlers`: To map local config structs to the runtime types used by the job dispatch system.
|
||||
* `forge.lthn.ai/core/cli/pkg/config`: For reading/writing the persistent configuration state.
|
||||
* `forge.lthn.ai/core/cli/pkg/jobrunner/handlers`: To map local config structs to the runtime types used by the job dispatch system.
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
* **Configuration Persistence**: Tests should verify that `SaveAgent` correctly updates the underlying config file and that `LoadAgents` retrieves it accurately.
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ type TaskResult struct { Changed, Failed bool; Msg, Stdout string; ... }
|
|||
* **SSH Abstraction**: `ssh.go` wraps `golang.org/x/crypto/ssh` to handle connection pooling, key management, and `sudo` escalation (become).
|
||||
|
||||
### 4. Dependencies
|
||||
* `github.com/host-uk/core/pkg/log`: structured logging.
|
||||
* `forge.lthn.ai/core/cli/pkg/log`: structured logging.
|
||||
* `golang.org/x/crypto/ssh`: Underlying SSH transport.
|
||||
* `gopkg.in/yaml.v3`: YAML parsing.
|
||||
|
||||
|
|
@ -129,7 +129,7 @@ Re-exports `Core`, `Option`, `Message`, `Startable`, `Stoppable`, and constructo
|
|||
Purely structural; contains type aliases and variable assignments to expose the internal `core` package.
|
||||
|
||||
### 4. Dependencies
|
||||
* `github.com/host-uk/core/pkg/framework/core`
|
||||
* `forge.lthn.ai/core/cli/pkg/framework/core`
|
||||
|
||||
### 5. Test Coverage Notes
|
||||
No logic to test directly; coverage belongs in `pkg/framework/core`.
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ package mypackage
|
|||
|
||||
import (
|
||||
"sync"
|
||||
"github.com/host-uk/core/pkg/framework"
|
||||
"forge.lthn.ai/core/cli/pkg/framework"
|
||||
)
|
||||
|
||||
// Service provides mypackage functionality with Core integration.
|
||||
|
|
@ -120,7 +120,7 @@ import (
|
|||
"sync"
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/host-uk/core/pkg/framework"
|
||||
"forge.lthn.ai/core/cli/pkg/framework"
|
||||
)
|
||||
|
||||
// Global default service
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ The `pkg/i18n` package provides internationalisation and localisation for Go CLI
|
|||
## Quick Start
|
||||
|
||||
```go
|
||||
import "github.com/host-uk/core/pkg/i18n"
|
||||
import "forge.lthn.ai/core/cli/pkg/i18n"
|
||||
|
||||
func main() {
|
||||
// Initialise with embedded locales
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
**Files:**
|
||||
- Create: `go.work`
|
||||
|
||||
**Context:** The repo has two real modules — the root (`github.com/host-uk/core`) and core-ide (`github.com/host-uk/core/internal/core-ide`). Without a workspace, core-ide can't import `pkg/jobrunner` from the root module during local development without fragile `replace` directives. A `go.work` file makes cross-module imports resolve locally, keeps each module's `go.mod` clean, and lets CI build each variant independently.
|
||||
**Context:** The repo has two real modules — the root (`forge.lthn.ai/core/cli`) and core-ide (`forge.lthn.ai/core/cli/internal/core-ide`). Without a workspace, core-ide can't import `pkg/jobrunner` from the root module during local development without fragile `replace` directives. A `go.work` file makes cross-module imports resolve locally, keeps each module's `go.mod` clean, and lets CI build each variant independently.
|
||||
|
||||
**Step 1: Create the workspace file**
|
||||
|
||||
|
|
@ -580,7 +580,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/log"
|
||||
"forge.lthn.ai/core/cli/pkg/log"
|
||||
)
|
||||
|
||||
// PollerConfig configures the job runner poller.
|
||||
|
|
@ -732,7 +732,7 @@ func (p *Poller) AddHandler(h JobHandler) {
|
|||
_ = fmt.Sprintf // ensure fmt imported for future use
|
||||
```
|
||||
|
||||
Wait — remove that last line. The `fmt` import is only needed if used. Let me correct: the implementation above doesn't use `fmt` directly, so remove it from imports. The `log` package import path is `github.com/host-uk/core/pkg/log`.
|
||||
Wait — remove that last line. The `fmt` import is only needed if used. Let me correct: the implementation above doesn't use `fmt` directly, so remove it from imports. The `log` package import path is `forge.lthn.ai/core/cli/pkg/log`.
|
||||
|
||||
**Step 4: Run tests**
|
||||
|
||||
|
|
@ -755,7 +755,7 @@ git commit -m "feat(jobrunner): add Poller with multi-source dispatch and journa
|
|||
- Create: `pkg/jobrunner/github/signals.go`
|
||||
- Test: `pkg/jobrunner/github/source_test.go`
|
||||
|
||||
**Context:** This package lives in the root go.mod (`github.com/host-uk/core`), NOT in the core-ide module. It uses `oauth2` and the GitHub REST API (same pattern as `internal/cmd/updater/github.go`). Uses conditional requests (ETag/If-None-Match) to conserve rate limit.
|
||||
**Context:** This package lives in the root go.mod (`forge.lthn.ai/core/cli`), NOT in the core-ide module. It uses `oauth2` and the GitHub REST API (same pattern as `internal/cmd/updater/github.go`). Uses conditional requests (ETag/If-None-Match) to conserve rate limit.
|
||||
|
||||
**Step 1: Write the test**
|
||||
|
||||
|
|
@ -769,7 +769,7 @@ import (
|
|||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
@ -856,7 +856,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
)
|
||||
|
||||
// ghIssue is the minimal structure from GitHub Issues API.
|
||||
|
|
@ -985,8 +985,8 @@ import (
|
|||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"github.com/host-uk/core/pkg/log"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/log"
|
||||
"golang.org/x/oauth2"
|
||||
)
|
||||
|
||||
|
|
@ -1176,7 +1176,7 @@ import (
|
|||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
@ -1259,7 +1259,7 @@ import (
|
|||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
)
|
||||
|
||||
// PublishDraft marks a draft PR as ready for review.
|
||||
|
|
@ -1355,7 +1355,7 @@ import (
|
|||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
@ -1438,7 +1438,7 @@ import (
|
|||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
)
|
||||
|
||||
// SendFixCommand comments on a PR to request a fix.
|
||||
|
|
@ -1559,7 +1559,7 @@ import (
|
|||
"os/exec"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
)
|
||||
|
||||
type EnableAutoMerge struct{}
|
||||
|
|
@ -1657,7 +1657,7 @@ import (
|
|||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
@ -1758,7 +1758,7 @@ import (
|
|||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/jobrunner"
|
||||
"forge.lthn.ai/core/cli/pkg/jobrunner"
|
||||
)
|
||||
|
||||
// ResolveThreads resolves all unresolved review threads on a PR.
|
||||
|
|
@ -1918,16 +1918,16 @@ git commit -m "feat(jobrunner): add resolve_threads handler with GraphQL"
|
|||
|
||||
**Context:** core-ide currently always creates a Wails app. We need to branch: headless starts the poller + MCP bridge directly; desktop mode keeps the existing Wails app with poller as an optional service.
|
||||
|
||||
Note: core-ide has its own `go.mod` (`github.com/host-uk/core/internal/core-ide`). The jobrunner package lives in the root module. We need to add the root module as a dependency of core-ide, OR move the handler wiring into the root module. **Simplest approach:** core-ide imports `github.com/host-uk/core/pkg/jobrunner` — this requires adding the root module as a dependency in core-ide's go.mod.
|
||||
Note: core-ide has its own `go.mod` (`forge.lthn.ai/core/cli/internal/core-ide`). The jobrunner package lives in the root module. We need to add the root module as a dependency of core-ide, OR move the handler wiring into the root module. **Simplest approach:** core-ide imports `forge.lthn.ai/core/cli/pkg/jobrunner` — this requires adding the root module as a dependency in core-ide's go.mod.
|
||||
|
||||
**Step 1: Update core-ide go.mod**
|
||||
|
||||
Run: `cd /Users/snider/Code/host-uk/core/internal/core-ide && go get github.com/host-uk/core/pkg/jobrunner`
|
||||
Run: `cd /Users/snider/Code/host-uk/core/internal/core-ide && go get forge.lthn.ai/core/cli/pkg/jobrunner`
|
||||
|
||||
If this fails because the package isn't published yet, use a `replace` directive temporarily:
|
||||
|
||||
```
|
||||
replace github.com/host-uk/core => ../..
|
||||
replace forge.lthn.ai/core/cli => ../..
|
||||
```
|
||||
|
||||
Then `go mod tidy`.
|
||||
|
|
@ -2020,7 +2020,7 @@ git commit -m "feat(core-ide): register job handlers as MCP tools"
|
|||
```go
|
||||
// In startHeadless(), before starting poller:
|
||||
updaterSvc, err := updater.NewUpdateService(updater.UpdateServiceConfig{
|
||||
RepoURL: "https://github.com/host-uk/core",
|
||||
RepoURL: "https://forge.lthn.ai/core/cli",
|
||||
Channel: "alpha",
|
||||
CheckOnStartup: updater.CheckAndUpdateOnStartup,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -81,8 +81,8 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
|
||||
ragcmd "github.com/host-uk/core/internal/cmd/rag"
|
||||
"github.com/host-uk/core/pkg/rag"
|
||||
ragcmd "forge.lthn.ai/core/cli/internal/cmd/rag"
|
||||
"forge.lthn.ai/core/cli/pkg/rag"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
|
@ -368,7 +368,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/ai"
|
||||
"forge.lthn.ai/core/cli/pkg/ai"
|
||||
"github.com/modelcontextprotocol/go-sdk/mcp"
|
||||
)
|
||||
|
||||
|
|
@ -608,9 +608,9 @@ import (
|
|||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"github.com/host-uk/core/pkg/mcp"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/mcp"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
@ -695,7 +695,7 @@ Modify `internal/variants/full.go` to add:
|
|||
```go
|
||||
import (
|
||||
// ... existing imports ...
|
||||
_ "github.com/host-uk/core/internal/cmd/mcpcmd"
|
||||
_ "forge.lthn.ai/core/cli/internal/cmd/mcpcmd"
|
||||
)
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ export PATH="$PATH:$(go env GOPATH)/bin"
|
|||
source ~/.bashrc # or ~/.zshrc
|
||||
```
|
||||
|
||||
### "go: module github.com/host-uk/core: no matching versions"
|
||||
### "go: module forge.lthn.ai/core/cli: no matching versions"
|
||||
|
||||
**Cause:** Go module proxy hasn't cached the latest version yet.
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ source ~/.bashrc # or ~/.zshrc
|
|||
|
||||
```bash
|
||||
# Bypass proxy
|
||||
GOPROXY=direct go install github.com/host-uk/core/cmd/core@latest
|
||||
GOPROXY=direct go install forge.lthn.ai/core/cli/cmd/core@latest
|
||||
```
|
||||
|
||||
---
|
||||
|
|
@ -340,7 +340,7 @@ This verifies all required tools are installed and configured.
|
|||
|
||||
If you've found a bug:
|
||||
|
||||
1. Check existing issues: https://github.com/host-uk/core/issues
|
||||
1. Check existing issues: https://forge.lthn.ai/core/cli/issues
|
||||
2. Create a new issue with:
|
||||
- Core version (`core --version`)
|
||||
- OS and architecture (`go env GOOS GOARCH`)
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@ jobs:
|
|||
go-version: '1.23'
|
||||
|
||||
- name: Install Core
|
||||
run: go install github.com/host-uk/core/cmd/core@latest
|
||||
run: go install forge.lthn.ai/core/cli/cmd/core@latest
|
||||
|
||||
- name: Build
|
||||
run: core build --ci
|
||||
|
|
|
|||
3
go.mod
3
go.mod
|
|
@ -1,4 +1,4 @@
|
|||
module github.com/host-uk/core
|
||||
module forge.lthn.ai/core/cli
|
||||
|
||||
go 1.25.5
|
||||
|
||||
|
|
@ -6,7 +6,6 @@ require (
|
|||
code.gitea.io/sdk/gitea v0.23.2
|
||||
github.com/Snider/Borg v0.2.0
|
||||
github.com/getkin/kin-openapi v0.133.0
|
||||
github.com/host-uk/core/internal/core-ide v0.0.0-20260204004957-989b7e1e6555
|
||||
github.com/kluctl/go-embed-python v0.0.0-3.13.1-20241219-1
|
||||
github.com/leaanthony/debme v1.2.1
|
||||
github.com/leaanthony/gosod v1.0.4
|
||||
|
|
|
|||
2
go.sum
2
go.sum
|
|
@ -143,8 +143,6 @@ github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aN
|
|||
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
|
||||
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
|
||||
github.com/host-uk/core/internal/core-ide v0.0.0-20260204004957-989b7e1e6555 h1:v5LWtsFypIhFzZpTx+mY64D5TyCI+CqJY8hmqmEx23E=
|
||||
github.com/host-uk/core/internal/core-ide v0.0.0-20260204004957-989b7e1e6555/go.mod h1:YWAcL4vml/IMkYVKqf5J4ukTINVH1zGw0G8vg/qlops=
|
||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
module github.com/host-uk/core/internal/bugseti
|
||||
module forge.lthn.ai/core/cli/internal/bugseti
|
||||
|
||||
go 1.25.5
|
||||
|
||||
|
|
|
|||
|
|
@ -344,7 +344,7 @@ func (s *SubmitService) generatePRBody(issue *Issue) string {
|
|||
body.WriteString("<!-- Describe how you tested your changes -->\n\n")
|
||||
|
||||
body.WriteString("---\n\n")
|
||||
body.WriteString("*Submitted via [BugSETI](https://github.com/host-uk/core) - Distributed Bug Fixing*\n")
|
||||
body.WriteString("*Submitted via [BugSETI](https://forge.lthn.ai/core/cli) - Distributed Bug Fixing*\n")
|
||||
|
||||
return body.String()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
module github.com/host-uk/core/internal/bugseti/updater
|
||||
module forge.lthn.ai/core/cli/internal/bugseti/updater
|
||||
|
||||
go 1.25.5
|
||||
|
||||
require (
|
||||
github.com/host-uk/core/internal/bugseti v0.0.0
|
||||
forge.lthn.ai/core/cli/internal/bugseti v0.0.0
|
||||
golang.org/x/mod v0.25.0
|
||||
)
|
||||
|
||||
replace github.com/host-uk/core/internal/bugseti => ../
|
||||
replace forge.lthn.ai/core/cli/internal/bugseti => ../
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/internal/bugseti"
|
||||
"forge.lthn.ai/core/cli/internal/bugseti"
|
||||
)
|
||||
|
||||
// Service provides update functionality and Wails bindings.
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import (
|
|||
)
|
||||
|
||||
// Version information - these are set at build time via ldflags
|
||||
// Example: go build -ldflags "-X github.com/host-uk/core/internal/bugseti.Version=1.0.0"
|
||||
// Example: go build -ldflags "-X forge.lthn.ai/core/cli/internal/bugseti.Version=1.0.0"
|
||||
var (
|
||||
// Version is the semantic version (e.g., "1.0.0", "1.0.0-beta.1", "nightly-20260205")
|
||||
Version = "dev"
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import (
|
|||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/pkg/agentci"
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/config"
|
||||
"forge.lthn.ai/core/cli/pkg/agentci"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/config"
|
||||
)
|
||||
|
||||
// AddAgentCommands registers the 'agent' subcommand group under 'ai'.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
package ai
|
||||
|
||||
import (
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
)
|
||||
|
||||
// Style aliases from shared package
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@
|
|||
package ai
|
||||
|
||||
import (
|
||||
ragcmd "github.com/host-uk/core/internal/cmd/rag"
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
ragcmd "forge.lthn.ai/core/cli/internal/cmd/rag"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ import (
|
|||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/log"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/log"
|
||||
)
|
||||
|
||||
// AddDispatchCommands registers the 'dispatch' subcommand group under 'ai'.
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/agentic"
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/agentic"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// task:commit command flags
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/ai"
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/ai"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import (
|
|||
"text/tabwriter"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/config"
|
||||
"github.com/host-uk/core/pkg/ratelimit"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/config"
|
||||
"forge.lthn.ai/core/cli/pkg/ratelimit"
|
||||
)
|
||||
|
||||
// AddRateLimitCommands registers the 'ratelimits' subcommand group under 'ai'.
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/agentic"
|
||||
"github.com/host-uk/core/pkg/ai"
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/agentic"
|
||||
"forge.lthn.ai/core/cli/pkg/ai"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// tasks command flags
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ import (
|
|||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/agentic"
|
||||
"github.com/host-uk/core/pkg/ai"
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/agentic"
|
||||
"forge.lthn.ai/core/cli/pkg/ai"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// task:update command flags
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ package ai
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/host-uk/core/pkg/log"
|
||||
"github.com/host-uk/core/pkg/ratelimit"
|
||||
"forge.lthn.ai/core/cli/pkg/log"
|
||||
"forge.lthn.ai/core/cli/pkg/ratelimit"
|
||||
)
|
||||
|
||||
// executeWithRateLimit wraps an agent execution with rate limiting logic.
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import (
|
|||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"github.com/host-uk/core/pkg/release"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/release"
|
||||
)
|
||||
|
||||
func runChangelog(fromRef, toRef string) error {
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
package ci
|
||||
|
||||
import (
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// Style aliases from shared
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
package ci
|
||||
|
||||
import (
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ package ci
|
|||
import (
|
||||
"os"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"github.com/host-uk/core/pkg/release"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/release"
|
||||
)
|
||||
|
||||
func runCIReleaseInit() error {
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ import (
|
|||
"errors"
|
||||
"os"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"github.com/host-uk/core/pkg/release"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/release"
|
||||
)
|
||||
|
||||
// runCIPublish publishes pre-built artifacts from dist/.
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ package ci
|
|||
import (
|
||||
"os"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"github.com/host-uk/core/pkg/release"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/release"
|
||||
)
|
||||
|
||||
// runCIReleaseVersion shows the determined version.
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ package collect
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"github.com/host-uk/core/pkg/io"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/io"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import (
|
|||
"context"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// BitcoinTalk command flags
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
collectpkg "github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
collectpkg "forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// addDispatchCommand adds the 'dispatch' subcommand to the collect parent.
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// Excavate command flags
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import (
|
|||
"context"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// GitHub command flags
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ package collect
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// Market command flags
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ package collect
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// Papers command flags
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ package collect
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/collect"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/collect"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// addProcessCommand adds the 'process' subcommand to the collect parent.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package config
|
||||
|
||||
import "github.com/host-uk/core/pkg/cli"
|
||||
import "forge.lthn.ai/core/cli/pkg/cli"
|
||||
|
||||
func init() {
|
||||
cli.RegisterCommands(AddConfigCommands)
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ package config
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/config"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/config"
|
||||
)
|
||||
|
||||
func addGetCommand(parent *cli.Command) {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package config
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package config
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
)
|
||||
|
||||
func addPathCommand(parent *cli.Command) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
)
|
||||
|
||||
func addSetCommand(parent *cli.Command) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package crypt
|
||||
|
||||
import "github.com/host-uk/core/pkg/cli"
|
||||
import "forge.lthn.ai/core/cli/pkg/cli"
|
||||
|
||||
func init() {
|
||||
cli.RegisterCommands(AddCryptCommands)
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import (
|
|||
"fmt"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/crypt"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/crypt"
|
||||
)
|
||||
|
||||
// Checksum command flags
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import (
|
|||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/crypt"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/crypt"
|
||||
)
|
||||
|
||||
// Encrypt command flags
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ package crypt
|
|||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/crypt"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/crypt"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import (
|
|||
"encoding/hex"
|
||||
"fmt"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
)
|
||||
|
||||
// Keygen command flags
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import (
|
|||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/log"
|
||||
"github.com/host-uk/core/pkg/mcp"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/log"
|
||||
"forge.lthn.ai/core/cli/pkg/mcp"
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/host-uk/core/pkg/ansible"
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/ansible"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package deploy
|
||||
|
||||
import (
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/deploy/coolify"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/deploy/coolify"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package dev
|
||||
|
||||
import (
|
||||
"github.com/host-uk/core/pkg/cli"
|
||||
"github.com/host-uk/core/pkg/i18n"
|
||||
"forge.lthn.ai/core/cli/pkg/cli"
|
||||
"forge.lthn.ai/core/cli/pkg/i18n"
|
||||
)
|
||||
|
||||
// addAPICommands adds the 'api' command and its subcommands to the given parent command.
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue