Community코딩 & 개발github.com

qiangli/bashy

bashy를 구동하세요. 에이전트 셸 — 에이전트 네이티브 확장 기능이 포함된 드롭인 Bash 5.3입니다. bashy가 현재 실행 중인 셸이거나 PATH에 있을 때 사용하여, 이 호스트가 작업에 대해 이미 알고 있는 정보를 읽고, 다른 에이전트와 사람들의 의견을 확인하며, 수행해야 할 작업을 파악하고, 프로빙 왕복을 줄이며, 파괴적인 명령을 미리 보고, 구조화된 결과를 실행하고, grep 없이 코드를 탐색하며, 환경에 따라 검증된 스킬을 사용하세요. 트리거 단어: --json (머신 출력), --fields (프로젝트 필드), --null (NUL 안전), --dry-run (미리보기), --no-input (프롬프트 없음), --explain (실행 전 설명), lens -t md (pdf/docx/html/csv 읽기), lens -f json -t yaml (json↔yaml 변환), lens -t listing (아카이브/컨테이너 목록), lens -f bash -t pwsh (PowerShell/cmd/MCP/skill 용 렌더링), lens -t md git:REV:PATH (커밋 시점의 파일), bashy adapt --OPTION -- CMD (외부 명령에 대한 공통 옵션). 모든 세션을 `bashy inspect context --json`으로 시작한 후, `bashy kb search "<your task>"`, `bashy inbox`, `bashy todo list`를 실행하고, `bashy kb retro`로 종료하세요.

bashy란 무엇인가요?

bashy는 순수 Go로 작성된 에이전트 셸로, 표준 Bash 5.3과 완전히 호환되면서도 에이전트 네이티브 확장 기능을 제공합니다. Linux, macOS, Windows에서 동일하게 동작하며, 기존 Bash 스크립트를 변경 없이 실행할 수 있습니다. 주요 기능으로는 컨텍스트 검사, 지식 베이스(kb) 검색 및 기록, 받은 편지함(inbox) 관리, 할 일(todo) 관리, 코드 그래프 분석, 구조화된 결과 캡처 및 검증된 스킬 실행 등이 있습니다. bashy의 모든 명령은 자체적으로 스킬 문서를 포함하여 `--help`로 MCP 형식의 도움말을 제공합니다. 에이전트는 세션 시작 시 반드시 `bashy inspect context`, `bashy kb search`, `bashy inbox`, `bashy todo list`를 실행하고, 종료 시 `bashy kb retro`로 지식을 기록해야 합니다. 이 스킬은 bashy 바이너리가 필요하며, 모든 동사는 `bashy <verb>` 형태로 다른 셸에서도 사용할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/qiangli/bashy/tree/HEAD/skills/bashy

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서


name: bashy description: bashy를 구동하세요. 에이전트 셸 — 에이전트 네이티브 확장 기능이 포함된 드롭인 Bash 5.3입니다. bashy가 현재 실행 중인 셸이거나 PATH에 있을 때 사용하여, 이 호스트가 작업에 대해 이미 알고 있는 정보를 읽고, 다른 에이전트와 사람들의 의견을 확인하며, 수행해야 할 작업을 파악하고, 프로빙 왕복을 줄이며, 파괴적인 명령을 미리 보고, 구조화된 결과를 실행하고, grep 없이 코드를 탐색하며, 환경에 따라 검증된 스킬을 사용하세요. 트리거 단어: --json (머신 출력), --fields (프로젝트 필드), --null (NUL 안전), --dry-run (미리보기), --no-input (프롬프트 없음), --explain (실행 전 설명), lens -t md (pdf/docx/html/csv 읽기), lens -f json -t yaml (json↔yaml 변환), lens -t listing (아카이브/컨테이너 목록), lens -f bash -t pwsh (PowerShell/cmd/MCP/skill 용 렌더링), lens -t md git:REV:PATH (커밋 시점의 파일), bashy adapt --OPTION -- CMD (외부 명령에 대한 공통 옵션). 모든 세션을 bashy inspect context --json으로 시작한 후, bashy kb search "<your task>", bashy inbox, bashy todo list를 실행하고, bashy kb retro로 종료하세요. compatibility: bashy 바이너리(에이전트 호스트 셸)가 필요합니다. 모든 동사는 다른 셸에서도 bashy <verb> 형태로 작동합니다.

bashy — 에이전트 셸, 한 페이지 요약

bashy는 두 가지 역할을 동시에 수행합니다: 호환 가능한 Bash 5.3 드롭인(스크립트가 그대로 실행됨)이자 에이전트 셸 — 순수 Go 사용자 공간과 프로세스 내에서 실행되는 에이전트 네이티브 동사 세트로, Linux, macOS, Windows에서 동일하게 작동합니다. 확장 기능은 추가적이며, 유효한 bash의 의미를 절대 변경하지 않습니다.

bashy 만으로 충분합니다

먼저 bashy를 사용하고, 우회하는 대신 확장하십시오:

  • 없는 경우? 어떤 bashy 명령으로도 작업을 처리할 수 없다면, 직접 등록하십시오: bashy commands add NAME --set script=BODY (또는 exec.0=PROG, download.url=…); 그러면 내장 명령처럼 목록에 표시되고 문서화되며 디스패치됩니다 (bashy commands schema는 모든 필드를 표시합니다).
  • 맞지 않는 경우? 기존 명령이 있지만 요구 사항에 맞지 않는다면, 일회성 스크립트를 작성하는 대신 형태를 변경하십시오: bashy shape wish … → 확인 → 미리보기 → 승인 (실행 취소 가능).
  • 구축하거나 형태를 변경하는 경우? Bash# 스킬 스크립트에서 작은 --json 동사를 조합하고, 모든 사용자 대면 인터페이스에 형태 변경 훅을 제공하며, 새 도우미를 예시로 시작하여 선택 사항으로 승격시킨 후 핵심으로 편입하십시오: bashy kb show extend-bashy-small-verbs-bash-skill-scripts-shaping-hooks-and-th.

bashy는 이 바이너리가 설치하는 유일한 스킬입니다 — 그리고 하나 이상일 필요가 없습니다. 모든 bashy 명령은 그 자체로 스킬이기 때문입니다: bashy <cmd> --help는 전용 스킬 폴더가 제공하는 것과 동일한 스킬+MCP 문서를 렌더링합니다(하나의 파일에 frontmatter, 산문, json mcp 도구 정의 포함). 단순한 사용법 문자열이 아닙니다.

  • 여기서 접근 가능한 항목 나열: bashy skill list (검증됨, 환경 게이트 적용) 또는 bashy commands --agentic (전체 에이전트 표면).
  • 하나 로드: bashy <cmd> --help — 에이전트 감지 세션은 자동으로 스킬+MCP 형식을 얻습니다. --format classic (일반 사용법) 또는 --format mcp (도구 정의만)으로 강제 지정할 수 있습니다.
  • 도움말에 자체 사용법 문자열 이상이 필요한 명령은 bashy/commands/<cmd>.md (선택적으로 bashy/reference/<cmd>.md) 아래에 동반 문서를 가지고 있으며, --help --format skill은 생성된 섹션 앞에 이를 포함합니다. conductor, steward, sprint, inbox, supervisor, knowledge-transfer, force-agent-shell이 현재 이렇게 작동합니다. bashy skill show conductor(등)는 여전히 동일한 문서를 직접 읽습니다.

외부 변경 사항, 리소스 경합, 중단, 공유 체크아웃 작업은 bashy skill show collaborate를 따르십시오.

첫 번째 단계 (세션당 한 번 수행)

bashy inspect context --json

한 번의 호출로 일반적인 프로브 절차(uname/hostname/id/env/which ...)를 대체합니다: 시스템 + 신원, 확인된 도구 경로, 안전한 환경(이름으로 비밀 제거됨), 에이전트 모드 플래그, 이 호스트에 적용 가능한 스킬, 권장 명령 목록. 이후 호출에는 보고된 bashy_path를 사용하십시오.

두 번째 단계: 지속 상태 (kb · inbox · todo)

이 페이지의 다른 모든 내용은 작업을 수행하는 데 도움이 됩니다. 다음 세 가지는 작업이 발생하는 상태입니다 — 알려진 것, 주의가 필요한 것, 완료해야 할 것 — 그리고 이들은 세션보다 오래 지속되는 유일한 것입니다. 시작하기 전에 읽고, 끝내기 전에 기록하십시오. 이를 건너뛰는 에이전트는 매번 빈 상태에서 시작하고 아무것도 남기지 않습니다.

kb — 알려진 것. 이전 에이전트가 다음에 오는 사람을 위해 작성한 요약 페이지: 누군가에게 좌초된 머신을 초래한 문제점, Windows에서만 실패하는 빌드, 조용히 아무것도 하지 않는 플래그. 작업이 이미 해결되었거나 함정으로 알려져 있음을 알려줄 수 있는 유일한 동사입니다.

bashy kb context --for "<task>" --rings repo,host --forms note,page --budget 700 --json
bashy kb search "<자신의 언어로 된 작업>"   # 하나의 링에서 검색
bashy kb show <slug>                              # 전체 레코드 읽기
bashy kb observe --ring agent --episode E --kind tool-result --ref REF
bashy kb validate <slug> --ring RING --from-gate EVENT_ID
bashy kb note add --candidate --ring agent --episode E --title "…" --body "…"
bashy kb retro                                    # 작업 후 조정

이것들이 다섯 가지 하네스 단계입니다: context는 조합, search/show는 검색, observe는 이벤트 기록, validate --from-gate는 확인, note add --candidate는 유지합니다. 쓰기는 --ring repo|host|agent로 정확히 하나의 저장소를 선택합니다. context는 --rings로 명명된 집합을 읽고 --forms note,page,relation,code로 레코드 형태를 필터링합니다 (kb search는 단일 --form 사용). kb backlinks는 들어오는 링크를 확인하고, kb doctor는 문제만 표시하고 절대 수정하지 않으며, kb transfer --from memex는 지원되는 레거시 가져오기 경로입니다.

에이전트는 kb 저장소의 pages/*.md 또는 graph.jsonl을 수동으로 편집해서는 안 됩니다. bashy kb 동사를 사용하십시오: 속성, 후보 상태, 중복 검사, 편집, 링 소유권, 관계 ID, 추가 전용 기록을 강제합니다.

누락은 정직하고 저렴합니다: 검색은 코퍼스가 당신의 어떤 단어를 가지고 있지 않은지, 어떤 단어를 가지고 있는지 보고하므로, *"아무도 이것을 모른다"*와 *"잘못된 단어로 물었다"*를 구분할 수 있으며, 추측 대신 재구성할 수 있습니다. 관련된 것이 없고 작업이 지속 가능한 무언가를 가르쳐 주었다면, 기여하십시오 — bashy kb add --type gotcha --title "…" --description "무엇 + 이것이 적용되는 시점" — 대본이 아닌 요약된 전략이며, 실패는 안전장치로 표현됩니다.

inbox — 주의가 필요한 것. 당신에게 온 메시지: bashy inbox (기본적으로 미리보기; --from/--search로 검색; bashy mb send로 답장).

MB, 스탠딩 게시판, 버스 알림, 권한이 부여된 역할 메일을 한 번에 읽을 수 있는 보기입니다. MB는 공개 전송/기록 표면으로 유지됩니다. inbox는 전송별 폴링을 방지합니다.

bashy inbox                  # 모든 수신 소스 읽기
bashy skill show inbox
bashy mb post "<message>"    # 모두에게
bashy mb send <agent> "…"    # 한 에이전트 또는 선택자에게

터미널 기록 외부에서도 발견 가능해야 하는 상태는 명시적인 주요 사서함을 사용하십시오. 목록 및 검색은 소비하지 않습니다. ack만 보류 보기에서 항목을 제거합니다.

bashy inbox list --topic harness --search timeout
bashy inbox human list --topic posix-cert --project dhnt
bashy inbox human send --topic posix-cert --project dhnt --status blocked \
  --ref docs/status.md "Profile D에 검토 필요"

에이전트와 인간 사서함은 동일한 필터와 JSON 스키마를 공유합니다. read는 항목을 보류 상태로 유지하고, ack는 명시적이며, preserve는 다시 열고, --all은 확인된 기록을 포함합니다. 상태는 1024 UTF-8 바이트 미만으로 유지하고 세부 정보는 안정적인 공유 경로, 커밋, 이슈, 방 또는 아티팩트 참조로 연결하십시오.

게시판 메시지를 조용히 소비하지 마십시오. 읽기가 게시물을 반환한 후, 짧은 경우 사용자에게 표시되는 세션 콘솔에 전체 메시지를 표시하고, 그렇지 않은 경우 발신자/주제, 간결한 요약 및 필요한 작업을 표시하십시오. 도구 출력은 접힐 수 있으므로 내부 수신만으로는 운영자에게 표시되는 조정이 아닙니다.

todo — 완료해야 할 것. 작업 목록으로, kb처럼 자동으로 범위가 지정됩니다: 저장소 내에 있으면 해당 저장소의, 그렇지 않으면 호스트의 것입니다.

bashy todo list              # 여기 열려 있는 것, 우선순위 순
bashy todo add "<title>"     # 이 세션보다 오래 지속되도록 작업 기록
bashy sprint claim last STORY_ID # 선택한 스프린트 작업 청구
bashy sprint submit last STORY_ID -m "전달 증거"

모든 스프린트는 동일한 수명 주기와 수락 규칙을 사용합니다. 유지 관리를 위해 예약된 스프린트 번호는 없습니다. 스프린트를 명시적으로 선택하거나 가장 최근에 생성된 카드에 last를 사용하십시오. 스프린트 선택을 생략하면 동일한 마지막 카드를 사용합니다. 스프린트를 생성하지 않습니다. 독립 실행형 저장소 할 일에는 --no-sprint를 사용하십시오. 개인 할 일은 기본적으로 독립 실행형으로 유지됩니다. bashy sprint --help를 읽으십시오.

bashy sprint add "Title"로 스프린트를 생성하십시오: 자동으로 다음 사용 가능한 번호를 할당하고 반환합니다. 번호나 next 선택기가 필요하지 않습니다.

스프린트 스토리는 확인 후 관리자가 sprint accept를 사용하여 종료합니다. 일반 todo done은 스프린트 스토리를 종료할 수 없습니다.

인간처럼이 아닌, 에이전트처럼 명령 실행

  • 변경 전 미리보기: bashy --dry-run SCRIPT (BASHY_AGENTIC=1이 설정된 에이전트가 읽을 수 있는 매니페스트).
  • 스크립트 사전 점검: bashy check --agent --script SCRIPT.
  • 캡처된 구조화된 결과와 함께 실행: bashy run --check --capture -- SCRIPT.
  • 한 번의 명령으로 기능 조회(플래그, 기능 — 시행착오 불필요): bashy commands COMMAND --features.
  • 실패 시 stderr 힌트 읽기: 시공간 어드바이저가 환경에 의해 결정된 실패(잘못된 cwd, 누락된 도구, 가득 찬 디스크)를 설명하여 실패할 명령을 재시도하지 않도록 합니다.

직접 작성하지 않은 것을 실행하기 전에, 실행하는 것이 무엇을 의미하는지 물어보십시오. bashy inspect actions [--json] [--kind command|script|agent|skill]는 이 bashy가 실행할 수 있는 모든 작업을 하나의 패싯 행(kind name identity contract latitude authority effects_declared executor)으로 나열합니다. 네 가지 계열에 걸쳐 있습니다: command는 정확하고 결정론적입니다(셸은 입력된 대로 실행하고, 효과는 해당 아틀라스 레코드에서 가져옴). agent 바인딩은 정의상 판사/에이전트입니다(실행자 agentlaunch:<tool>, 따라서 비용과 효과는 열려 있음). skill은 그것이 전달하는 가장 강력한 계약에 의해 바인딩됩니다(dhnt 얼굴과 선언된 효과, metadata-checks 또는 none 포함, 하나의 판사 단계가 전체 실행을 에이전트로 만듦). script는 아직 아무것도 채우지 않은 계열입니다(0으로 보고되며 절대 생략되지 않음). bashy define NAME은 하나의 이름에 대해 동일한 패싯을 출력하고(runs: 줄, --json 아래에 중첩된 action 객체), bashy inspect context --json은 개수를 actions: {command, script, agent, skill}으로 전달합니다. 작업을 만족시킬 때 정확/결정론적 행을 선호하고, 작업에 재량이 필요할 때만 판사/에이전트 행을 사용하십시오.

grep 없이 코드 탐색

  • bashy graph impact SYMBOL — 심볼에 결합된 코드.
  • bashy ast symbols PATH / bashy ast search PATTERN / bashy ast refs SYMBOL / bashy ast map — treesitter 기반, 모델 불필요.
  • 공유 저장소 메모리(다른 에이전트의 발견이 누적되는 에이전트 위키): 읽기 bashy graph recall QUERY, 기여 bashy graph note / bashy graph observe, 위험한 변경 전 bashy graph pitfalls.

스킬: 검증된 절차, 이 호스트에 게이트 적용

  • bashy skill list — 이 호스트의 좌표에 적용 가능한 스킬만 표시(환경 게이트 적용). bashy skill show NAME으로 하나 읽기.
  • bashy skill run NAME — 머신이 확인 가능한 스킬 실행. 성공 계약이 확인되고 모든 실행은 재확인 가능한 증명을 남깁니다. 계약이 유지된 경우에만 종료 코드 0.
  • bashy skill run NAME --adapt --repair-agent "<headless CLI>" — 실패하는 스킬의 자가 치유. 확인된 수정은 호스트당 한 번 학습되고 모든 에이전트가 재사용합니다.
  • 기여: 스킬 폴더를 작성한 다음 bashy skill learn DIR (입학하려면 계약이 실제로 여기서 유지되어야 함) 및 bashy skill promote NAME (인간 검토 번들 — 절대 자동 게시되지 않음).

기본값: 소스 핀의 명령 및 kb 페이지

기본 Bash# 명령 및 kb 페이지는 바이너리가 아닌 Bashy의 소스와 함께 제공됩니다. 첫 번째 bashy self install(설치 프로그램이 실행하는 것)이 이를 설정합니다. 수동으로 하려면: bashy src fetch bashy && bashy --bashsharp "${BASHY_HOME:-$HOME/.bashy}/src/bashy/examples/defaults/bashy-defaults.bsh" apply (status로 확인, 업그레이드 후 merge --upgrade: 새 기본값을 추가하고 변경된 기본값을 가린 사용자 페이지를 조정을 위해 나열). 기본 kb 페이지는 bashy kb search 및 bashy recall에 의해 자동으로 읽힙니다. 동일한 슬러그를 가진 사용자 페이지가 우선합니다.

동사를 통해 카탈로그 편집, 수동 편집 금지

~/.config/bashy/ (또는 모든 BASHY_*_DIR) 아래의 파일을 직접 편집하지 마십시오: 포함된 항목은 변경 불가능하며 모든 쓰기는 로컬 링에 대한 copy-on-write이며, 이는 동사만 수행합니다. bashy <noun> schema는 tool/model/agent가 허용하는 점으로 구분된 경로를 나열합니다. bashy <noun> set NAME --set path=value (--unset path)는 하나를 편집하고, bashy <noun> show NAME --field path는 다시 읽습니다. 스킬: bashy skill add NAME --description "…"는 하나를 생성하고, bashy skill set NAME / bashy skill rm NAME은 편집 및 제거하며, bashy skill show NAME --yaml은 해당 레코드를 출력합니다 (skill add FILE.yaml|-는 다시 가져옴).

팔레트 및 작업 공간 (작업이 하나의 세션을 초과할 때)

  • bashy weave … — 병렬 에이전트 실행을 위한 격리된 이슈별 작업 공간. bashy sprint … — 계획/연속성. bashy dag TASKS.md — 마크다운 정의 작업 DAG. 팔레트를 조정하기 전에 conductor 스킬(bashy skill show conductor)을 읽으십시오.

경험 법칙

  1. bashy inspect context --json 먼저; 자체 프로브보다 신뢰하십시오.
  2. kb search + inbox + todo list로 열고; kb retro로 닫으십시오. 이 페이지에서 세 가지 동사를 기억한다면, 이것들을 기억하십시오. 다른 모든 것은

…

[번역을 위해 잘림]

관련 스킬