AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
당신의 에이전트와 테스트
Your agents. Your tests. Your call. Palisade is a free, open source macOS workspace for coding agents, with parallel worktrees, plans before code, and verification before merge.
개발 도구TypeScript · RustGitHub @TJLSmith0831온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기An Agentic Development Environment for macOS: run any ACP coding agent in parallel worktrees, review the diffs, and merge only what a verify command proves.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Palisade is in public beta. It is the tool we build Palisade with, every day, and it will have rough edges. Issues are read daily.
Verification is the only evidence. A change is green because a named verify command exited 0 at a named commit. Never because a model said so. Merge stays disabled until that happens, or you override it on purpose and it says so.
Playbooks. Draw a graph of agent nodes with gates between them (a verify command, or your approval), save it, run it as one unit from any thread with |=.
Any ACP agent, none compiled in. Claude Code, Codex, and whatever else the ACP registry lists and you have on PATH. Palisade discovers agents at runtime and speaks ACP to all of them. Pick a different agent per thread.
Fleet board is home. Every thread across your open projects is a row: needs attention, running, unreviewed, or idle. Agent, diff stat, verify evidence, merge readiness, and overlap with other running threads, all on one screen. A finished turn you have not opened yet badges the dock, and ⌘⇧U takes you to the next one.
One worktree per thread. Agents never share a working tree, so two threads can run at once on the same project without stepping on each other.
Spec, then build. Two modes only: spec writes an OpenSpec change with the agent's permissions locked down; go builds it. OpenSpec stays the source of truth; Palisade never writes a spec file.
Review lane. Read a thread's diff file by file, with per-file viewed state and the verify evidence beside it, before you merge.
The rest of an IDE. Editor with local fill-in-the-middle completion (a bundled model, no upload), terminals, a native Preview browser per project, git, MCP server management, and a command palette.
Local first. Session logs, completion telemetry and settings live under ~/.palisade-code. Network traffic is what you would expect: your agents, your git remotes, the ACP and MCP registries, and update checks.
| Platform | Download |
|---|---|
| macOS 11+, Apple Silicon and Intel (one universal build) | Latest .dmg |
| Windows, Linux | Not yet. Follow the issue tracker for progress. |
The app is signed and notarized. It updates itself; each update is checked against the project's signing key before it is installed.
You also need a coding agent. Palisade reads the ACP registry and lists every agent that is ready on your Mac. Agents that ship through npx or uvx, including Claude Code and Codex, appear under Add an agent in the agent picker: one click adds one, and its adapter downloads the first time you use it. Sign in with that agent's own CLI if it asks; Palisade shows you how.
Spec mode needs Node.js (for npx). You don't have to install OpenSpec yourself: if openspec isn't on your PATH, Palisade runs a pinned version (npx -y @fission-ai/[email protected]), and the first Spec turn in a project without an openspec/ folder creates one with openspec init --tools none. If openspec is on your PATH, Palisade uses that copy instead.
pnpm install
pnpm start # tauri dev: compiles the Rust backend and opens the window
On macOS, dev rebuilds and local packaging prefer an available valid Apple-issued Developer ID or Apple Development signing identity and a fixed identifier. After a one-time Keychain grant, its team identity stays stable across rebuilds. CODESIGN_ID overrides the certificate. Without an Apple-issued identity, the runner falls back to Palisade Code Dev (see package.sh for setup), or ad-hoc signing with a warning: these fallbacks can still prompt for Keychain access after each rebuild because macOS partitions other signing identities by binary hash. CODESIGN_ID=- explicitly selects ad-hoc signing. This does not change release signing or require notarization for dev builds.
| Command | Purpose |
|---|---|
pnpm test | All frontend tests (vitest) |
npx tsc --noEmit | Typecheck |
cd src-tauri && cargo test | All Rust tests |
pnpm build | tsc && vite build |
Rust + Tauri 2 backend, React 19 + TypeScript frontend, Mantine UI. See CONTRIBUTING.md for the layout, the rules the codebase runs on, and a glossary of the words the UI uses.
src/App.tsx — the IDE shell: panes, threads, chat, routingsrc/api.ts — typed wrapper over every Tauri IPC commandsrc-tauri/src/lib.rs — IPC command layer (generate_handler! registry at the bottom)src-tauri/src/acp_*.rs — ACP registry, client, and event mappingsrc-tauri/src/fleet.rs — the Fleet board's status derivationsrc-tauri/src/chain*.rs — playbook definitions, runner, historysrc-tauri/src/store.rs — append-only session storesrc/__tests__/* — frontend tests, one per source file; Rust tests are inline mod testsRead CONTRIBUTING.md, then open an issue or a PR. Security problems go through SECURITY.md, never a public issue. This project follows the Contributor Covenant.
Apache License 2.0. Palisade bundles llama.cpp (MIT) as its local completion sidecar; see NOTICE.