diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a566c421147c..310e02927166 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -24388,6 +24388,17 @@ githubId = 6292; name = "Andrey Petrov"; }; + sheeeng = { + email = "leonard.sheng.sheng.lee@gmail.com"; + github = "sheeeng"; + githubId = 305414; + keys = [ + { fingerprint = "444E 47CF 8B37 E775 83B2 4F15 0CDB E529 04CA 3543"; } + { fingerprint = "B4C7 C8B9 F60F 1C8D B9F4 7E63 F104 C3F6 5943 8426"; } + ]; + matrix = "@sheeeng:matrix.org"; + name = "Leonard Sheng Sheng Lee"; + }; sheepforce = { email = "phillip.seeber@googlemail.com"; github = "sheepforce"; diff --git a/pkgs/by-name/en/entire/package.nix b/pkgs/by-name/en/entire/package.nix new file mode 100644 index 000000000000..0caa4d3595fc --- /dev/null +++ b/pkgs/by-name/en/entire/package.nix @@ -0,0 +1,58 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + git, + stdenv, +}: + +buildGoModule (finalAttrs: { + pname = "entire"; + version = "0.4.4"; + + src = fetchFromGitHub { + owner = "entireio"; + repo = "cli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-6/TsSmJ0z72Ta5ZihO06uV4Mik+fFpm8eCa7d5zlq24="; + }; + + vendorHash = "sha256-rh2VhdwNT5XJYCVjj8tnoY7cacEhc/kcxi0NHYFPYO8="; + + postPatch = '' + substituteInPlace go.mod --replace-fail "go 1.25.6" "go 1.25.5" + ''; + + subPackages = [ "cmd/entire" ]; + + ldflags = [ + "-s" + "-w" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + nativeCheckInputs = [ git ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd entire \ + --bash <($out/bin/entire completion bash) \ + --fish <($out/bin/entire completion fish) \ + --zsh <($out/bin/entire completion zsh) + ''; + + meta = { + description = "CLI tool that captures AI agent sessions alongside git commits"; + longDescription = '' + Entire hooks into your git workflow to capture AI agent sessions on every + push. Sessions are indexed alongside commits, creating a searchable record + of how code was written in your repo. + ''; + homepage = "https://github.com/entireio/cli"; + changelog = "https://github.com/entireio/cli/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ sheeeng ]; + mainProgram = "entire"; + }; +})