Generated Computers
Locals는 Apple Silicon 엔진으로 로컬 LLM을 최대 3배 빠르게 실행하는 Generated Computers 제품
티켓·리뷰·스레드 하나의 인박스로 모아 코딩 에이전트가 작업 트리에서 풀 리퀘스트로 전환
One inbox for the tickets, reviews and threads that need you, and your coding agent taking each one to a pull request in a worktree you control. Runs on your machine.
개발 도구TypeScript · HTMLGitHub @orynx-ai온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Orynx is a developer-first, plug-and-play app on your machine. Connectors bring the Jira tickets and GitHub reviews that need you into one inbox, and the coding agent you plug in, Claude today, builds a ticket in its own git worktree. You choose how far it goes: ask before every command, or push the branch and open the pull request on its own.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Hand your agent the ticket. Keep your flow.
Orynx is a developer-first, plug-and-play app on your laptop. Connectors bring the tickets, reviews and messages that need you into one inbox, and the coding agent you plug in, Claude or Codex today, builds a ticket in its own git worktree. You choose how far it goes: ask before every command, or push the branch and open the pull request on its own.
Orynx reads your assigned tickets, review requests, your own pull requests and the messages that name you, then shows only what is waiting on you. Each row says why it is there and how long it has waited, so the next step is obvious.
Board or list, filtered by assignee, status, type, priority and due date. Every card shows where its agent session stands, and any card can start one.
A session takes a ticket from brief to pull request in five visible steps: plan, build, test, review and pull request. Step in at any of them, or let it run.
Pick a level in Settings › Coding agent, then set any kind of call to Allow, Ask or Block. The agent checks your settings before every call.
There is no Orynx cloud. Orynx is a small server and a web app, both on your laptop.
https://orynx.local through a front door that asks for the password you choose when you set up Orynx (see Install).Inside the repo the code name is DevHub: the @devhub/* packages, the DEVHUB_* settings, the ~/.devhub folder and the keychain item keep that name, so saved tokens and settings carry over.
On macOS or Linux, clone orynx-ai/orynx and run its install script:
git clone https://github.com/orynx-ai/orynx.git
cd orynx
./install.sh
It uses Node 24 (through nvm, if you have it), builds Orynx, makes a certificate for orynx.local in ~/.devhub/tls and asks for your computer's password once so this computer trusts it. Then it starts Orynx whenever you log in (a LaunchAgent on macOS, a systemd user service on Linux). install.sh builds the folder it sits in, so it needs the clone: there is no curl | sh.
Open http://127.0.0.1:4317 on this computer. The first time, Orynx asks who you are (name, bio and a picture) and for a password, then opens. Your profile shows the same on every device.
Forgot the password? Delete ~/.devhub/password and restart Orynx (see below): setup opens again on this computer, with your profile filled in.
To update, press Update in Settings › About, or run git pull && ./install.sh in the clone. An Orynx installed before Update was there needs ./install.sh run once more by hand first. You still need Claude Code or Codex signed in on this computer, and a Jira Cloud API token and GitHub (the gh CLI or a token) to connect in Settings.
Orynx installs as an app from the browser (a PWA), with its own window and icon:
The certificate comes from a certificate authority made on your computer, so each other device trusts it once. Until it does, the browser warns before opening Orynx and won't install it as an app. On the device, open http://orynx.local/orynx-ca.crt, then:
/usr/local/share/ca-certificates/ and run sudo update-ca-certificates. Chrome and Firefox may want it imported in their own settings too.The certificate authority can sign only for orynx.local and localhost, so trusting it lets nobody pose as any other site.
orynx.local.~/.devhub/password, readable by you alone. After 10 wrong passwords in 15 minutes, from any device, it stops checking until the oldest is 15 minutes old.~/.devhub/password and restart Orynx (launchctl kickstart -k gui/$(id -u)/dev.orynx.server on macOS, systemctl --user restart orynx on Linux), then set it up again with a new password.http://orynx.local only hands out the certificate and redirects to https.See learn/local-security.md for how the front door works.
macOS:
launchctl bootout gui/$(id -u)/dev.orynx.server
rm ~/Library/LaunchAgents/dev.orynx.server.plist
sudo security remove-trusted-cert -d ~/.devhub/tls/ca.crt
Linux:
systemctl --user disable --now orynx && rm ~/.config/systemd/user/orynx.service
sudo rm /usr/local/share/ca-certificates/orynx-local-ca.crt /etc/sysctl.d/60-orynx.conf && sudo update-ca-certificates
Your settings, cache and certificate stay in ~/.devhub until you delete it.
To work on Orynx, or try it without installing, clone it (git clone https://github.com/orynx-ai/orynx.git) on macOS or Linux. You need:
nvm use # Node 24 (see .nvmrc)
corepack enable # pnpm 10, pinned in package.json
pnpm install
pnpm dev # server on 127.0.0.1:4317, web app on http://localhost:4318
To run it the way a user does (one production build, one port):
pnpm start # http://127.0.0.1:4317
Set up Orynx on the first page that opens, then connect Jira and GitHub in Settings, add a repository, and start your first session from Home.
| Path | What it is |
|---|---|
apps/web | Browser host: Vite, index.html, the web Platform |
apps/server | Node host: env config, session token, serves the web app in production |
apps/desktop | Desktop host: Electron; pnpm --filter @devhub/desktop package --dir packs it |
apps/landing | The public landing page: static Vite site; pnpm --filter @devhub/landing dev serves it on localhost:4319 |
packages/contracts | zod schemas for every HTTP body and server event |
packages/api-client | axios client, typed endpoints, TanStack Query options, event stream |
packages/ui | The DevHub design system: tokens, Tailwind theme, shadcn-based components, Storybook |
packages/app | The product UI: shell, routes, features, zustand stores |
packages/core | The local server's logic: Fastify routes, integrations, agent runtime, storage |
specs/ | One folder per feature: spec, plan, tasks |
docs/ | Product spec, roadmap, design system, screens, architecture, rules |
learn/ | Explainer pages: how a request flows, local security, live updates, tokens and the keychain, connecting your tools |
scripts/ | Gates (one rule each), the gate runner, Claude hooks |
.claude/ | Agent kit: settings and hooks, skills, slash commands, helper agents |
The packages are split so the desktop app is a third host without a rewrite. See docs/architecture.md.
This repo is agent-first: Claude writes the code, people decide what to build and approve the result. Every rule that matters is checked by a program.
docs/product/roadmap.md and runs /spec <number>. Claude writes specs/<NNN-slug>/spec.md with its assumptions, Given/When/Then acceptance criteria and open questions, then stops./plan splits the spec into small tasks, each with the check that proves it./build does one task at a time: failing test first, then the code, then one commit. Gates and hooks catch broken rules as it goes, and their messages say how to fix them./review reads the whole branch with helper agents (code, security, design) and writes a review stamp that fits only that exact change. The pre-push gate blocks a push without it.People still decide what to build, answer the spec's questions, design the screens, approve user-visible wording, approve the pull request, and accept any skipped rule.
| Command | What it does |
|---|---|
./install.sh | Install or update Orynx as a service, on your wifi at orynx.local |
pnpm dev | Server and web app with hot reload |
pnpm start | Production build, served on 127.0.0.1:4317 |
pnpm verify | Everything a push needs: gates, typecheck, lint, tests |
pnpm test [path] | Vitest; pass a path to run only what you touched |
pnpm test:changed | Tests related to files changed since origin/main |
pnpm test:coverage | Full suite with the 90% coverage thresholds |
pnpm test:e2e | Playwright against the real server and web app |
pnpm gates / pnpm gate <id> | Every gate at once, or one gate |
pnpm gates:test | The gates' own tests |
pnpm storybook | The design system gallery |
pnpm agent-rules | Regenerate AGENTS.md and the Copilot and Cursor rules from CLAUDE.md |
pnpm lint / pnpm format | ESLint / Prettier |
DEVHUB_PORT (server) or DEVHUB_WEB_PORT (Vite) for one run, for example DEVHUB_PORT=4417 pnpm dev. Every setting is listed in .env.example.pnpm exec playwright install fails with UNABLE_TO_GET_ISSUER_CERT_LOCALLY. A proxy on your network re-signs TLS. Let Node trust the macOS keychain: NODE_OPTIONS=--use-system-ca pnpm exec playwright install chromium.UNABLE_TO_GET_ISSUER_CERT_LOCALLY means a proxy re-signs TLS with a root your OS doesn't trust either. See learn/connecting-jira.md.which gh there, or connect with a personal access token. See learn/connecting-github.md../install.sh says Orynx didn't answer. Read ~/.devhub/orynx.log (macOS) or journalctl --user -u orynx (Linux). "can't listen on port 443" or "80" means another web server holds it. A pnpm start left running holds 4317..local names from Android 12. A second computer running Orynx on the same wifi can't take the name; its log says so.DEVHUB_HOME at a temporary folder: DEVHUB_HOME=$(mktemp -d) pnpm dev.CLAUDE.md — the handbook every agent session starts with (rules, workflow, done checklist)docs/product/spec.md and docs/product/roadmap.md — what DevHub is and the build orderdocs/design/design-system.md and docs/design/screens/ — how it looksdocs/architecture.md, docs/feature-layout.md, docs/design-map.md, docs/engineering-rules.md — how the code is built