Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
타입스크립트 패키지를 하나의 앱으로 합치고, 컴파일러가 연결을 검증합니다. 변경은 모두 이벤트로 기록됩니다
Typed TypeScript packages. Dot composes them into one app and the compiler checks the wiring. With the journal nothing writes to a row directly: every change is an event, and a reducer turns it into t
개발 도구TypeScript · JavaScriptGitHub @arki-labs온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기TypeScript libraries for building apps that both people and agents can read. Typed failures, Standard Schema validation, and the @arki/dot app kernel.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗TypeScript libraries for building apps that both people and agents can read.
Arki is a family of small @arki/* packages. Use one on its own, like
@arki/date or @arki/money. Or compose a whole backend with
@arki/dot: typed units for infra, features and entrypoints,
wired by the compiler and booted in declaration order.
Every package follows the same rules:
@arki/failure.--json output on
every CLI, an llms.txt and an agent guide in every package.The full list, with the reason behind each rule, is in
docs/arki/principles.md.
bun add @arki/dot @arki/failure
import { defineApp, infra } from '@arki/dot';
import { isFailure } from '@arki/failure';
import { openDb } from './db'; // your own database client
const database = infra({
name: 'database',
provides: { db: () => openDb(process.env.DATABASE_URL) },
async dispose({ db }) {
await db.close();
},
});
const app = await defineApp('pizzeria').infra(database).start();
if (isFailure(app)) throw new Error(app.code);
Read the @arki/dot README for features,
entrypoints and the dot CLI.
| Package | What it does |
|---|---|
@arki/dot | Compose an app from typed units; the compiler checks the wiring |
@arki/cli | Typed CLIs from one defineCommand, with a JSON envelope when piped |
@arki/env | Type-safe environment variables |
@arki/http | Route contracts as data, schema-validated handlers |
@arki/contracts | Shared schemas and Drizzle contract helpers |
@arki/db | Drizzle repositories for Postgres and PGlite |
@arki/journal | Every entity change as an immutable event row |
@arki/live | Live queries for oRPC and TanStack Query on your own Postgres |
@arki/kv | Key-value store with pluggable adapters |
@arki/lock | Distributed locks over memory, Postgres, SQLite, Redis and files |
| Package | What it does |
|---|---|
@arki/schema | Standard Schema helpers: parse with typed failures |
@arki/date | Temporal-based dates, instants, durations and intervals |
@arki/string | Grapheme-aware string toolkit |
@arki/math | Exact Decimal and Rational arithmetic on bigint |
@arki/money | Exact, fast money for every runtime |
@arki/expr | A safe expression language with a typed AST |
@arki/cas | A bounded computer algebra system on @arki/expr |
@arki/async | Abortable sleep, debounce, throttle and concurrency helpers |
@arki/clock | A clock you can control in tests |
@arki/resilience | Retry, circuit breaker, timeout and bulkhead |
Packages marked "private": true in their package.json are still in
development and are not published yet.
Every package is below 1.0. While a package is 0.x, a breaking change
ships as a minor release and a fix as a patch. Read a package's
CHANGELOG.md before you upgrade.
You need Bun (version in package.json) and Node 26.
Docker is needed for tests that start Postgres or Redis.
bun install
bun run build # build every package
bun run typecheck
bun run test
bun run lint
Work on one package with a Turbo filter:
bun run turbo run test --filter=@arki/date
Issues and pull requests are welcome. Start with CONTRIBUTING.md. Security issues go through SECURITY.md, never a public issue.
@arki/queue | Typed background jobs on BullMQ, pg-boss or a database row |
@arki/schedule | Typed cron and interval handlers |
@arki/mail | Typed mail with schema-checked templates and transport failover |
@arki/auth | Sign-in on Postgres or SQLite: one definition, one engine |
@arki/payments | Stripe plans, subscriptions, refunds, dunning and tax |
@arki/log | Zero-dependency structured logging for every runtime |
@arki/failure | Typed failures returned as values |
@arki/testing | Testcontainers Postgres and Redis, typed factories |
@arki/ui | React components on Base UI and Tailwind v4 tokens |
@arki/tanstack-start | TanStack Start wiring for Arki apps |
@arki/ai | Local-first AI: generation, embeddings, vector index |
@arki/embeddings | One embedder shape over many providers |
@arki/chat-ui | Chat and agent UI for React |
@arki/ts| TypeScript utility types |
@arki/icons | Iconify, Phosphor and flag icon sets behind one React entry |
@arki/bench | Publishable benchmarks against competitors |