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.
sigma
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.
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
mcpconfiguration section. See MCP Server. - External REST API skill:
tools/skill/sigma-api-operatorpackages a reusable skill andswagger.yamlso CLI agents such as Claude Code or Copilot CLI can discover Sigma APIs and operate resources through HTTP requests.