Skip to main content

company-os-cli

재사용 가능한 Multi-Agent Company Operating System 스켈레톤을 pip으로 설치해 CLI 한 줄로 만들어내는 도구입니다. Role · Skill · Workflow · Memory를 Git Markdown(SSOT)으로 관리하고, LangGraph/LangChain 기반 Agent가 이를 읽어 추측 없이 협업하도록 설계되었습니다.

설치

# PyPI에 배포된 이후
pip install company-os-cli

# 배포 전 / 최신 개발 버전을 바로 쓰고 싶다면 GitHub에서 직접 설치
pip install git+https://github.com/as950118/ai-company.git

설치하면 company-os 명령이 생깁니다.

빠른 시작

A. 독립 Company OS 레포로 (SSOT 문서를 최상위에 그대로 노출)

이 프로젝트 자체가 "회사 운영체제"인 경우 — GitHub에서 열었을 때 company/, roles/, skills/가 바로 보이는 게 맞습니다.

company-os init \
  --name "Acme Agent Co" \
  --product "Acme Task Hub" \
  --slug acme-task-hub \
  --out ./my-company-os

cd my-company-os

B. 기존 프로젝트에 얹기 (숨김 폴더로 격리)

이미 소스코드가 있는 프로젝트에 Company OS를 추가하는 경우, --out을 생략하면 현재 폴더의 .company-os/(.git, .github, .vscode, .cursor와 같은 패턴)에 자동으로 만들어져 기존 폴더 구조(예: 이미 있는 docs/, runtime/)와 충돌하지 않습니다.

cd my-existing-project
company-os init --name "Acme Agent Co" --product "Acme Task Hub"
# → ./.company-os/ 에 생성됨
company-os --version
company-os init --help

옵션:

옵션 설명 기본값
--name 회사 표시명 (필수)
--product 제품명 (필수)
--out 생성 경로 현재 폴더의 ./.company-os
--slug 경로/ID용 슬러그 --product에서 자동 생성
--force 비어있지 않은 폴더에 덮어쓰기 허용 off
--llm-provider 기본 LLM 프로바이더 openrouter
--model 기본 모델 ID openrouter/free
--langsmith-project LangSmith 프로젝트명 slug와 동일

생성 후:

  1. cd <out>company/vision.md 등 플레이스홀더 잔여({{…}}) 검색: rg '\{\{[A-Z0-9_]+\}\}'
  2. runtime/.env.example.env 복사, OpenRouter / LangSmith 키 설정
  3. workflows/create-feature.md로 첫 Feature 시작

생성되는 구조

my-company-os/
├── README.md                  ← 제품용 README (TEMPLATE_README.md에서 렌더링됨)
├── company/                   ← Vision / Mission / Values / Org / Tech Stack / Glossary
├── roles/                     ← Role별 R&R + System Prompt (9종)
├── skills/                    ← 역할 공통 재사용 절차 (write-prd, write-adr, create-api …)
├── workflows/                 ← create-feature / fix-bug / release / incident / onboarding
├── docs/                      ← PRD·Architecture·API·Task·ADR 템플릿 + 협업 규칙
├── agents/                    ← Role별 Agent YAML (도구·메모리·핸드오프·시스템 프롬프트)
├── langgraph/                 ← Feature/BugFix/Release Graph 설계 (Markdown SSOT)
├── memory/                    ← 5종 Memory 인덱스 (company/project/decision/task/lessons-learned)
├── projects/<slug>/           ← 첫 프로젝트 (prd/architecture/adr/api)
├── tasks/                     ← Task 인덱스
└── runtime/                   ← LangChain/LangGraph 최소 Python 스텁 (company_os 패키지)

설계 원칙 (Kit이 강제하는 것)

  1. Git Markdown = SSOT — 모든 지식은 Role/Skill/Workflow/Memory로 문서화
  2. Role / Skill / Workflow 분리 — 한 Agent가 모든 역할을 하지 않는다
  3. 승인 게이트 없이 Prod 금지 — Reviewer → QA → DevOps 순서 강제
  4. ADR로 결정 기록 — 기술 선택은 반드시 memory/decision-memory/에 남긴다
  5. 추측 금지 — 문서 없으면 질문

협업 파이프라인

CEO → PM → Architect → Backend/Frontend → Reviewer → QA → Release(DevOps)
                                                              ↘ Technical Writer (문서화 지원, 전 단계 개입 가능)

생성된 프로젝트의 docs/agent-collaboration-rules.md에서 Stage Contract를 확인할 수 있습니다.

Cursor에서 쓰기

새 프로젝트에 스캐폴드한 뒤:

당신은 {{PRODUCT_NAME}} Company OS의 Architect다.
company/, roles/, workflows/를 읽고 추측하지 마라.
지금은 create-feature의 Design 단계만 수행한다.

이 레포 구조 (패키지 개발자용)

ai-company/                        ← company-os-cli 패키지 소스 레포
├── pyproject.toml                  ← 패키징 메타데이터 (hatchling, entry point: company-os)
├── LICENSE
├── src/company_os_cli/
│   ├── __init__.py                 ← __version__
│   ├── cli.py                      ← Typer CLI (`company-os` 명령)
│   ├── scaffold.py                 ← 핵심 스캐폴딩 로직 (CLI 비의존, 테스트/재사용 가능)
│   └── template/                   ← 위 "생성되는 구조"의 원본 (company/, roles/, skills/ …)
├── tests/test_scaffold.py          ← scaffold() 함수 + CLI 엔드투엔드 스모크 테스트
└── .github/workflows/              ← CI (테스트) + publish (태그 push 시 PyPI 배포)

로컬 개발

python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

company-os --version
python -m unittest discover -s tests -v

# 배포용 빌드 확인
python -m build
python -m zipfile -l dist/company_os_cli-*-py3-none-any.whl

릴리스 (PyPI 배포)

  1. pyproject.tomlversion을 올린다
  2. git tag v0.1.0 && git push origin v0.1.0
  3. .github/workflows/publish.yml이 태그 push 시 테스트 → 빌드 → PyPI 업로드까지 수행
    • PyPI API 토큰(https://pypi.org/manage/account/token/) 발급 후, GitHub 저장소의 pypi Environment(Settings → Environments → pypi)에 PYPI_API_TOKEN 시크릿으로 등록
    • 프로젝트가 PyPI에 아직 없는 첫 배포라면 "Entire account" 스코프 토큰을 써야 합니다 (프로젝트 스코프 토큰은 프로젝트가 이미 존재해야 발급 가능). 첫 배포 성공 후엔 company-os-cli 프로젝트 스코프로 좁힌 토큰으로 교체 권장

실습 산출물 안내

실제 실행 로그, Review dump 등 산출물은 이 레포(Kit)에 포함하지 않습니다. company-os init으로 생성한 각 프로젝트의 memory/, projects/<slug>/에 쌓아가세요.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

company_os_cli-0.1.0.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

company_os_cli-0.1.0-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

File details

Details for the file company_os_cli-0.1.0.tar.gz.

File metadata

  • Download URL: company_os_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for company_os_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 20ee8e7b5402dcdb8724f47e9d5137bcbb7d6b7868f58ab203c1edb0ec88f626
MD5 27a4409be1d93d2650b276a029797091
BLAKE2b-256 f4d7499d2b6e95f0b3fa28d6583d7c564b8d348954d9e65bbf639909b031cb70

See more details on using hashes here.

File details

Details for the file company_os_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: company_os_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for company_os_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbd91f20b2398fdab09a3673ef6c1854cc4d1ecfe211ca27bbce9f9280b62936
MD5 ba102e3a1d094c0a42f1345f14c304f1
BLAKE2b-256 1eeee4ac2c7d35dea7a45cc8e72fb1c9994ceb0c87d47b80ec2e79dcbb83e091

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page