PROMPTR เป็นเครื่องมือ CLI ที่ช่วยให้คุณใช้ภาษาอังกฤษธรรมดาเพื่อแนะนำโมเดล OpenAI LLM เพื่อทำการเปลี่ยนแปลง codebase ของคุณ การเปลี่ยนแปลงจะถูกนำไปใช้โดยตรงกับไฟล์ที่คุณอ้างอิงจากพรอมต์ของคุณ
promptr [options] -p "your instructions" <file1> <file2> <file3> ...
ฉันพบว่านี่เป็นเวิร์กโฟลว์ที่ดี:
-p : promptr -p my_prompt.txtPROMPTR จะใช้รหัสของรุ่นโดยตรงกับไฟล์ของคุณ ใช้ GIT UI ที่คุณชื่นชอบเพื่อตรวจสอบผลลัพธ์
ด้านล่างของ PR เป็นตัวอย่างที่ดีของสิ่งที่สามารถทำได้โดยใช้ PROMPTR คุณสามารถค้นหาลิงก์ไปยังแต่ละบุคคลและพรอมต์ที่สร้างขึ้นในคำอธิบาย PR
PROMPTR รองรับ templating โดยใช้ LiquidJS ซึ่งช่วยให้ผู้ใช้สามารถรวมคำสั่ง templating ภายในไฟล์พรอมต์ของพวกเขา คุณลักษณะนี้ช่วยเพิ่มความยืดหยุ่นและความสามารถในการนำกลับมาใช้ใหม่โดยเฉพาะอย่างยิ่งเมื่อทำงานในโครงการขนาดใหญ่ที่มีรูปแบบหรือมาตรฐานซ้ำ ๆ
โครงการสามารถมีหนึ่งหรือมากกว่าหนึ่ง "รวม" - ตัวอย่างของรหัสหรือคำแนะนำ - สามารถรวมได้จากไฟล์พร้อมท์ สิ่งเหล่านี้รวมถึงอาจมีมาตรฐานเฉพาะโครงการคำแนะนำหรือรูปแบบรหัสทำให้ผู้ใช้สามารถรักษาความสอดคล้องระหว่างรหัสฐานของพวกเขา
ตัวอย่างเช่นคุณอาจมีไฟล์รวมชื่อ _poject.liquid พร้อมเนื้อหาต่อไปนี้:
This project uses Node version 18.
Use yarn for dependency management.
Use import not require in Javascript.
Don't include `module.exports` at the bottom of Javascript classes.
Alphabetize method names and variable declarations. ในไฟล์พรอมต์ของคุณคุณสามารถใช้ฟังก์ชั่น render จาก LiquidJs เพื่อรวมไฟล์นี้รวมอยู่ในไฟล์พร้อมท์ที่คุณกำลังทำงานด้วย:
{% render '_project.liquid' %}
// your prompt hereวิธีการนี้ช่วยให้การพัฒนาของสามารถใช้ซ้ำได้รวมถึงไฟล์ที่สามารถแชร์ได้ในหลายโครงการหรือภายในส่วนต่าง ๆ ของโครงการเดียวกัน
มาตรฐานการเข้ารหัสทั่วทั้งโครงการ : สร้างไฟล์รวมที่มีความคิดเห็นสรุปมาตรฐานการเข้ารหัสและรวมไว้ในไฟล์รหัสใหม่ทุกไฟล์สำหรับโครงการ
รหัสหม้อไอน้ำ : พัฒนาชุดข้อมูลโค้ดหม้อไอน้ำสำหรับส่วนต่าง ๆ ของแอปพลิเคชัน (เช่นคำจำกัดความของรุ่นจุดสิ้นสุด API) และรวมถึงพวกเขาตามต้องการ
คำแนะนำที่ใช้ร่วมกัน : รักษาชุดคำแนะนำหรือแนวทางสำหรับงานเฉพาะ (เช่นวิธีการจัดทำเอกสารฟังก์ชั่น) และรวมไว้ในไฟล์พรอมต์ที่เกี่ยวข้อง
ด้วยการใช้ประโยชน์จากคุณลักษณะของ templating วิศวกรที่รวดเร็วสามารถลดความซ้ำซ้อนอย่างมีนัยสำคัญและทำให้แน่ใจว่ามีความสอดคล้องในการสร้างที่รวดเร็วนำไปสู่การปรับเปลี่ยนที่มีประสิทธิภาพและเป็นมาตรฐานมากขึ้นไปยัง codebase
| ตัวเลือก | คำอธิบาย |
|---|---|
-p, --prompt <prompt> | ระบุพรอมต์ที่จะใช้ในโหมดที่ไม่โต้ตอบ สามารถระบุเส้นทางหรือ URL - ในกรณีนี้เนื้อหาที่เส้นทางหรือ URL ที่ระบุจะใช้เป็นพรอมต์ พรอมต์สามารถใช้ประโยชน์จากระบบเทมเพลต LiquidJS |
-m, --model <model> | ธงเสริมเพื่อตั้งค่ารุ่นค่าเริ่มต้นเป็น gpt-4o การใช้ค่า "GPT3" จะใช้รุ่น gpt-3.5-turbo |
-d, --dry-run | ธงบูลีนเสริมที่สามารถใช้ในการเรียกใช้เครื่องมือในโหมดวิ่งแห้งซึ่งเฉพาะพรอมต์ที่จะถูกส่งไปยังรุ่นจะปรากฏขึ้น ไม่มีการเปลี่ยนแปลงระบบไฟล์ของคุณเมื่อใช้ตัวเลือกนี้ |
-i, --interactive | ธงบูลีนเสริมที่เปิดใช้งานโหมดอินเทอร์แอคทีฟซึ่งผู้ใช้สามารถให้อินพุตแบบโต้ตอบได้ หากไม่ได้ตั้งค่าสถานะนี้เครื่องมือจะทำงานในโหมดที่ไม่โต้ตอบ |
| `-t,-template <templatename | templatepath |
-x | ธงบูลีนเสริม PROMPTR แยกวิเคราะห์การตอบสนองของโมเดลและใช้การดำเนินการที่ได้กับระบบไฟล์ของคุณเมื่อใช้เทมเพลตเริ่มต้น คุณจะต้องผ่านการตั้งค่าสถานะ -x หากคุณสร้างเทมเพลตของคุณเองและคุณต้องการให้ PROMPTR แยกวิเคราะห์และใช้เอาต์พุตในลักษณะเดียวกับที่เทมเพลต "Refactor" ในตัวถูกแยกวิเคราะห์และนำไปใช้กับระบบไฟล์ของคุณ |
-o, --output-path <outputPath> | ธงสตริงเสริมที่ระบุพา ธ ไปยังไฟล์เอาต์พุต หากไม่ได้ตั้งค่าสถานะนี้เอาต์พุตจะถูกพิมพ์ไปยัง stdout |
-v, --verbose | ธงบูลีนเสริมที่ช่วยให้เอาต์พุต verbose ให้ข้อมูลรายละเอียดเพิ่มเติมระหว่างการดำเนินการ |
-dac, --disable-auto-context | ป้องกันไฟล์ที่อ้างอิงในพรอมต์จากการรวมอยู่ในบริบทที่ส่งไปยังโมเดลโดยอัตโนมัติ |
--version | แสดงเวอร์ชันและออก |
พารามิเตอร์เพิ่มเติมสามารถระบุเส้นทางไปยังไฟล์ที่จะรวมเป็นบริบทในพรอมต์ พารามิเตอร์ควรคั่นด้วยพื้นที่
yarn global add @ifnotnowwhen/promptr
npm install -g @ifnotnowwhen/promptr
คุณสามารถติดตั้ง PROMPTR ได้โดยการคัดลอกไบนารีสำหรับรุ่นปัจจุบันไปยังเส้นทางของคุณ รองรับ MacOS เท่านั้นในขณะนี้
ตัวแปรสภาพแวดล้อมที่เรียกว่า OPENAI_API_KEY คาดว่าจะมีรหัสลับ OpenAI API ของคุณ
npm run bundle
npm run build:<platform win|macos|linux>
npm run test-binary
PROMPTR เปิดตัวภายใต้ใบอนุญาต MIT