Tosone 3ca56e7b67 refactor(web): replace @headlessui/react with shadcn components
Swap every headlessui usage for the shadcn/base-ui components that are
already bundled in the app, then drop the dependency:

- menus (8): Menu/MenuButton/MenuItems/MenuItem + Transition -> DropdownMenu;
  role checks that guarded the original clicks are preserved as
  DropdownMenuItem `disabled`
- dialogs (14): Dialog/DialogPanel/DialogTitle + Transition* -> Dialog,
  DialogContent, DialogTitle, DialogDescription, DialogFooter and Button
- listboxes (6): Listbox -> Select; the multiple-selection one becomes a
  DropdownMenu with DropdownMenuCheckboxItem
- comboboxes (9): Combobox -> Popover + Command, wiring the existing search
  state into CommandInput and keeping shouldFilter={false} for server-side
  search
- remove @headlessui/react from package.json/bun.lock

Also included:
- drop imports that became unused (Table/Button in Builder/RunnerList,
  Separator, useSidebar, dayjs, Link/useParams, Check/ChevronsUpDown and the
  leftover shadcn imports in the webhook pages)
- replace Tailwind v4 arbitrary sizes that have spacing-scale equivalents
  (w-[350px] -> w-87.5, h-[36px] -> h-9, after:top-[2px] -> after:top-0.5, ...);
  h-[18.4px] is intentionally kept since 4.6 is not a multiple of 0.25
- fix the webhook log delete-confirm label (was "Resend")
- add oxlint with `lint` and `lint:fix` scripts

Verification: web: `tsc --noEmit`; `vite build`; `oxlint` (0 errors,
72 pre-existing warnings); scripted scan reports 0 unused imports and no
remaining @headlessui imports.
2026-09-17 15:31:21 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00
2026-08-01 20:32:49 +08:00

sigma

sigma

GitHub Workflow Status Codecov GitHub repo size

Sigma is an image registry that is extremely easy to deploy and maintain, and it adheres to the interface standards defined by the OCI Distribution Specification 1.1, it can also support any other client programs that follow the interface definition of the OCI Distribution Specification, such as oras, apptainer, helm, and nerdctl.

Quick Start

Now you can use this command to run a simple server:

docker run --name sigma -p 3000:3000 --rm tosone/sigma:nightly-alpine

The default username and password is: sigma/Admin@123. If you want to modify the default password, please refer to the configuration instructions.

Demo Server

It is deployed on an AWS EC2 instance (2C4G, 40G disk) running Debian 12.1 as the Linux distribution. The Docker version used is 25.0.3. The demo server was set up following these instructions.

Visit: https://sigma.tosone.cn, username/password: sigma/Admin@123

Architecture

The diagram below maps Sigma's main runtime layers, from client entry points to request handling, background workers, and the infrastructure services they depend on.

Sigma architecture

Features

  • Support docker registry v2 protocol.
  • Support OCI Image v1 Format and OCI Image Index v1 Format.
  • Support OCI artifacts such as helm and so on.
  • Support OCI sbom.
  • Support Image security scan.
  • Support registry proxy.
  • Support Namespace quota.
  • Support Image automatic garbage collection.
  • Support Image sign.
  • Support Image build in docker, podman and kubernetes.
  • Support Image replication.

AI Clients and Automation

Sigma provides two integration paths for AI clients and external automation:

  • Embedded MCP server: Sigma can expose registry management tools through the existing server process. It is disabled by default and can be enabled through the mcp configuration section. See MCP Server.
  • External REST API skill: tools/skill/sigma-api-operator packages a reusable skill and swagger.yaml so CLI agents such as Claude Code or Copilot CLI can discover Sigma APIs and operate resources through HTTP requests.

Alternatives

Languages
Go 73.9%
TypeScript 23.6%
CSS 1.6%
Dockerfile 0.3%
Makefile 0.2%
Other 0.3%