Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ formatters:
settings:
goimports:
local-prefixes:
- github.com/attentionfs/vessel
- github.com/Laaaaksh/vessel
6 changes: 3 additions & 3 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ checksum:

release:
github:
owner: attentionfs
owner: Laaaaksh
name: vessel
draft: false
prerelease: auto
Expand All @@ -42,10 +42,10 @@ brews:
- name: vessel
directory: Formula
repository:
owner: attentionfs
owner: Laaaaksh
name: homebrew-vessel
token: "{{ .Env.HOMEBREW_TAP_TOKEN }}"
homepage: "https://github.com/attentionfs/vessel"
homepage: "https://github.com/Laaaaksh/vessel"
description: "A keyboard-driven TUI for Apple's native Mac containers"
license: "MIT"
install: |
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ This file is the project's committed home for project-intrinsic agent knowledge:

## Build / test / lint
- `make test` and `make lint` before anything else; [CONTRIBUTING.md](CONTRIBUTING.md#development-workflow) owns the workflow, including the live Apple-CLI test variants and `scripts/smoke.sh`.
- `golangci-lint` must be v2.12.2+: an older build refuses to load `.golangci.yml` when `go.mod` targets a newer Go than the binary was built with. The goimports group uses `github.com/attentionfs/vessel` as the local prefix.
- `golangci-lint` must be v2.12.2+: an older build refuses to load `.golangci.yml` when `go.mod` targets a newer Go than the binary was built with. The goimports group uses `github.com/Laaaaksh/vessel` as the local prefix.
- `main` is lint-clean; keep it that way and fix any issue a diff introduces.

## Live CLI probes
Expand Down
14 changes: 7 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Changelog

All notable changes to vessel are documented in this file. Released sections mirror
the notes on the [GitHub Releases page](https://github.com/attentionfs/vessel/releases),
the notes on the [GitHub Releases page](https://github.com/Laaaaksh/vessel/releases),
condensed into user-facing terms. Format is based on
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

Expand All @@ -10,7 +10,7 @@ condensed into user-facing terms. Format is based on
## [0.2.2] - 2026-11-01

### Changed
- Go module path is now `github.com/attentionfs/vessel`, following the GitHub account rename. Update imports and `go install` commands. Homebrew users: `brew tap attentionfs/vessel`.
- Go module path is now `github.com/Laaaaksh/vessel`, following the GitHub account rename. Update imports and `go install` commands. Homebrew users: `brew tap Laaaaksh/vessel`.

### Fixed
- The space bar and multi-byte characters (accents, CJK, emoji) are no longer
Expand Down Expand Up @@ -153,8 +153,8 @@ condensed into user-facing terms. Format is based on
- Initial release of vessel, a keyboard-driven TUI for Apple's native Mac
containers.

[Unreleased]: https://github.com/attentionfs/vessel/compare/v0.2.2...HEAD
[0.2.2]: https://github.com/attentionfs/vessel/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/attentionfs/vessel/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/attentionfs/vessel/compare/v0.1.1...v0.2.0
[0.1.1]: https://github.com/attentionfs/vessel/compare/v0.1.0...v0.1.1
[Unreleased]: https://github.com/Laaaaksh/vessel/compare/v0.2.2...HEAD
[0.2.2]: https://github.com/Laaaaksh/vessel/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/Laaaaksh/vessel/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/Laaaaksh/vessel/compare/v0.1.1...v0.2.0
[0.1.1]: https://github.com/Laaaaksh/vessel/compare/v0.1.0...v0.1.1
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ representative at an online or offline event.

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the project maintainer responsible for enforcement by contacting
[@attentionfs](https://github.com/attentionfs) through GitHub. All complaints will be
[@Laaaaksh](https://github.com/Laaaaksh) through GitHub. All complaints will be
reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Releases are cut by pushing a tag; GitHub Actions does the rest
2. Give the release its own changelog section: insert `## [x.y.z] - YYYY-MM-DD`
above the (now empty) `## [Unreleased]` heading, following the format of the
existing sections, and update the compare links at the bottom of the file -
add `[x.y.z]: https://github.com/attentionfs/vessel/compare/v<prev>...vx.y.z`
add `[x.y.z]: https://github.com/Laaaaksh/vessel/compare/v<prev>...vx.y.z`
and repoint `[Unreleased]` at `compare/vx.y.z...HEAD`.
3. Land those changelog edits on `main` through a pull request (see the
contribution workflow above), then tag and push:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.PHONY: build run test lint tidy clean demo demo-teardown

BINARY := vessel
MODULE := github.com/attentionfs/vessel
MODULE := github.com/Laaaaksh/vessel

build:
go build -o $(BINARY) .
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ A keyboard-driven terminal UI for [Apple's native Mac containers](https://github
(the OCI-compatible containers introduced in macOS at WWDC 2025). Live lists, logs, shells,
images, and volumes - one screen, zero daemons, no CLI flags to memorize.

[![Star this repo](https://img.shields.io/github/stars/attentionfs/vessel?style=for-the-badge&logo=github&label=star%20this%20repo&color=yellow)](https://github.com/attentionfs/vessel/stargazers)
[![Star this repo](https://img.shields.io/github/stars/Laaaaksh/vessel?style=for-the-badge&logo=github&label=star%20this%20repo&color=yellow)](https://github.com/Laaaaksh/vessel/stargazers)
[![Built for Apple container](https://img.shields.io/badge/built_for-Apple_Container-00ADD8?style=for-the-badge&logo=docker&logoColor=white)](https://github.com/apple/container)

[![CI](https://github.com/attentionfs/vessel/actions/workflows/ci.yml/badge.svg)](https://github.com/attentionfs/vessel/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/attentionfs/vessel?color=green&display_name=tag)](https://github.com/attentionfs/vessel/releases)
[![CI](https://github.com/Laaaaksh/vessel/actions/workflows/ci.yml/badge.svg)](https://github.com/Laaaaksh/vessel/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/Laaaaksh/vessel?color=green&display_name=tag)](https://github.com/Laaaaksh/vessel/releases)
[![License: MIT](https://img.shields.io/badge/license-MIT-purple.svg)](LICENSE)
[![Go](https://img.shields.io/badge/go-1.26+-00ADD8?logo=go&logoColor=white)](go.mod)
[![Platform](https://img.shields.io/badge/platform-macOS%2026%2B%20%E2%80%A2%20Apple%20silicon-000?logo=apple&logoColor=white)](#requirements)
[![Homebrew](https://img.shields.io/badge/brew-attentionfs%2Fvessel-orange?logo=homebrew)](#install)
[![Homebrew](https://img.shields.io/badge/brew-Laaaaksh%2Fvessel-orange?logo=homebrew)](#install)

**[Install](#install) • [Usage](#usage) • [Keybindings](#keybindings) • [Configuration](#configuration) • [CLI matrix](docs/APPLE_CONTAINER_MATRIX.md) • [Changelog](CHANGELOG.md) • [Contributing](CONTRIBUTING.md) • [License](LICENSE)**

Expand Down Expand Up @@ -60,15 +60,15 @@ container system start # downloads a default Linux kernel on first run
## Install

```bash
brew tap attentionfs/vessel
brew tap Laaaaksh/vessel
brew trust laaaaksh/vessel # once; Homebrew 6+ refuses untrusted third-party taps
brew install vessel
```

On Homebrew versions before 6.0 there is no trust gate and no `brew trust`
command - skip that step. See [Tap Trust](https://docs.brew.sh/Tap-Trust).

Or download a binary from [GitHub Releases](https://github.com/attentionfs/vessel/releases).
Or download a binary from [GitHub Releases](https://github.com/Laaaaksh/vessel/releases).

## Usage

Expand Down Expand Up @@ -165,7 +165,7 @@ Found a security issue? Please report it privately - see [SECURITY.md](SECURITY.

## Star this repo

If `vessel` makes managing containers on your Mac easier, [leave a star](https://github.com/attentionfs/vessel/stargazers) - it helps other people find it.
If `vessel` makes managing containers on your Mac easier, [leave a star](https://github.com/Laaaaksh/vessel/stargazers) - it helps other people find it.

<a href="https://www.star-history.com/?repos=laaaaksh%2Fvessel&type=date&legend=top-left">
<picture>
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ security problem.

Use GitHub's private vulnerability reporting instead:

> https://github.com/attentionfs/vessel/security/advisories/new
> https://github.com/Laaaaksh/vessel/security/advisories/new

That link reaches the maintainer privately — the report, follow-up discussion,
and any fix coordination stay confidential until a patched release ships.
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module github.com/attentionfs/vessel
module github.com/Laaaaksh/vessel

go 1.26.5

Expand Down
2 changes: 1 addition & 1 deletion internal/backend/live_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"testing"
"time"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

// Run with: go test -tags=live ./internal/backend -run Live -v
Expand Down
2 changes: 1 addition & 1 deletion internal/doctor/doctor.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"strconv"
"strings"

"github.com/attentionfs/vessel/internal/config"
"github.com/Laaaaksh/vessel/internal/config"
)

// Documented support floor. README Requirements asks for macOS 26+ on Apple
Expand Down
18 changes: 9 additions & 9 deletions internal/ui/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ import (
"charm.land/lipgloss/v2"
"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/config"
"github.com/attentionfs/vessel/internal/ui/containers"
"github.com/attentionfs/vessel/internal/ui/images"
"github.com/attentionfs/vessel/internal/ui/logs"
"github.com/attentionfs/vessel/internal/ui/networks"
"github.com/attentionfs/vessel/internal/ui/system"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/attentionfs/vessel/internal/ui/volumes"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/config"
"github.com/Laaaaksh/vessel/internal/ui/containers"
"github.com/Laaaaksh/vessel/internal/ui/images"
"github.com/Laaaaksh/vessel/internal/ui/logs"
"github.com/Laaaaksh/vessel/internal/ui/networks"
"github.com/Laaaaksh/vessel/internal/ui/system"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/ui/volumes"
)

// keySpace is the literal tea.KeyPressMsg.String() serialisation of a space
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/app_footer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"charm.land/lipgloss/v2"
"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/config"
"github.com/Laaaaksh/vessel/internal/config"
)

// restingContainersFooter is what the containers view has always advertised
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/app_runform_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (

"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

func containersModel(t *testing.T) Model {
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/app_system_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (

tea "charm.land/bubbletea/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

func tabKey() tea.KeyPressMsg {
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import (
"charm.land/lipgloss/v2"
"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/config"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/config"
)

func TestView_shellModeEmpty(t *testing.T) {
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/containers/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (
tea "charm.land/bubbletea/v2"
"charm.land/lipgloss/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

// Model is the containers panel model.
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/containers/model_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (

tea "charm.land/bubbletea/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

// spaceKey mirrors a real space bar press: KeyPressMsg.String() returns
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/containers/view.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import (

"charm.land/lipgloss/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/containers/view_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (

"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

// column returns the rune offset of sub within s, ignoring styling escapes.
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/help_completeness_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/charmbracelet/x/ansi"
"github.com/stretchr/testify/suite"

"github.com/attentionfs/vessel/internal/config"
"github.com/Laaaaksh/vessel/internal/config"
)

// helpWalkWidth is wide enough that every help key and description column
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/images/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
tea "charm.land/bubbletea/v2"
"charm.land/lipgloss/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/images/model_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

func keyMsg(s string) tea.KeyPressMsg {
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/images/view_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (

"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

const testRef = "docker.io/library/alpine:latest"
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"strings"
"unicode/utf8"

"github.com/attentionfs/vessel/internal/config"
"github.com/Laaaaksh/vessel/internal/config"
)

// KeyMap documents all keybindings for vessel.
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/keys_notice_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"github.com/charmbracelet/x/ansi"
"github.com/stretchr/testify/suite"

"github.com/attentionfs/vessel/internal/config"
"github.com/Laaaaksh/vessel/internal/config"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/logs/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
tea "charm.land/bubbletea/v2"
"charm.land/lipgloss/v2"

"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

// Model is a full-screen log viewer.
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/networks/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
tea "charm.land/bubbletea/v2"
"charm.land/lipgloss/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/networks/model_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/charmbracelet/x/ansi"
"github.com/stretchr/testify/suite"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

func keyMsg(s string) tea.KeyPressMsg {
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/runform.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (

"charm.land/lipgloss/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

// runFieldKind distinguishes a free-text field from an on/off flag, since
Expand Down
4 changes: 2 additions & 2 deletions internal/ui/system/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import (
tea "charm.land/bubbletea/v2"
"charm.land/lipgloss/v2"

"github.com/attentionfs/vessel/internal/backend"
"github.com/attentionfs/vessel/internal/ui/uiutil"
"github.com/Laaaaksh/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/ui/uiutil"
)

// row is one of the fixed rows this panel shows: overall service status,
Expand Down
2 changes: 1 addition & 1 deletion internal/ui/system/model_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (

"github.com/charmbracelet/x/ansi"

"github.com/attentionfs/vessel/internal/backend"
"github.com/Laaaaksh/vessel/internal/backend"
)

func keyMsg(s string) tea.KeyPressMsg {
Expand Down
Loading
Loading