GitDiagram
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Build native Linux packages (.deb/.rpm/.apk/.pkg.tar.zst) from a single PKGBUILD via MCP.เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 14 พ.ย. 2569
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องลง Docker ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
คัดลอกข้อความนี้ไปวางในแชตของ Claude AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ YAP — Yet Another Packager ให้ Claude ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Docker ด้วยคำสั่ง docker --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://www.docker.com/products/docker-desktop/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "yap": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/m0rf30/yap-mcp:2.9.1" ] } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ YAP — Yet Another Packager ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
docker --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: ลง Docker Desktop: Mac เปิดไฟล์ Docker.dmg แล้วลากไอคอนไปที่ Applications (เลือกรุ่น Apple silicon หรือ Intel ให้ตรงเครื่อง) · Windows ดับเบิลคลิก Docker Desktop Installer.exe · ลงเสร็จเปิดแอป Docker Desktop ทิ้งไว้ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: docker --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Docker
SettingsDeveloperEdit Config
{
"mcpServers": {
"yap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/m0rf30/yap-mcp:2.9.1"
]
}
}
}ใช้ YAP — Yet Another Packager บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ YAP — Yet Another Packager หรือมีชื่อเครื่องมือของ YAP — Yet Another Packager ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
YAP_VERBOSE ตั้งเป็น 1 เพื่อบันทึกเฟรม JSON-RPC ระดับ debug ไปยัง stderr คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ YAP — Yet Another Packager ไม่ได้
YAP — Yet Another Packager ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ YAP — Yet Another Packager ได้
ข · ตัวอื่นในหมวด เครื่องมือนักพัฒนา ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Docker ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Claude Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ YAP — Yet Another Packager ให้ Claude Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Docker ด้วยคำสั่ง docker --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://www.docker.com/products/docker-desktop/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): claude mcp add --scope user yap -- docker run -i --rm ghcr.io/m0rf30/yap-mcp:2.9.1 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ YAP — Yet Another Packager ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
docker --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: ลง Docker Desktop: Mac เปิดไฟล์ Docker.dmg แล้วลากไอคอนไปที่ Applications (เลือกรุ่น Apple silicon หรือ Intel ให้ตรงเครื่อง) · Windows ดับเบิลคลิก Docker Desktop Installer.exe · ลงเสร็จเปิดแอป Docker Desktop ทิ้งไว้ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: docker --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Docker
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add --scope user yap -- docker run -i --rm ghcr.io/m0rf30/yap-mcp:2.9.1ต้องเห็น YAP — Yet Another Packager ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ YAP — Yet Another Packager บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ YAP — Yet Another Packager หรือมีชื่อเครื่องมือของ YAP — Yet Another Packager ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
YAP_VERBOSE ตั้งเป็น 1 เพื่อบันทึกเฟรม JSON-RPC ระดับ debug ไปยัง stderr คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องลง Docker ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ Cursor AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ YAP — Yet Another Packager ให้ Cursor ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Docker ด้วยคำสั่ง docker --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://www.docker.com/products/docker-desktop/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "mcpServers": { "yap": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/m0rf30/yap-mcp:2.9.1" ] } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ YAP — Yet Another Packager ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
docker --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: ลง Docker Desktop: Mac เปิดไฟล์ Docker.dmg แล้วลากไอคอนไปที่ Applications (เลือกรุ่น Apple silicon หรือ Intel ให้ตรงเครื่อง) · Windows ดับเบิลคลิก Docker Desktop Installer.exe · ลงเสร็จเปิดแอป Docker Desktop ทิ้งไว้ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: docker --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Docker
ใช้ YAP — Yet Another Packager บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ YAP — Yet Another Packager หรือมีชื่อเครื่องมือของ YAP — Yet Another Packager ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
YAP_VERBOSE ตั้งเป็น 1 เพื่อบันทึกเฟรม JSON-RPC ระดับ debug ไปยัง stderr คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Docker ในเครื่องก่อน (ทำครั้งเดียว)
คัดลอกข้อความนี้ไปวางในแชตของ VS Code AI จะเช็กเครื่อง บอกว่าจะแก้ไฟล์ไหน และรอคุณตกลงก่อนทุกครั้ง
ช่วยติดตั้ง MCP server ชื่อ YAP — Yet Another Packager ให้ VS Code ในเครื่องนี้ ทำตามลำดับ 1) เช็กว่ามี Docker ด้วยคำสั่ง docker --version ถ้าไม่มี ให้บอกฉันไปลงจาก https://www.docker.com/products/docker-desktop/ ห้ามลงเอง 2) ใช้คอนฟิกนี้เท่านั้น (ผ่านตัวตรวจของ PopNx MCP แล้ว): { "servers": { "yap": { "type": "stdio", "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/m0rf30/yap-mcp:2.9.1" ] } } } 3) บอก path เต็มของไฟล์ที่จะแก้ หรือคำสั่งที่จะรัน แล้วรอฉันตกลงก่อน 4) ไม่ต้องใช้คีย์ 5) ทำตามที่ตกลง แล้วตรวจว่าเครื่องมือของ YAP — Yet Another Packager ขึ้นจริงข้อความนี้ไม่มีคีย์ของคุณ ถ้าต้องใช้คีย์ AI จะบอกให้คุณวางเองในไฟล์หรือช่องของแอป
ลงไว้แล้วหรือยัง? เช็กก่อน · เปิด Terminal แล้วพิมพ์คำสั่งนี้ กด Enter
docker --versionMac: กด ⌘ + Space พิมพ์ Terminal แล้วกด Enter
Windows: เปิดเมนู Start พิมพ์ Windows PowerShell แล้วกด Open
ยังไม่ได้ลง: ลง Docker Desktop: Mac เปิดไฟล์ Docker.dmg แล้วลากไอคอนไปที่ Applications (เลือกรุ่น Apple silicon หรือ Intel ให้ตรงเครื่อง) · Windows ดับเบิลคลิก Docker Desktop Installer.exe · ลงเสร็จเปิดแอป Docker Desktop ทิ้งไว้ ไม่ต้องใช้คำสั่ง curl
ลงเสร็จแล้ว ปิด Terminal เปิดใหม่ แล้วพิมพ์คำสั่งเดิมอีกครั้ง ต้องขึ้นเลขรุ่น: docker --version
ลงครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Docker
ใช้ YAP — Yet Another Packager บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ YAP — Yet Another Packager หรือมีชื่อเครื่องมือของ YAP — Yet Another Packager ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
คำสั่งด้านบนใช้ได้เลยโดยไม่ต้องใส่ค่าเหล่านี้ ถ้าอยากปรับค่อยเพิ่มเองตามคำอธิบายของผู้ทำ
YAP_VERBOSE ตั้งเป็น 1 เพื่อบันทึกเฟรม JSON-RPC ระดับ debug ไปยัง stderr คำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
Claude Code
claude mcp add --scope user yap -- docker run -i --rm ghcr.io/m0rf30/yap-mcp:2.9.1Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"yap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/m0rf30/yap-mcp:2.9.1"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"yap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/m0rf30/yap-mcp:2.9.1"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"yap": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/m0rf30/yap-mcp:2.9.1"
]
}
}
}YAP_VERBOSE envคำอธิบายแปลอัตโนมัติ ชื่อตัวแปรคงตามต้นฉบับ ถ้าไม่แน่ใจให้ดูต้นฉบับ
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
oci: ghcr.io/m0rf30/yap-mcp:2.9.1ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 16 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub M0Rf30 ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 5 วันที่ผ่านมา
ใช้ GPL-3.0
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 5 วันที่ผ่านมา และส่งรุ่นล่าสุด (2.9.1) เข้า registry 7 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี GitDiagram, Appllama, Cloudflare MCP, Omnara, Repowise
หมวดเดียวกันจากผู้ทำคนอื่น ผ่านตัวตรวจคำสั่งแล้ว ตัวทางการขึ้นก่อน แล้วเรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Architecture diagrams, explanations and Mermaid source for public GitHub repositories.
Study screens, flows and paywalls from top-earning iOS apps, then build from what wins.
Cloudflare MCP servers
Deploy durable AI agents with Omnara, an open-source managed-agent platform.
Codebase intelligence for AI coding agents: graph, git history, docs, decisions, code health.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
YAP builds native packages for multiple GNU/Linux distributions from a single PKGBUILD specification. Write your package once; get .deb, .rpm, .apk, and .pkg.tar.zst out. All builds run in isolated OCI containers (Docker or Podman).
--parallelgpg binary required)yap publish uploads DEB/RPM (and APK/Pacman as raw files) to an OpenArtifact repositoryzstd/gzip/xz for DEB and RPMchangelog PKGBUILD field renders to native format per distroOne-liner (Linux/macOS, amd64/arm64):
curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh | sh
Pin a version or install only one tool:
curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh \
| sh -s -- --version v2.1.3 --tool yap
Manual download:
wget https://github.com/M0Rf30/yap/releases/latest/download/yap_Linux_x86_64.tar.gz
tar -xzf yap_Linux_x86_64.tar.gz sudo mv yap /usr/local/bin/ yap version
git clone https://github.com/M0Rf30/yap.git
cd yap make build sudo mv yap /usr/local/bin/
Requires Docker or Podman:
# Docker
sudo systemctl enable --now docker && sudo usermod -aG docker $USER
sudo systemctl enable --now podman
Create yap.json:
{
"name": "My Package", "description": "A sample package built with YAP", "buildDir": "/tmp/yap-build", "output": "artifacts", "projects": [ { "name": "my-package" } ] }
Create my-package/PKGBUILD:
pkgname=my-package
pkgver=1.0.0 pkgrel=1 pkgdesc="My awesome application" arch=('x86_64') license=('GPL-3.0') url="https://github.com/user/my-package" makedepends=('gcc' 'make') source=("https://github.com/user/my-package/archive/v${pkgver}.tar.gz") sha256sums=('SKIP')
build() { cd "${srcdir}/${pkgname}-${pkgver}" make }
package() { cd "${srcdir}/${pkgname}-${pkgver}" install -Dm755 my-package "${pkgdir}/usr/bin/my-package" install -Dm644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md" }
# Auto-detect host distro from /etc/os-release
yap build .
yap build ubuntu-jammy . yap build fedora-38 /path/to/project yap build --cleanbuild --no-makedeps ubuntu-jammy .
artifacts/
├── my-package_1.0.0-1_amd64.deb ├── my-package-1.0.0-1.x86_64.rpm ├── my-package-1.0.0-r1.apk └── my-package-1.0.0-1-x86_64.pkg.tar.zst
yap.json){
"name": "My Multi-Package Project", "description": "Project description", "buildDir": "/tmp/yap-builds", "output": "dist", "projects": [ { "name": "package-one", "install": true }, { "name": "package-two" } ] }
| Field | Required | Default | Description |
|---|---|---|---|
name | yes | — | Project collection name |
description | yes | — | Project collection description |
buildDir | yes | — | Build/working directory |
output | yes | — | Output directory for built packages |
projects | yes | — | Ordered array of packages to build |
projects[].name | yes | — | Sub-directory containing the package's PKGBUILD |
projects[].install | no | false | Install immediately after build so later packages can depend on it |
compressionDeb / compressionRpm | no | zstd | Per-format compression: zstd/gzip/xz |
rpmFormat | no | 4 | RPM package format: 4 (rpm 4.x+) or 6 (RPM v6, rpm 6.0+) |
signing | no | — | Signing config (see Package signing) |
repos | no | — | Extra package repositories to configure before resolving deps |
skipDeps | no | — | Package names to omit from makedepends |
targetArch | no | host | Cross-compilation target architecture |
parallel | no | false | Build independent packages in parallel (topo-sort) |
sbom | no | false | Generate SBOM sidecars |
sbomFormat | no | both | cyclonedx/spdx/both |
publish | no | — | Defaults for yap publish (see Publishing); never holds the token |
Build ordering between packages comes from the install flag and each PKGBUILD's depends/makedepends — there is no yap.json-level depends field. See yap.schema.json for the complete spec.
A JSON Schema for yap.json ships at the repo root: yap.schema.json. It documents every supported field (compression, signing, repos, SBOM, cross-compilation, etc.). Reference it from your yap.json for autocomplete and inline validation in editors that support JSON Schema:
{
"$schema": "https://www.schemastore.org/yap.json", "name": "My Multi-Package Project", "...": "..." }
The schema is published on SchemaStore, so editors (VS Code, JetBrains, Neovim, …) validate any yap.json by filename automatically — no $schema line required.
Use __ (double underscore) to override any variable per distribution. Priority (highest wins):
| Priority | Syntax | Example |
|---|---|---|
| 4+ | arch + distro | depends_x86_64__ubuntu_noble |
| 4 | arch only | depends_x86_64 |
| 3 | distro + codename | depends__ubuntu_noble |
| 2 | distro | depends__ubuntu |
| 1 | package manager | depends__apt |
| 0 | base (fallback) | depends |
pkgdesc="My application"
pkgdescdebian="My application for Debian/Ubuntu" pkgdescubuntu_noble="My application optimized for Ubuntu 24.04"
makedepends=('gcc' 'make') makedependsapt=('build-essential' 'cmake') makedependsyum=('gcc-c++' 'cmake3') makedepends__ubuntu_noble=('build-essential' 'cmake' 'pkg-config' 'libtool')
depends=('glibc' 'gcc')
depends_x86_64=('glibc' 'gcc' 'lib32-glibc') depends_aarch64=('glibc' 'gcc' 'aarch64-linux-gnu-gcc')
source=('https://example.com/generic-source.tar.gz') source_x86_64=('https://example.com/x86_64-optimized.tar.gz') source_aarch64=('https://example.com/aarch64-source.tar.gz')
sha256sums=('generic_hash') sha256sums_x86_64=('x86_64_specific_hash') sha256sums_aarch64=('aarch64_specific_hash')
Supported architectures: x86_64, i686, aarch64, armv7h, armv6h, armv5, ppc64, ppc64le, s390x, mips, mipsle, riscv64, pentium4, any.
Supported (strongest to fastest): b2sums, sha512sums, sha384sums, sha256sums, sha224sums, cksums.
# BLAKE2b (recommended)
b2sums=('2f240f2a3d2f8d8f...')
cksums=('1234567890 2048576')
changelog=CHANGELOG.md
usr/share/doc/ /changelog.Debian.gz (Lintian-compliant)%changelog entries embedded in package metadata.CHANGELOG in the archivepre_install() { echo "Before install"; }
post_install() { systemctl daemon-reload; } pre_upgrade() { systemctl stop myservice; } post_upgrade() { systemctl start myservice; } pre_remove() { systemctl disable myservice; } post_remove() { systemctl daemon-reload; }
Emitted to .install only when at least one hook is defined. pre/post_upgrade fall back to pre/post_install when absent.
# DEB
section=utils priority=optional
group="Applications/System" requires_pre=('shadow-utils')
maintainer="John Doe "
| Distribution ID | Format | Package Manager |
|---|---|---|
almalinux | .rpm | yum |
alpine | .apk | apk |
amzn | .rpm | yum |
arch | .pkg.tar.zst | pacman |
centos | .rpm | yum |
debian | .deb | apt |
fedora | .rpm | yum |
linuxmint | .deb | apt |
opensuse-leap | .rpm | zypper |
opensuse-tumbleweed | .rpm | zypper |
ol | .rpm | yum |
pop | .deb | apt |
rhel | .rpm | yum |
rocky | .rpm | yum |
ubuntu | .deb | apt |
YAP ships a companion yap-mcp binary that exposes the same build pipeline over the Model Context Protocol, so any MCP-compatible LLM client (Claude Desktop, opencode, Cursor, Zed, Continue, Goose, …) can drive yap directly.
Quickstart (release binary):
curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh | sh
Or pull the standalone OCI image (also listed on the MCP registry as io.github.M0Rf30/yap):
docker pull ghcr.io/m0rf30/yap-mcp:latest
/plugin marketplace add M0Rf30/claude-plugins
/plugin install yap@M0Rf30
npx @smithery/cli install io.github.M0Rf30/yap --client claude
The full tool surface, per-client config snippets, security model, and troubleshooting are in [`MCP.md`](MCP.md). The shipped skill card at skills/yap/SKILL.md follows the Anthropic Agent Skills layout and gives agents a workflow cheatsheet for free. Distribution channels and release steps are documented in [`PUBLISHING.md`](PUBLISHING.md).
yap build [distro[-release]] <path> # Build packages (distro auto-detected if omitted)
yap zap [distro] # Clean build environment yap prepare [distro[-release]] # Prepare host build environment yap pull # Pull pre-built container images yap install # Install a built artifact yap publish [artifact-or-dir]... # Upload built packages to an OpenArtifact repository yap graph [path] # Show dependency graph yap list-distros # List supported distributions yap status # Show host status and runtime detection yap version # Show ver