Lattice
연구를 위한 작업공간
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A context switcher that keeps your attention in one place
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A context switcher that tries to keep your attention in one place while you switch between projects, branches and shells all day. Every project, every branch on origin, every workspace holding one and every shell running there sit in one window, which shows what needs you and gets you there in a keystroke.
The idea is that your attention is the scarce resource, so it should go to decisions: answering a question a program asked, looking over a result, starting or finishing a branch. Finding the right window, waiting for a clone and checking whether a directory is safe to delete are the app's job. A mark means something is waiting for a decision, and nothing else is marked.
Issues, pull requests, branches and workspaces are not separate lists. A branch's row carries its pull request, its workspaces and their terminals, and an issue becomes a row when you make a workspace for it. Filtered to what is assigned to you or in flight, the list is the to-do list, and a row goes when the work is merged and cleaned up.
The shells run whatever you like. Coding agents such as Claude Code are the obvious case, and the app shows when one is working, waiting on you or done, but a dev server or a plain shell is just as at home. Around them is an ordinary window, with lists to scan and things to click.
Built with Tauri 2 and Vue 3.
parallelist is built around branches you start and finish many times a day. Each branch gets a workspace, a directory of its own holding it as a git worktree or a full clone, so several programs can work on the same project at once without changing each other's files. Some branches need careful review and a trail of comments for whoever reads the history later. Others are a way to build several things side by side while you iterate, and are merged and removed within the hour. Both kinds need quick ends: a new workspace with its dev app running in seconds, and gone in seconds once the branch is done. If setting one up were slow, you would skip it and work in a directory that is already open. If removing one felt risky, it would stay on disk.
⌘N), type a branch name or pick one of
the project's open issues, which names the branch and the directory. The
workspace is made in the background (a
worktree, or a clone sharing the main workspace's objects when the branch
already has a worktree, so even a large one takes seconds), its setup
steps copy env files, link dependencies or run an install, and whatever
you ticked to open it in starts when it's ready: an editor, a dev server,
a program in its terminal. Double-clicking a branch with no workspace
makes one as the dialog would with nothing changed, and opens its
terminal once it is set up.⌘P jumps to any branch of any project, with what's waiting first.
⌘↵ there goes into the branch's shell, as double-clicking it does.⌘↵ goes to the one that has waited longest.gh../run.sh # dev build, reloads as you edit
./run.sh --build # release .app, installed to /Applications and launched
pnpm sandbox # components in a browser, with made-up data (src/sandbox)
pnpm typecheck # vue-tsc
pnpm test # cargo test
pnpm lint # cargo clippy
pnpm dev:demo # the landing page's demo: this frontend, in a browser
Run from any branch but main, run.sh puts the branch name in the top-left
of the window, so a build from a worktree can't be mistaken for the real one.
The landing page (site/) embeds that demo: the app's own components with
made-up projects and scripted terminals behind them (demo/), built into
site/demo by pnpm build:demo. A command added to src/api.ts needs an
answer in demo/backend/index.ts.
Settings are edited in the app and stored in
~/Library/Application Support/com.jmversteeg.parallelist/config.json. A
project can commit a .parallelist.json at its root to override baseBranch,
pathTemplate, setupSteps and openTargets.
Setup steps and "Open in" targets are shell templates run through your login
shell, with {path}, {primary} (the main workspace) and {branch}
substituted and shell-quoted, plus {prUrl} in "Open in" targets:
open -na Ghostty --args --working-directory={path}
phpstorm {path}