
Code-Sniff-AI เป็นเชลล์สคริปต์ที่ตรวจสอบการเปลี่ยนแปลงรหัสโดยอัตโนมัติ Git diff ใช้เพื่อแยกเนื้อหาที่เปลี่ยนแปลงสำหรับรูปแบบไฟล์บางรูปแบบและการตรวจสอบรหัสที่เปลี่ยนแปลงผ่าน API
code-sniff-ai
├── .env
├── .env.sample
├── .gitignore
├── README.md
├── example
│ ├── javascript
│ │ └── HelloWorld.js
│ └── python
│ └── hello_world.py
└── run-review.sh
สร้างไฟล์ .env โดยอ้างถึงไฟล์ .env.sample และตั้งค่าตัวแปรสภาพแวดล้อมที่จำเป็น
สคริปต์นี้ต้องใช้ jq หากไม่ได้ติดตั้ง jq คุณสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้
Ubuntu/Linux :
sudo apt-get install jqmacos :
brew install jq Windows : คุณสามารถดาวน์โหลดและใช้ jq.exe ได้จากหน้า JQ Official Release บันทึกไฟล์ที่ดาวน์โหลดไปยังเส้นทางที่เหมาะสมและเพิ่มเส้นทางไปยังเส้นทางระบบ
git add .run-review.sh script เพื่อดำเนินการตรวจสอบรหัสสำหรับไฟล์ที่มีสี ./run-review.shสคริปต์นี้ควรทำงานบนไดเรกทอรีรากของที่เก็บ Git และตรวจสอบการเปลี่ยนแปลงที่จัดฉากใน Git
โดยทั่วไปเราจะตรวจสอบไฟล์ของส่วนขยายต่อไปนี้ คุณสามารถตั้งค่าเป็นตัวแปรสภาพแวดล้อมได้ตามต้องการ
ไฟล์ example/javascript/HelloWorld.js มีตัวอย่างคลาส JavaScript อย่างง่าย
class HelloWorld {
constructor ( ) {
this . message = "Hello, World!" ;
}
sayHello ( ) {
console . log ( this . message ) ;
}
} รหัสนี้คือ " sayHello โลก!" นี่คือคลาสง่าย ๆ ที่ส่งข้อความไปยังคอนโซล
ไฟล์ example/python/hello_world.py มีตัวอย่างคลาส Python อย่างง่าย
class HelloWorld :
def __init__ ( self ):
self . message = 'Hello, World!'
def say_hello ( self ):
print ( self . message )
if __name__ == "__main__" :
hello = HelloWorld ()
hello . say_hello () รหัสนี้คือ " say_hello โลก!" นี่คือคลาสง่าย ๆ ที่ส่งข้อความไปยังคอนโซล
ต้องดาวน์โหลดโมเดลที่คุณต้องการใช้ใน Ollama โดยใช้คำสั่ง ollama pull ล่วงหน้า ตัวอย่างเช่นในการใช้รุ่น gemma2 ให้เรียกใช้คำสั่งด้านล่างเพื่อดาวน์โหลดรุ่น:
ollama pull gemma2 เรากำลังศึกษาวิธีการรวม code-sniff-ai เข้ากับ GIT Workflow เพื่อให้การตรวจสอบรหัสอัตโนมัติมีประสิทธิภาพมากขึ้น ตัวอย่างเช่นเรากำลังมองหาวิธีที่จะทริกเกอร์การตรวจสอบรหัสโดยอัตโนมัติเมื่อผลักไปยังสาขาเฉพาะหรือเรียกใช้รีวิวอัตโนมัติเมื่อสร้าง PR การบูรณาการดังกล่าวสามารถปรับปรุงกระบวนการพัฒนาโดยรวมไว้ในท่อส่ง CI/CD
เรากำลังศึกษาความเป็นไปได้ในการใช้วิศวกรรมที่รวดเร็วเพื่อปรับปรุงความแม่นยำและคุณภาพของการตรวจสอบรหัส เรากำลังทดลองกับมาตรการการกำหนดค่าที่รวดเร็วเพื่อให้โมเดล AI สามารถให้ข้อเสนอแนะที่ซับซ้อนมากขึ้นซึ่งจะเพิ่มประสิทธิภาพของกระบวนการตรวจสอบรหัส
หากคุณต้องการมีส่วนร่วมส้อมโครงการสร้างสาขาใหม่สะท้อนการเปลี่ยนแปลงและส่งคำขอเต็มรูปแบบ
โครงการนี้ได้รับใบอนุญาตที่มีใบอนุญาต MIT