Skip to content

lamemustafa/sanchika

Sanchika

Pages smoke

Sanchika is an AI-native design system SDK for compliance-grade interfaces. AI-native means typed, documented, agent-consumable design contracts; it does not mean Sanchika provides a model runtime or automated compliance judgment.

This repository is independent from the ComplyEaze application repository. It is currently nested locally under ComplyEaze for coordinated development, but it has its own Git history and is intended to publish from https://github.com/lamemustafa/sanchika.git until a ComplyEaze organization exists.

V0 Scope

Sanchika starts with three release packages and one private static application:

  • @sanchika/tokens - semantic OKLCH tokens, CSS variables, and token metadata.
  • @sanchika/primitives - typed primitive contracts and class composition.
  • @sanchika/patterns - reusable compliance-interface pattern contracts.
  • @sanchika/gallery-app - the private Astro gallery and design-evidence site.

Consumer Order

  1. ComplyEaze public/product surfaces.
  2. Axal workspace surfaces.
  3. Pack local-first browser-extension surfaces.
  4. Tools at tools.complyeaze.com.
  5. External operational SaaS adopters, after local-link or artifact evidence is reviewed.

Tools is in scope as a documented future consumer only. Do not implement tool templates, routes, or product-specific APIs until a specific Tools product spec exists.

External adoption is in scope as public source evaluation only. Source package manifests remain private at 0.0.0; the stable GitHub artifact pipeline rewrites clean temporary package copies to the release version. External teams must use the reviewed GitHub artifacts or a documented local link and record rollback evidence.

Runtime Prerequisites

Use Node 24+ and the repository-pinned pnpm@10.28.2 for install, build, verification, and package checks. Package manifests currently declare engines.node: ">=24". The Node 22.14.0+ publish-runtime note in the release policy is an npm Trusted Publishing minimum, not a supported Sanchika package runtime floor.

Stable GitHub artifact generation is narrower: use the exact Node version in .node-version with its bundled npm. The stable release command rejects a different Node, npm, or zlib runtime before building or emitting assets. Ordinary gallery builds keep release.json.previousVersion as the published current release and show release.json.version as the candidate. The stable release runner promotes the candidate only for release evidence; Pages still refuses deployment until the matching GitHub release and final bytes exist.

Commands

pnpm install
pnpm build:tokens
pnpm check:tokens
pnpm validate
pnpm typecheck
pnpm build
pnpm typecheck:api
pnpm artifact:check
pnpm gallery:build
pnpm gallery:check
pnpm pages:smoke
pnpm hosting:domain:check
pnpm smoke
pnpm consumer:check
pnpm workflow:preflight
pnpm publish:tarball-check
pnpm verify

In sandboxed Codex runs, use the installed pnpm binary directly. corepack pnpm may fail if it cannot write to the user-level Corepack cache.

pnpm pages:smoke validates the deployed site's internally consistent current release against GitHub's latest published stable release. After publishing, set SANCHIKA_EXPECTED_RELEASE_VERSION to the new version to make promotion of that exact release a blocking assertion without waiting for latest-release API propagation.

GitHub Artifact Release

release.json declares v0.1.1 as the stable artifact version for @sanchika/tokens, @sanchika/primitives, and @sanchika/patterns. It remains a candidate until detached release execution publishes it from the reviewed merge commit. Until that publication, v0.1.0 remains the current published release. After publication, the matching assets, manifest, checksums, and release notes appear in the GitHub release history. The packages are not published to npm, and the private gallery app is not part of the release package set.

CSS Usage

Load token variables before primitive styles:

@import "@sanchika/tokens/theme.css";
@import "@sanchika/primitives/styles.css";
@import "@sanchika/patterns/styles.css";

Primitive styles consume Sanchika CSS variables and do not define product colors. Use primitiveClassName(...) or equivalent class composition to apply sk-button, sk-card, sk-badge, and sk-field contracts. Use patternClassName(...) for the finite S7 product pattern variants and states. The package exports 20 canonical patterns across public/product, Axal, Pack, and Tools groups while preserving the legacy four-entry patternSpecs shape.

Gallery Application

apps/gallery is a private Astro static application. It imports contract data from the public tokens, primitives, and patterns package entrypoints and loads token CSS before primitive CSS. It is a showcase and documentation surface, not a package that consumers import.

Run pnpm build to build the release packages and write the openable static site. After those package artifacts exist, pnpm gallery:build rebuilds only the gallery application:

apps/gallery/dist/index.html
apps/gallery/dist/_astro/*.css

Run pnpm gallery:check to fail unresolved @sanchika/* CSS references, confirm token CSS precedes primitive and pattern CSS, and reject unintended client JavaScript. The S8 gallery remains a static showcase with package-driven primitive and pattern detail routes, local documentation search, and distinct product-mode proofs; it is not a server, Storybook replacement, framework adapter, runtime shell, or consumer package.

Status

Pre-1.0 GitHub artifact release. The package contracts and gallery proof are reviewed, but real consumer adoption remains incomplete. Do not claim universal production readiness, framework coverage, or assistive-technology completeness. Until detached publication succeeds, v0.1.1 remains the declared candidate and v0.1.0 remains the current published release. No release after v0.1.1 is currently announced.

Governance

About

AI-native design system SDK for compliance-grade interfaces.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors