Shipyard

ทางการ

CLI ของ Shipyard มี MCP server สำหรับให้เอเจนต์จัดการสภาพแวดล้อม Shipyard ได้โดยตรง เช่น ดึง logs เปรียบเทียบ branches รัน tests และหยุด/เริ่มสภาพแวดล้อม

คุณทำอะไรได้บ้างด้วย Shipyard MCP?

  • แสดงรายการสภาพแวดล้อม — สอบถามว่าสภาพแวดล้อมใดกำลังทำงาน โดยกรองตาม repo, branch, หมายเลข pull request หรือชื่อ
  • ตรวจสอบสภาพแวดล้อม — ดูรายละเอียดของสภาพแวดล้อมที่ระบุด้วย UUID รวมถึงบริการและพอร์ตที่เปิดให้ใช้งาน
  • อ่านบันทึกของบริการ — แสดงบันทึกของบริการในสภาพแวดล้อมที่กำลังทำงาน โดยเลือกติดตามผลลัพธ์ได้
  • จัดการวงจรการทำงานของสภาพแวดล้อม — หยุด เริ่มใหม่ ยกเลิก สร้างใหม่ หรือกู้คืนสภาพแวดล้อมด้วย UUID
  • กำหนดค่าตัวแปรสภาพแวดล้อม — ตั้งค่า env vars ในสภาพแวดล้อม แล้วเริ่มบริการใหม่เพื่อให้การตั้งค่ามีผล
  • ตรวจสอบการเปลี่ยนแปลงที่พุชแล้ว — ตรวจสอบการเปลี่ยนแปลงที่พุชแล้วกับสภาพแวดล้อม โดยใช้พรอมป์ต์ verify

เอกสาร

Shipyard CLI

เครื่องมือสำหรับจัดการ Ephemeral Environments บนแพลตฟอร์ม Shipyard

ใช้ผู้ช่วย AI อยู่หรือไม่? CLI มี MCP server ให้ใช้งานด้วย: ดู ใช้ Shipyard จากผู้ช่วย AI

การติดตั้ง

  • Linux และ macOS

    curl https://www.shipyard.sh/install.sh | bash
    

    ติดตั้งไว้ที่ /usr/local/bin และจะใช้ sudo ก็ต่อเมื่อเขียนลงตำแหน่งนั้นไม่ได้ หากต้องการติดตั้งไว้ที่อื่น เช่น ไดเรกทอรีที่คุณเป็นเจ้าของ ให้ตั้งค่า SHIPYARD_INSTALL_DIR:

    curl https://www.shipyard.sh/install.sh | SHIPYARD_INSTALL_DIR="$HOME/.local/bin" bash
    
  • Windows ไปที่ หน้ารุ่นที่เผยแพร่ แล้วดาวน์โหลดไฟล์ปฏิบัติการสำหรับ Windows

  • Homebrew

    brew tap shipyard/tap
    brew install shipyard
    

การตรวจสอบไฟล์ดาวน์โหลด

ทุกรุ่นที่เผยแพร่จะมี checksums.txt ซึ่งระบุ SHA-256 ของไบนารีแต่ละไฟล์ สคริปต์ติดตั้งจะตรวจสอบไบนารี เทียบกับค่านี้ และปฏิเสธการติดตั้งหากค่าไม่ตรงกัน หากต้องการตรวจสอบไบนารีที่คุณดาวน์โหลดเอง:

grep " shipyard-darwin-arm64$" checksums.txt | shasum -a 256 -c -

checksums.txt มาจากรุ่นเดียวกับไบนารี จึงตรวจจับได้ว่าไฟล์ดาวน์โหลดเสียหายหรือดาวน์โหลดมาไม่ครบ แต่ไม่สามารถตรวจจับ กรณีที่มีการแทนที่ไฟล์ของรุ่นนั้นได้ การรับรองด้านล่างเป็นการตรวจสอบว่าไบนารีสร้างขึ้นโดยเวิร์กโฟลว์เผยแพร่รุ่นของ repo นี้

ในรุ่นหลัง 1.9.0 ไบนารีแต่ละไฟล์ยังมีการรับรองแหล่งที่มาของบิลด์ที่ลงนามไว้ ซึ่งแสดงว่าเวิร์กโฟลว์ใด รันใด คอมมิตใด และแท็กใดเป็นผู้สร้างไฟล์ รวมถึง SPDX SBOM (shipyard-<os>-<arch>.sbom.json; .exe.sbom.json บน Windows) ที่ระบุ สิ่งที่ใช้สร้างไฟล์ ตรวจสอบการรับรองด้วย GitHub CLI โดยระบุรุ่นที่คุณ ดาวน์โหลด (ในตัวอย่างนี้คือ v1.10.0):

gh attestation verify shipyard-darwin-arm64 -R shipyard/shipyard-cli \
  --signer-workflow shipyard/shipyard-cli/.github/workflows/release.yaml \
  --source-ref refs/tags/v1.10.0

อย่าลบ --source-ref: หากไม่มีค่านี้ การตรวจสอบจะผ่านสำหรับทุกสิ่งที่สำเนาของเวิร์กโฟลว์ลงนามไว้บนทุกสาขา ไม่ใช่เฉพาะ บิลด์ของแท็กในรุ่นนั้น

การตรวจสอบจะระบุชื่อแท็ก ไม่ใช่คอมมิต การรับรองของรุ่นที่ถอนออกจะไม่ถูกลบ ดังนั้นหากมีการเผยแพร่รุ่นเดิมอีกครั้ง ภายใต้แท็กเดิม ไบนารีที่ถอนออกไปแล้วก็ยังผ่านการตรวจสอบ หากต้องการระบุคอมมิตให้แน่นอนด้วย ให้เพิ่ม --source-digest <commit SHA> พร้อมคอมมิตที่แท็กชี้ไป

การสร้างรุ่นเผยแพร่ใหม่

รุ่นหลัง 1.10.0 สามารถสร้างซ้ำได้: การสร้างแท็กรุ่นเดิมอีกครั้งด้วย Go และ GoReleaser เวอร์ชันเดิม จะได้ไบนารีที่เหมือนกันทุกไบต์ ไม่ว่าจะสร้างในไดเรกทอรีใดก็ตาม เวอร์ชันต่าง ๆ คือ GO_VERSION และ GORELEASER_VERSION ใน .github/workflows/release.yaml ของแท็กนั้น เมื่อติดตั้ง GoReleaser เวอร์ชันดังกล่าวแล้ว และใช้ GO_VERSION แทน 1.26.11 ด้านล่าง (GOTOOLCHAIN ทำให้ Go ใช้เวอร์ชันนั้นโดยตรง และดาวน์โหลดให้หากจำเป็น ส่วน GOFLAGS= จะตัดแฟล็กบิลด์ที่คุณกำหนดเองออก):

git clone https://github.com/shipyard/shipyard-cli && cd shipyard-cli
git checkout vX.Y.Z
GOTOOLCHAIN=go1.26.11 GOFLAGS= goreleaser release --clean --skip=publish,sbom
grep " shipyard-linux-amd64$" dist/checksums.txt

ไดเจสต์ควรตรงกับบรรทัดเดียวกันใน checksums.txt ของรุ่นนั้น หากไม่ตรง ให้ตรวจสอบเวอร์ชัน Go และ GoReleaser ของคุณ (GOTOOLCHAIN=go1.26.11 go version, goreleaser --version) ก่อนสงสัยว่ารุ่นเผยแพร่มีปัญหา เวิร์กโฟลว์เผยแพร่รุ่นจะตรวจสอบเรื่องนี้ในทุกคอมมิตที่ใช้เผยแพร่ ก่อนสร้างรุ่น (scripts/check-reproducible.sh) SBOM ไม่สามารถสร้างซ้ำให้เหมือนเดิมได้ เพราะระบุเวลาที่สร้างไว้ รายการของโมดูล CLI เองจะแสดงเวอร์ชัน (devel) เนื่องจากบิลด์ไม่ใส่ VCS stamp ของ Go ส่วน shipyard --version จะแสดงเวอร์ชันของรุ่นเผยแพร่

การอัปเกรด

shipyard upgrade

shipyard update ทำงานแบบเดียวกัน โดยติดตั้งรุ่นล่าสุดและแสดงบันทึกประจำรุ่น การติดตั้งผ่าน Homebrew จะอัปเกรดด้วย brew upgrade shipyard ส่วนการติดตั้งแบบอื่นจะดาวน์โหลดไบนารีของรุ่น ตรวจสอบกับ checksums.txt ของรุ่นนั้น แล้วแทนที่ไบนารีที่กำลังทำงานอยู่ หากไบนารีอยู่ในไดเรกทอรีที่คุณเขียนไม่ได้ เช่น /usr/local/bin ให้เรียกใช้ sudo shipyard upgrade

เพิ่ม --prerelease เพื่อรวมรุ่นก่อนเผยแพร่ หรือ --force เพื่อติดตั้งรุ่นปัจจุบันซ้ำ (หากติดตั้งผ่าน Homebrew ให้ใช้ brew reinstall shipyard แทน)

การอัปเกรดจาก 1.9.0 หรือเก่ากว่า

shipyard update ใน 1.9.0 และเวอร์ชันก่อนหน้าเปรียบเทียบเวอร์ชันเป็นข้อความ จึงรายงานว่า 1.10.0 และเวอร์ชันใหม่กว่าเก่ากว่า เวอร์ชันที่คุณมี ให้อัปเกรดหนึ่งครั้งด้วยวิธีเดียวกับที่คุณติดตั้ง แล้ว shipyard upgrade จะใช้งานได้ตั้งแต่นั้นเป็นต้นไป:

การแจ้งเตือนการอัปเดต

เมื่อมีรุ่นใหม่ CLI จะแจ้งหลังจากคำสั่งทำงานเสร็จ โดยแจ้งไม่เกินวันละครั้ง:

A new version of shipyard is available: 1.9.0 → 1.10.0
Run `shipyard upgrade` to install it. Release notes: https://github.com/shipyard/shipyard-cli/releases/tag/v1.10.0

CLI จะไม่ถามอะไรหรือรอรับข้อมูลใด ๆ การตรวจสอบจะทำงานเบื้องหลังระหว่างที่คำสั่งทำงาน หากยังไม่เสร็จเมื่อคำสั่งทำงานเสร็จ CLI จะรอไม่เกินหนึ่งวินาที ซึ่งจะเกิดขึ้นเฉพาะเมื่อติดต่อ GitHub ประมาณวันละครั้ง หรือเมื่อดึงบันทึกประจำรุ่นที่คุณพลาดไป การเรียกใช้ครั้งแรก หลังจากอัปเกรดด้วยวิธีอื่น เช่น brew upgrade จะแสดงบันทึกเหล่านั้น

ข้อความจะแสดงทาง stderr และแสดงเฉพาะเมื่อ stderr เป็นเทอร์มินัลเท่านั้น โดยจะไม่แสดงใน CI ภายใน AI coding agents ที่ระบุตัวตนของตนเอง (Claude Code, Codex, Cursor's agent, Gemini CLI) หรือเมื่อใช้ shipyard mcp serve หากต้องการปิด ให้ตั้งค่า SHIPYARD_NO_UPDATE_CHECK=1 หรือเพิ่ม update_check: false ลงใน ~/.shipyard/config.yaml

การปิดการอัปเดตตัวเอง

บน Shipyard ที่โฮสต์เองและเชื่อมต่อ GitHub ไม่ได้ CLI จะมาพร้อมกับรุ่น Shipyard ของคุณ ให้ปิดการอัปเดตตัวเองที่นั่นด้วย self_update: false ใน ~/.shipyard/config.yaml หรือ SHIPYARD_SELF_UPDATE=false จากนั้น CLI จะไม่ติดต่อ GitHub อีกเลย: ไม่มีการแจ้งเตือนการอัปเดต ไม่มีการตรวจสอบเบื้องหลังจาก shipyard mcp serve และ shipyard upgrade จะปฏิเสธพร้อมข้อความแจ้งว่าปิดการอัปเดตตัวเองแล้ว update_check: false ปิดเฉพาะการแจ้งเตือนและการตรวจสอบเบื้องหลังเท่านั้น

การเข้าสู่ระบบ

เรียกใช้ shipyard login เพื่อเริ่มต้นใช้งาน CLI ระบบจะแจ้งให้คุณเข้าสู่ระบบ Shipyard ผ่านเบราว์เซอร์ จากนั้น CLI จะ บันทึก API token ของคุณไว้ในการกำหนดค่าในเครื่อง พร้อมเริ่มเรียกใช้คำสั่งได้เลย

Shipyard ที่โฮสต์เอง

หากต้องการใช้ Shipyard ที่โฮสต์เอง ให้ชี้ CLI ไปยัง API ของระบบนั้นใน ~/.shipyard/config.yaml (หรือใช้ SHIPYARD_API_URL) ก่อนเข้าสู่ระบบ:

api_url: https://shipyard.example.internal/api/v1
self_update: false

จากนั้น shipyard login จะเปิดหน้าเข้าสู่ระบบของโฮสต์นั้น และทุกคำสั่งจะเรียกใช้ API ดังกล่าว ตั้งค่า self_update: false หากการติดตั้ง เชื่อมต่อ GitHub ไม่ได้ (ดู การปิดการอัปเดตตัวเอง)

หากคุณเข้าสู่ระบบ Shipyard อื่นไว้แล้ว (เช่น shipyard.build) shipyard login จะเก็บ token นั้นไว้และแจ้งว่า คุณเข้าสู่ระบบแล้ว ให้นำ api_token ออกจากไฟล์กำหนดค่า (และยกเลิกการตั้งค่า SHIPYARD_API_TOKEN) ก่อนเข้าสู่ระบบ การติดตั้งที่โฮสต์เอง

หรือตั้งค่า Token ด้วยตนเอง

ตั้งค่า Shipyard API token ของคุณเป็นค่าของตัวแปรสภาพแวดล้อม SHIPYARD_API_TOKEN

คุณรับ token ได้จาก หน้าโปรไฟล์ของคุณ

ติดต่อเราได้ที่ support@shipyard.build หากต้องการเปิดใช้ API สำหรับองค์กรของคุณ หากมีคำถามอื่น ๆ เข้าร่วมชุมชนของเราได้ทาง Slack

shipyard set token

อีกทางเลือกหนึ่งคือใช้ไฟล์กำหนดค่าที่จัดเก็บไว้ใน $HOME/.shipyard/config.yaml ตามค่าเริ่มต้น เมื่อเรียกใช้ CLI ครั้งแรก ระบบจะสร้างไฟล์กำหนดค่าเปล่าเริ่มต้นขึ้นมา ซึ่งคุณสามารถแก้ไขได้

คุณยังระบุพาธไฟล์กำหนดค่าที่ไม่ใช่ค่าเริ่มต้นได้ด้วยการเพิ่มแฟล็ก --config {path} ให้กับคำสั่งใดก็ได้

เพิ่มค่าการกำหนดค่าต่าง ๆ ลงในไฟล์กำหนดค่า และตรวจสอบว่าไฟล์เป็นไปตามไวยากรณ์ YAML ตัวอย่างเช่น:

api_token: <your-token>
org: <your-non-default-org>

ค่าของตัวแปรสภาพแวดล้อมจะเขียนทับค่าที่เกี่ยวข้องในไฟล์กำหนดค่า

การใช้งานเบื้องต้น

ดูองค์กรทั้งหมดที่คุณเป็นสมาชิก

shipyard get orgs

ตั้งค่าองค์กรเริ่มต้นส่วนกลาง

shipyard set org {org-name}

ดูองค์กรที่กำหนดค่าไว้ในปัจจุบัน

shipyard get org

แสดงรายการสภาพแวดล้อมทั้งหมด

shipyard get environments

แฟล็กที่ใช้ได้:

ชื่อคำอธิบายประเภทค่าเริ่มต้น
branchกรองตามชื่อ branchstring
deletedแสดงสภาพแวดล้อมที่ถูกลบbooleanfalse
jsonพิมพ์ผลลัพธ์ JSON ทั้งหมดbooleanfalse
nameกรองตามชื่อแอปพลิเคชันstring
org-nameกรองตามชื่อองค์กร หากคุณเป็นสมาชิกหลายองค์กรstringองค์กรเริ่มต้นของคุณ
pageหมายเลขหน้าที่ร้องขอint1
page-sizeขนาดหน้าที่ร้องขอint20
pull-request-numberกรองตามหมายเลข pull requeststring
repo-nameกรองตามชื่อ repostring

ตัวอย่าง:

  • แสดงสภาพแวดล้อมทั้งหมดที่กำลังทำงานกับ repo flask-backend บน branch main:
shipyard get environments --repo-name flask-backend --branch main
  • แสดงสภาพแวดล้อมที่ถูกลบทั้งหมด:
shipyard get environments --deleted

ดูรายละเอียดของสภาพแวดล้อมที่ระบุด้วย UUID

shipyard get environment {environment_uuid}

แฟล็กที่ใช้ได้:

ชื่อคำอธิบายประเภทค่าเริ่มต้น
jsonพิมพ์ผลลัพธ์ JSON ทั้งหมดbooleanfalse
orgองค์กรของสภาพแวดล้อม หากคุณเป็นสมาชิกหลายองค์กรstringองค์กรเริ่มต้นของคุณ
bypass-tokenพิมพ์เฉพาะ bypass token ของสภาพแวดล้อม สำหรับสคริปต์booleanfalse

--bypass-token ช่วยให้สคริปต์ใช้ token ได้โดยไม่ต้องให้ใครพิมพ์หรือแสดง token:

SHIPYARD_TOKEN=$(shipyard get environment {environment_uuid} --bypass-token) && \
  export SHIPYARD_TOKEN && curl -b "shipyard_token=$SHIPYARD_TOKEN" https://your-environment-url/

หยุดสภาพแวดล้อมที่กำลังทำงาน

shipyard stop environment {environment_uuid}

เริ่มสภาพแวดล้อมที่หยุดอยู่ใหม่

shipyard restart environment {environment_uuid}

ยกเลิกบิลด์ที่กำลังดำเนินการของสภาพแวดล้อม

shipyard cancel environment {environment_uuid}

สร้างสภาพแวดล้อมใหม่

shipyard rebuild environment {environment_uuid}

กู้คืนสภาพแวดล้อมที่ถูกลบ

shipyard revive environment {environment_uuid}

ดีพลอยสภาพแวดล้อมแบบแยกอิสระ

สร้างสภาพแวดล้อมใหม่ที่เป็นอิสระ ("detached") โดยโคลนบิลด์ของแอปพลิเคชันที่มีอยู่ องค์กรของคุณต้องเปิดใช้ detached environments

shipyard detached deploy {application_build_uuid} --name my-detached-env

กำหนด branch แยกตาม repo และควบคุมว่าจะสร้าง detached environment ใหม่เมื่อมีคอมมิตใหม่หรือไม่:

# Override the branch for a repo, and never rebuild on new commits
shipyard detached deploy {application_build_uuid} --name my-detached-env --branch web=feature-x --build-on-commit never

# Per-repo build-on-commit settings (always | inherit | never)
shipyard detached deploy {application_build_uuid} --build-on-commit-for web=always --build-on-commit-for api=never

ลบ detached environment

ระบุ UUID ของสภาพแวดล้อม หรือ UUID ของ application build ใดก็ได้ในสภาพแวดล้อมนั้น (UUID ที่อยู่ใน URL ของหน้ารายละเอียดบิลด์) วิธีนี้ใช้ลบได้เฉพาะ detached environments เท่านั้น ระบบจะปฏิเสธ base, pull request หรือ remote environment หากลบสภาพแวดล้อมที่ถูกลบไปแล้ว ระบบจะดำเนินการสำเร็จอีกครั้ง

shipyard detached delete {environment_uuid}
shipyard detached delete {application_build_uuid}

ดูบริการและพอร์ตที่เปิดเผยทั้งหมดของสภาพแวดล้อม

shipyard get services --env {environment_uuid}

Exec เข้าไปยังบริการของสภาพแวดล้อมที่กำลังทำงาน

เรียกใช้คำสั่งใดก็ได้พร้อมอาร์กิวเมนต์และแฟล็กใดก็ได้ในบริการที่กำหนดของสภาพแวดล้อมที่ กำลังทำงาน ส่งอาร์กิวเมนต์ของคำสั่ง หลังเครื่องหมายทับคู่ เซสชันจะป้องกันไม่ให้สภาพแวดล้อมหยุดทำงานเนื่องจากไม่มีการใช้งาน เฉพาะระหว่างที่คุณพิมพ์ในเซสชัน และนานสูงสุด 12 ชั่วโมง

shipyard exec --env {environment_uuid} --service {service_name} -- bash

ส่งต่อพอร์ตของบริการในสภาพแวดล้อมที่กำลังทำงาน

shipyard port-forward --env {environment_uuid} --service {service_name} --ports {local_port}:{service_container_port}

การเปิด port-forward หรือ logs --follow ไว้จะป้องกันไม่ให้สภาพแวดล้อมหยุดทำงานเนื่องจากไม่มีการใช้งาน ได้นานสูงสุด 12 ชั่วโมง

ดูบันทึกของบริการในสภาพแวดล้อมที่กำลังทำงาน

shipyard logs --env {environment_uuid} --service {service_name}

เข้าใช้งานสภาพแวดล้อม

shipyard visit {environment_uuid}

แฟล็กที่ใช้ได้:

ชื่อคำอธิบายประเภทค่าเริ่มต้น
followติดตามผลลัพธ์ของบันทึกbooleanfalse
tailจำนวนบรรทัดบันทึกล่าสุดที่จะแสดงint3000

ทำงานกับ volumes

แสดงรายการ volumes ทั้งหมดในสภาพแวดล้อม

shipyard get volumes --env {environment_uuid}

แสดงรายการ volume snapshots ทั้งหมดในสภาพแวดล้อม

shipyard get snapshots --env {environment_uuid}

รีเซ็ต volume ในสภาพแวดล้อม

shipyard reset volume --env {environment_uuid}

สร้าง snapshot ในสภาพแวดล้อม

shipyard create snapshot --env {environment_uuid}

โหลด volume snapshot ในสภาพแวดล้อม

shipyard load snapshot --env {environment_uuid} --sequence-number {n}

อัปโหลดไฟล์ไปยัง volume ในสภาพแวดล้อม

shipyard upload volume --env {environment_uuid} --volume {volume} --file {filepath.bz2}

เรียกใช้ REST API โดยตรง

shipyard api /api/v1/environment
shipyard api -X PUT /api/v1/environment/{environment_uuid}/env-vars --input body.json

พาธต้องขึ้นต้นด้วย /api/v1 หรือ /api/v2; ระบบจะเพิ่ม token และองค์กรให้คุณ ข้อมูลรับรอง bypass_token และ kubeconfig จะถูกปกปิด เว้นแต่คุณจะส่ง --include-secrets

เชื่อมต่อกับ telepresence

shipyard telepresence connect --env {environment_uuid}

จากนั้น คุณจะสามารถสื่อสารกับพ็อดทั้งหมดในเนมสเปซได้โดยตรง คุณ อาจ ต้องใช้ชื่อโฮสต์ของเนมสเปซเพื่อสื่อสารกับบริการ ซึ่งดูได้จาก telepresence status ในช่อง Namespace ตัวอย่างเช่น หากต้องการสื่อสารกับ redis ให้ใช้ redis.shipyard-app-build-{uuid}

สร้างไฟล์ปฏิบัติการจากโค้ด:

คุณสามารถสร้างไฟล์ปฏิบัติการได้โดยเรียกใช้คำสั่งต่อไปนี้:

make

วิธีเรียกใช้ไฟล์ปฏิบัติการใหม่นี้:

./shipyard

เปิดใช้การเติมคำสั่งอัตโนมัติ

Bash

สคริปต์นี้ต้องใช้แพ็กเกจ bash-completion หากยังไม่ได้ติดตั้ง คุณสามารถติดตั้งได้ผ่านตัวจัดการแพ็กเกจของระบบปฏิบัติการ หากต้องการโหลดการเติมคำสั่งในเซสชันเชลล์ปัจจุบัน:

source <(shipyard completion bash)

หากต้องการโหลดการเติมคำสั่งในทุกเซสชันใหม่ ให้เรียกใช้คำสั่งต่อไปนี้หนึ่งครั้ง

บน Linux:

shipyard completion bash > /etc/bash_completion.d/shipyard

บน macOS:

shipyard completion bash > $(brew --prefix)/etc/bash_completion.d/shipyard

Zsh

หากยังไม่ได้เปิดใช้การเติมคำสั่งของเชลล์ในสภาพแวดล้อมของคุณ คุณจะต้องเปิดใช้ก่อน โดยเรียกใช้คำสั่งต่อไปนี้หนึ่งครั้ง:

echo "autoload -U compinit; compinit" >> ~/.zshrc

หากต้องการโหลดการเติมคำสั่งในเซสชันเชลล์ปัจจุบัน:

source <(shipyard completion zsh); compdef _shipyard shipyard

หากต้องการโหลดการเติมคำสั่งในทุกเซสชันใหม่ ให้เรียกใช้คำสั่งต่อไปนี้หนึ่งครั้ง

บน Linux:

shipyard completion zsh > "${fpath[1]}/_shipyard"

บน macOS:

shipyard completion zsh > $(brew --prefix)/share/zsh/site-functions/_shipyard

คุณจะต้องเริ่มเชลล์ใหม่เพื่อให้การตั้งค่านี้มีผล

Fish

หากต้องการโหลดการเติมคำสั่งในเซสชันเชลล์ปัจจุบัน:

$ shipyard completion fish | source

หากต้องการโหลดการเติมคำสั่งในแต่ละเซสชัน ให้เรียกใช้คำสั่งหนึ่งครั้ง:

shipyard completion fish > ~/.config/fish/completions/shipyard.fish

PowerShell

หากต้องการโหลดการเติมคำสั่งในเซสชันเชลล์ปัจจุบัน:

shipyard completion powershell | Out-String | Invoke-Expression

หากต้องการโหลดการเติมคำสั่งในทุกเซสชันใหม่ ให้เรียกใช้:

shipyard completion powershell > shipyard.ps1

และเพิ่มการโหลดไฟล์นี้จากโปรไฟล์ PowerShell ของคุณ

ใช้ Shipyard จากผู้ช่วย AI (MCP)

shipyard mcp serve เรียกใช้เซิร์ฟเวอร์ Model Context Protocol เพื่อให้ผู้ช่วยอย่าง Claude Code, Claude Desktop, Cursor หรือ Codex สามารถแสดงรายการ ตรวจสอบ สร้างใหม่ และกำหนดค่าสภาพแวดล้อมของคุณ อ่านบันทึกบริการ จัดการวอลุ่ม และตรวจสอบการเปลี่ยนแปลงที่พุชแล้วกับสภาพแวดล้อมของคุณได้

เมื่อ CLI เข้าสู่ระบบแล้ว ให้เพิ่มลงใน Claude Code:

claude mcp add shipyard -- shipyard mcp serve

จากนั้นลองถามคำถาม เช่น:

  • "มีสภาพแวดล้อมใดกำลังทำงานอยู่สำหรับรีโพ web?"
  • "แสดงบันทึกของบริการ api ในสภาพแวดล้อมของสาขาของฉัน"
  • "เหตุใดบิลด์ล่าสุดของสภาพแวดล้อมนี้จึงล้มเหลว?"
  • "ตั้งค่า FEATURE_FLAGS=beta ในสภาพแวดล้อมนี้ แล้วเริ่มบริการ worker ใหม่"
  • "ฉันเพิ่งพุชไป ตรวจสอบการเปลี่ยนแปลงกับสภาพแวดล้อมของมัน" (หรือ /mcp__shipyard__verify)

ดู คู่มือ MCP สำหรับวิธีตั้งค่าในไคลเอนต์อื่น การกำหนดค่า รายการเครื่องมือทั้งหมด พรอมป์ต์ verify และการแก้ไขปัญหา