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
24 changes: 12 additions & 12 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,30 +42,30 @@ changelog:

brews:
- name: gsh
homepage: https://github.com/atinylittleshell/gsh
homepage: https://github.com/kunchenguid/gsh
description: A battery-included, POSIX-compatible, generative shell
license: GPL-3.0-or-later
directory: Formula
commit_author:
name: atinylittleshell
email: shell@atinylittleshell.me
name: kunchenguid
email: kun@kunchenguid.com
repository:
owner: atinylittleshell
owner: kunchenguid
name: gsh
token: "{{ .Env.GITHUB_TOKEN }}"

aurs:
- name: gsh-bin
homepage: https://github.com/atinylittleshell/gsh
homepage: https://github.com/kunchenguid/gsh
description: A battery-included, POSIX-compatible, generative shell
license: GPL-3.0-or-later
maintainers:
- "atinylittleshell <shell@atinylittleshell.me>"
- "kunchenguid <kun@kunchenguid.com>"
private_key: "{{ .Env.AUR_PRIVATE_KEY }}"
git_url: "ssh://aur@aur.archlinux.org/gsh-bin.git"
commit_author:
name: atinylittleshell
email: shell@atinylittleshell.me
name: kunchenguid
email: kun@kunchenguid.com
package: |-
# bin
install -Dm755 "./gsh" "${pkgdir}/usr/bin/gsh"
Expand All @@ -75,17 +75,17 @@ aurs:

aur_sources:
- name: gsh
homepage: https://github.com/atinylittleshell/gsh
homepage: https://github.com/kunchenguid/gsh
description: A battery-included, POSIX-compatible, generative shell
license: GPL-3.0-or-later
maintainers:
- "atinylittleshell <shell@atinylittleshell.me>"
- "kunchenguid <kun@kunchenguid.com>"
- "Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>"
private_key: "{{ .Env.AUR_PRIVATE_KEY }}"
git_url: "ssh://aur@aur.archlinux.org/gsh.git"
commit_author:
name: atinylittleshell
email: shell@atinylittleshell.me
name: kunchenguid
email: kun@kunchenguid.com
prepare: |-
cd "${srcdir}/${_pkgsrc}"
go mod download
Expand Down
10 changes: 5 additions & 5 deletions Formula/gsh.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@
# This file was generated by GoReleaser. DO NOT EDIT.
class Gsh < Formula
desc "A battery-included, POSIX-compatible, generative shell"
homepage "https://github.com/atinylittleshell/gsh"
homepage "https://github.com/kunchenguid/gsh"
version "1.8.0"
license "GPL-3.0-or-later"

on_macos do
if Hardware::CPU.intel?
url "https://github.com/atinylittleshell/gsh/releases/download/v1.8.0/gsh_Darwin_x86_64.tar.gz"
url "https://github.com/kunchenguid/gsh/releases/download/v1.8.0/gsh_Darwin_x86_64.tar.gz"
sha256 "82551e83a9b2aeaca8cff5ec0886e99564645bd783ccbe4a770c448d27026646"

define_method(:install) do
bin.install "gsh"
end
end
if Hardware::CPU.arm?
url "https://github.com/atinylittleshell/gsh/releases/download/v1.8.0/gsh_Darwin_arm64.tar.gz"
url "https://github.com/kunchenguid/gsh/releases/download/v1.8.0/gsh_Darwin_arm64.tar.gz"
sha256 "9dfd777f30eeb8b33bdb52c60c1de55a7ea0302fc27e830276f1e16ac04229f2"

define_method(:install) do
Expand All @@ -29,14 +29,14 @@ class Gsh < Formula

on_linux do
if Hardware::CPU.intel? && Hardware::CPU.is_64_bit?
url "https://github.com/atinylittleshell/gsh/releases/download/v1.8.0/gsh_Linux_x86_64.tar.gz"
url "https://github.com/kunchenguid/gsh/releases/download/v1.8.0/gsh_Linux_x86_64.tar.gz"
sha256 "cb4b62a25b25c196420a7b8e5e11dd9a2f51c9176eb85f6895a79dce776781b9"
define_method(:install) do
bin.install "gsh"
end
end
if Hardware::CPU.arm? && Hardware::CPU.is_64_bit?
url "https://github.com/atinylittleshell/gsh/releases/download/v1.8.0/gsh_Linux_arm64.tar.gz"
url "https://github.com/kunchenguid/gsh/releases/download/v1.8.0/gsh_Linux_arm64.tar.gz"
sha256 "f3220edea9dc680c71faf5ae8451b31ce982f393ec47bae2cce92d9de6d12d4b"
define_method(:install) do
bin.install "gsh"
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# gsh

[![License](https://img.shields.io/github/license/atinylittleshell/gsh.svg)](https://github.com/atinylittleshell/gsh/blob/main/LICENSE)
[![Release](https://img.shields.io/github/release/atinylittleshell/gsh.svg)](https://github.com/atinylittleshell/gsh/releases)
[![Build Status](https://img.shields.io/github/actions/workflow/status/atinylittleshell/gsh/ci.yml?branch=main)](https://github.com/atinylittleshell/gsh/actions)
[![Test Coverage](https://codecov.io/gh/atinylittleshell/gsh/branch/main/graph/badge.svg?token=U7HWPOEPTF)](https://codecov.io/gh/atinylittleshell/gsh)
[![License](https://img.shields.io/github/license/kunchenguid/gsh.svg)](https://github.com/kunchenguid/gsh/blob/main/LICENSE)
[![Release](https://img.shields.io/github/release/kunchenguid/gsh.svg)](https://github.com/kunchenguid/gsh/releases)
[![Build Status](https://img.shields.io/github/actions/workflow/status/kunchenguid/gsh/ci.yml?branch=main)](https://github.com/kunchenguid/gsh/actions)
[![Test Coverage](https://codecov.io/gh/kunchenguid/gsh/branch/main/graph/badge.svg?token=U7HWPOEPTF)](https://codecov.io/gh/kunchenguid/gsh)

<p align="center">
<img alt="gsh" src="https://github.com/atinylittleshell/gsh/blob/main/assets/banner.png?raw=true">
<img alt="gsh" src="https://github.com/kunchenguid/gsh/blob/main/assets/banner.png?raw=true">
</p>

<p align="center">
Expand Down
24 changes: 12 additions & 12 deletions cmd/gsh/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ import (
"strings"
"time"

"github.com/atinylittleshell/gsh/internal/analytics/telemetry"
"github.com/atinylittleshell/gsh/internal/appupdate"
"github.com/atinylittleshell/gsh/internal/bash"
"github.com/atinylittleshell/gsh/internal/core"
"github.com/atinylittleshell/gsh/internal/environment"
"github.com/atinylittleshell/gsh/internal/filesystem"
"github.com/atinylittleshell/gsh/internal/history"
"github.com/atinylittleshell/gsh/internal/repl"
"github.com/atinylittleshell/gsh/internal/repl/completion"
"github.com/atinylittleshell/gsh/internal/script/interpreter"
"github.com/kunchenguid/gsh/internal/analytics/telemetry"
"github.com/kunchenguid/gsh/internal/appupdate"
"github.com/kunchenguid/gsh/internal/bash"
"github.com/kunchenguid/gsh/internal/core"
"github.com/kunchenguid/gsh/internal/environment"
"github.com/kunchenguid/gsh/internal/filesystem"
"github.com/kunchenguid/gsh/internal/history"
"github.com/kunchenguid/gsh/internal/repl"
"github.com/kunchenguid/gsh/internal/repl/completion"
"github.com/kunchenguid/gsh/internal/script/interpreter"
"go.uber.org/zap"
"golang.org/x/term"
"mvdan.cc/sh/v3/expand"
Expand Down Expand Up @@ -84,7 +84,7 @@ SCRIPTING:
Files with .gsh extension use the gsh scripting language for agentic
workflows with MCP servers, AI models, and agents.

For documentation and examples, see: https://github.com/atinylittleshell/gsh
For documentation and examples, see: https://github.com/kunchenguid/gsh
`

// Help text for the telemetry subcommand
Expand Down Expand Up @@ -117,7 +117,7 @@ WHAT WE NEVER COLLECT:
- Error messages or stack traces
- Any personally identifiable information

Learn more: https://github.com/atinylittleshell/gsh#telemetry
Learn more: https://github.com/kunchenguid/gsh#telemetry
`

// CLI options for REPL mode
Expand Down
4 changes: 2 additions & 2 deletions cmd/gsh/startup_benchmark_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"path/filepath"
"testing"

"github.com/atinylittleshell/gsh/internal/analytics/telemetry"
"github.com/atinylittleshell/gsh/internal/core"
"github.com/kunchenguid/gsh/internal/analytics/telemetry"
"github.com/kunchenguid/gsh/internal/core"
)

// BenchmarkStartupInitialization measures the cost of preparing core gsh
Expand Down
4 changes: 2 additions & 2 deletions docs/script/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,12 @@ This guide is organized into 7 logical parts, progressing from basics to advance

## Community and Support

- **GitHub Issues** - [Report bugs or ask questions](https://github.com/atinylittleshell/gsh/issues)
- **GitHub Issues** - [Report bugs or ask questions](https://github.com/kunchenguid/gsh/issues)
- **Contributing** - Help improve gsh! See [CONTRIBUTING.md](../../CONTRIBUTING.md)

## Additional Resources

- **[gsh GitHub Repository](https://github.com/atinylittleshell/gsh)** - Source code and issues
- **[gsh GitHub Repository](https://github.com/kunchenguid/gsh)** - Source code and issues
- **[Language Specification](../../spec/GSH_SCRIPT_SPEC.md)** - Formal language specification
- **[Tutorial Guide](../tutorial/README.md)** - Interactive shell usage
- **[SDK Guide](../sdk/README.md)** - Advanced REPL configuration
Expand Down
4 changes: 2 additions & 2 deletions docs/tutorial/01-getting-started-with-gsh.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ To install gsh:

```bash
# Linux and macOS through Homebrew
brew tap atinylittleshell/gsh https://github.com/atinylittleshell/gsh
brew install atinylittleshell/gsh/gsh
brew tap kunchenguid/gsh https://github.com/kunchenguid/gsh
brew install kunchenguid/gsh/gsh

# You can use gsh on arch, btw
yay -S gsh-bin
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorial/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ If you're brand new to shells, you might want to quickly learn bash basics first

## Community and Support

- **GitHub Issues** - [Report bugs or ask questions](https://github.com/atinylittleshell/gsh/issues)
- **GitHub Issues** - [Report bugs or ask questions](https://github.com/kunchenguid/gsh/issues)
- **Contributing** - Help improve gsh! See [CONTRIBUTING.md](../../CONTRIBUTING.md)

---
Expand Down
2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
name = "gsh";
version = "v1.3.3";
src = pkgs.fetchFromGitHub {
owner = "atinylittleshell";
owner = "kunchenguid";
repo = "gsh";
rev = version;
hash = "sha256-kyEWFoBXuR23wM4Y17tcPmPLpcSKUXy8v857CYeyv0U=";
Expand Down
12 changes: 5 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
module github.com/atinylittleshell/gsh
module github.com/kunchenguid/gsh

go 1.23.0

require (
github.com/Masterminds/semver/v3 v3.3.0
github.com/atotto/clipboard v0.1.4
github.com/charmbracelet/bubbles v0.20.0
github.com/charmbracelet/bubbletea v1.2.4
github.com/charmbracelet/lipgloss v1.0.0
github.com/charmbracelet/x/ansi v0.4.5
github.com/creack/pty v1.1.24
github.com/creativeprojects/go-selfupdate v1.4.0
github.com/glebarez/sqlite v1.11.0
github.com/modelcontextprotocol/go-sdk v1.0.0
github.com/muesli/termenv v0.15.2
github.com/rivo/uniseg v0.4.7
github.com/posthog/posthog-go v1.8.2
github.com/samber/lo v1.47.0
github.com/sashabaranov/go-openai v1.36.1
github.com/stretchr/testify v1.11.1
Expand All @@ -26,8 +25,6 @@ require (
require (
code.gitea.io/sdk/gitea v0.19.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/charmbracelet/harmonica v0.2.0 // indirect
github.com/charmbracelet/x/ansi v0.4.5 // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/davidmz/go-pageant v1.0.2 // indirect
Expand All @@ -51,10 +48,11 @@ require (
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
github.com/muesli/cancelreader v0.2.2 // indirect
github.com/muesli/termenv v0.15.2 // indirect
github.com/ncruces/go-strftime v0.1.9 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/posthog/posthog-go v1.8.2 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/ulikunitz/xz v0.5.12 // indirect
github.com/xanzy/go-gitlab v0.112.0 // indirect
Expand Down
10 changes: 0 additions & 10 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,12 @@ github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z
github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/aymanbagabas/go-udiff v0.2.0 h1:TK0fH4MteXUDspT88n8CKzvK0X9O2xu9yQjWpi6yML8=
github.com/aymanbagabas/go-udiff v0.2.0/go.mod h1:RE4Ex0qsGkTAJoQdQQCA0uG+nAzJO/pI/QwceO5fgrA=
github.com/charmbracelet/bubbles v0.20.0 h1:jSZu6qD8cRQ6k9OMfR1WlM+ruM8fkPWkHvQWD9LIutE=
github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
github.com/charmbracelet/bubbletea v1.2.4 h1:KN8aCViA0eps9SCOThb2/XPIlea3ANJLUkv3KnQRNCE=
github.com/charmbracelet/bubbletea v1.2.4/go.mod h1:Qr6fVQw+wX7JkWWkVyXYk/ZUQ92a6XNekLXa3rR18MM=
github.com/charmbracelet/harmonica v0.2.0 h1:8NxJWRWg/bzKqqEaaeFNipOu77YR5t8aSwG4pgaUBiQ=
github.com/charmbracelet/harmonica v0.2.0/go.mod h1:KSri/1RMQOZLbw7AHqgcBycp8pgJnQMYYT8QZRqZ1Ao=
github.com/charmbracelet/lipgloss v1.0.0 h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg=
github.com/charmbracelet/lipgloss v1.0.0/go.mod h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo=
github.com/charmbracelet/x/ansi v0.4.5 h1:LqK4vwBNaXw2AyGIICa5/29Sbdq58GbGdFngSexTdRM=
github.com/charmbracelet/x/ansi v0.4.5/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b h1:MnAMdlwSltxJyULnrYbkZpp4k58Co7Tah3ciKhSNo0Q=
github.com/charmbracelet/x/exp/golden v0.0.0-20240815200342-61de596daa2b/go.mod h1:wDlXFlCrmJ8J+swcL/MnGUuYnqgQdW9rhSD61oNMb6U=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
Expand Down Expand Up @@ -114,8 +106,6 @@ github.com/sashabaranov/go-openai v1.36.1 h1:EVfRXwIlW2rUzpx6vR+aeIKCK/xylSrVYAx
github.com/sashabaranov/go-openai v1.36.1/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
Expand Down
2 changes: 1 addition & 1 deletion internal/analytics/telemetry/command.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ func printTelemetryHelp() {
" - Error messages or stack traces",
" - Any personally identifiable information",
"",
"Learn more: https://github.com/atinylittleshell/gsh#telemetry",
"Learn more: https://github.com/kunchenguid/gsh#telemetry",
}
fmt.Println(strings.Join(help, "\n"))
}
4 changes: 2 additions & 2 deletions internal/analytics/telemetry/telemetry.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
"sync"
"time"

"github.com/atinylittleshell/gsh/internal/core"
"github.com/kunchenguid/gsh/internal/core"
"github.com/posthog/posthog-go"
)

Expand Down Expand Up @@ -154,7 +154,7 @@ func GetFirstRunNotification() string {
No commands, prompts, or personal data are ever collected.

To opt out: gsh telemetry off
Learn more: https://github.com/atinylittleshell/gsh#telemetry
Learn more: https://github.com/kunchenguid/gsh#telemetry
`
}

Expand Down
2 changes: 1 addition & 1 deletion internal/analytics/telemetry/telemetry_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func TestGetFirstRunNotification(t *testing.T) {
notification := GetFirstRunNotification()
assert.Contains(t, notification, "anonymous usage statistics")
assert.Contains(t, notification, "gsh telemetry off")
assert.Contains(t, notification, "github.com/atinylittleshell/gsh")
assert.Contains(t, notification, "github.com/kunchenguid/gsh")
}

func TestClientDebugMode(t *testing.T) {
Expand Down
10 changes: 5 additions & 5 deletions internal/appupdate/appupdate.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import (
"strings"

"github.com/Masterminds/semver/v3"
"github.com/atinylittleshell/gsh/internal/core"
"github.com/atinylittleshell/gsh/internal/filesystem"
"github.com/kunchenguid/gsh/internal/core"
"github.com/kunchenguid/gsh/internal/filesystem"
"github.com/creativeprojects/go-selfupdate"
"go.uber.org/zap"
)
Expand Down Expand Up @@ -118,7 +118,7 @@ func updateToLatestVersion(
logger.Info("major version update available",
zap.String("current", currentSemVer.String()),
zap.String("latest", latestSemVer.String()),
zap.String("info", "Major version updates require manual upgrade. See https://github.com/atinylittleshell/gsh for migration guide."))
zap.String("info", "Major version updates require manual upgrade. See https://github.com/kunchenguid/gsh for migration guide."))
return
}

Expand All @@ -140,7 +140,7 @@ func updateToLatestVersion(

latest, found, err := updater.DetectLatest(
context.Background(),
"atinylittleshell/gsh",
"kunchenguid/gsh",
)
if err != nil {
logger.Warn("error occurred while detecting latest version", zap.Error(err))
Expand Down Expand Up @@ -169,7 +169,7 @@ func fetchAndSaveLatestVersion(resultChannel chan string, logger *zap.Logger, fs

latest, found, err := updater.DetectLatest(
context.Background(),
"atinylittleshell/gsh",
"kunchenguid/gsh",
)
if err != nil {
logger.Warn("error occurred while getting latest version from remote", zap.Error(err))
Expand Down
Loading
Loading