aia
adalah utilitas baris perintah yang memfasilitasi interaksi dengan model AI. Ini mengotomatiskan pengelolaan perintah pra-komposisi dan menjalankan perintah AI generatif (Gen-AI) pada perintah tersebut dengan memanfaatkan peningkatan ukuran jendela konteks LLM modern.
Ini memanfaatkan permata prompt_manager
untuk mengelola perintah untuk mods
dan utilitas sgpt
CLI. Ini menggunakan "ripgrep" untuk mencari file prompt. Ia menggunakan fzf
untuk pemilihan cepat berdasarkan istilah pencarian dan pencocokan fuzzy.
Perubahan Terbaru : Lihat Changelog
Sekadar info... Saya bekerja di cabang
develop
untuk menghilangkan ketergantungan pada prosesor LLM backend seperti mods dan llm. Saya memfaktorkan ulang aia untuk menggunakan permata klien universal saya sendiri yang disebut ai_client yang memberikan akses ke semua model dan semua penyedia.
aia
Perintah Petunjuk Khususllm
sgpt
plz
Alat yang Kadang-kadang BergunaInstal permata dengan menjalankan:
gem install aia
Instal utilitas baris perintah dengan menjalankan:
brew install mods fzf ripgrep
Anda juga perlu membuat direktori di sistem file Anda tempat file teks prompt, parameter yang terakhir digunakan, dan file log penggunaan disimpan.
Siapkan variabel lingkungan sistem (envar) bernama "AIA_PROMPTS_DIR" yang menunjuk ke direktori prompt Anda. Standarnya ada di direktori HOME Anda yang bernama ".prompts". Envar "AIA_ROLES_DIR" menunjuk ke direktori peran Anda di mana Anda memiliki perintah yang menentukan peran berbeda yang Anda ingin LLM ambil ketika melakukan tugasnya. Direktori peran default ada di dalam direktori prompt. Namanya adalah "peran".
Anda mungkin juga ingin menginstal skrip penyelesaian untuk shell Anda. Untuk mendapatkan salinan skrip penyelesaian, lakukan:
aia --completion bash
fish
dan zsh
juga tersedia.
Laporan penggunaan yang diperoleh menggunakan -h
atau --help
diimplementasikan sebagai halaman man
standar. Anda dapat menggunakan keduanya --help --verbose
dari -h -v
bersama-sama untuk mendapatkan tidak hanya halaman manual aia
tetapi juga laporan penggunaan dari alat pemrosesan LLM backend
.
$ aia --help
Default konfigurasi aia
dapat digantikan oleh variabel lingkungan sistem (envars) dengan awalan "AIA_" diikuti dengan nama item konfigurasi juga dalam huruf besar. Semua item konfigurasi dapat diganti dengan cara ini oleh envar. Tabel berikut menunjukkan beberapa contoh.
Barang Konfigurasi | Nilai Bawaan | kunci envar |
---|---|---|
bagian belakang | mod | AIA_BACKEND |
config_file | nol | AIA_CONFIG_FILE |
men-debug | PALSU | AIA_DEBUG |
sunting | PALSU | AIA_EDIT |
tambahan | '' | AIA_EKSTRA |
kusut | PALSU | AIA_FUZZY |
log_file | ~/.prompts/_prompts.log | AIA_LOG_FILE |
penurunan harga | BENAR | AIA_MARKDOWN |
model | gpt-4-1106-pratinjau | AIA_MODEL |
keluar_file | STDOUT | AIA_OUT_FILE |
prompt_dir | ~/.prompt | AIA_PROMPTS_DIR |
pidato_model. | ini-1 | AIA_SPEECH_MODEL |
bertele-tele | PALSU | AIA_VERBOSE |
suara | paduan | AIA_VOICE |
Lihat hash @options
di file cli.rb
untuk daftar lengkap. Ada beberapa item konfigurasi yang belum tentu masuk akal untuk digunakan sebagai envar over-ride. Misalnya jika Anda menyetel export AIA_DUMP_FILE=config.yaml
maka aia
akan membuang konfigurasi saat ini config.yaml dan keluar setiap kali dijalankan hingga akhirnya Anda unset AIA_DUMP_FILE
Selain item konfigurasi ini untuk aia
parameter baris perintah opsional untuk utilitas pemrosesan prompt backend (mod dan sgpt) juga dapat diatur menggunakan envars dengan awalan "AIA_". Misalnya "export AIA_TOPP=1.0" akan menyetel opsi baris perintah "--topp 1.0" untuk utilitas mods
saat digunakan sebagai prosesor backend.
Menggunakan opsi --shell
memungkinkan aia
mengakses lingkungan shell terminal Anda dari dalam teks prompt.
aia
dapat mengganti referensi variabel lingkungan sistem (envar) apa pun di teks prompt dengan nilai envar. Pola seperti
Konten dinamis dapat dimasukkan ke dalam prompt menggunakan pola
Pertimbangkan kemampuan untuk menyesuaikan perintah dengan sistem operasi spesifik Anda:
As a system administration on a $(uname -v) platform what is the best way to [DO_SOMETHING]
atau masukkan konten dari file di direktori home Anda:
Given the following constraints $(cat ~/3_laws_of_robotics.txt) determine the best way to instruct my roomba to clean my kids room.
Saat Anda menggunakan opsi --shell
untuk memulai sesi obrolan, integrasi shell tersedia dalam perintah tindak lanjut Anda. Misalkan Anda memulai sesi obrolan menggunakan gulungan "Ruby Expert" dengan harapan dapat mengobrol tentang perubahan yang dapat dilakukan pada kelas tertentu, TETAPI Anda lupa menyertakan file sumber kelas sebagai bagian dari konteks saat Anda memulai. Anda dapat memasukkan ini sebagai perintah tindak lanjut untuk melanjutkan:
The class I want to chat about refactoring is this one: $(cat my_class.rb)
Itu memasukkan seluruh file sumber kelas ke dalam prompt tindak lanjut Anda. Anda dapat terus mengobrol dengan Asisten AI Anda tentang perubahan kelas.
Dimasukkannya konten dinamis melalui integrasi shell yang disediakan oleh opsi --shell
sangatlah penting. aia
juga menyediakan kekuatan penuh pemrosesan kode Ruby yang tertanam dalam teks prompt.
Opsi --erb
mengubah file teks prompt menjadi template ERB yang berfungsi penuh. Sintaks template Embedded Ruby (ERB) (2024) memberikan gambaran umum yang baik tentang sintaksis dan kekuatan ERB.
Sebagian besar situs web yang memiliki informasi tentang ERB akan memberikan contoh cara menggunakan ERB untuk menghasilkan konten HTML dinamis untuk aplikasi berbasis web. Itu adalah kasus penggunaan umum untuk ERB. aia
di sisi lain menggunakan ERB untuk menghasilkan teks prompt dinamis.
Dalam sesi obrolan apakah dimulai dengan opsi --chat
atau yang setara dengan arahan dalam file teks prompt berperilaku sedikit berbeda tanpa penetapan variabel lokal dan pengikatannya. Karena sesi obrolan menurut definisi memiliki banyak perintah, menyetel variabel lokal dalam satu perintah dan mengharapkannya tersedia pada perintah berikutnya tidak akan berfungsi. Anda perlu menggunakan variabel instan untuk menyelesaikan permintaan ini guna meminta pemindahan informasi.
Juga karena petunjuk tindak lanjut diharapkan berupa satu hal - kalimat atau paragraf - diakhiri dengan satu pengembalian, kemungkinan besar peningkatan ERB akan bermanfaat; tapi, Anda mungkin menemukan kegunaannya.
Arahan pemrosesan hilir ditambahkan ke permata prompt_manager
yang digunakan oleh au
pada versi 0.4.1. Direktif ini adalah baris dalam file teks prompt yang dimulai dengan "//" yang memiliki pola berikut:
//command parameters
Tidak ada spasi antara "//" dan perintah.
Saat Anda menggabungkan arahan prompt dengan parameter prompt dan substitusi shell envar, Anda bisa mendapatkan beberapa perintah komposisi yang kuat.
Berikut adalah contoh arahan generik murni.
//[DIRECTIVE_NAME] [DIRECTIVE_PARAMS]
Saat prompt dijalankan, Anda akan diminta memberikan nilai untuk setiap parameter. Anda dapat menjawab "shell" untuk nama direktif dan "calc 22/7" jika Anda menginginkan perkiraan PI yang buruk.
Coba file prompt ini:
//shell calc [FORMULA]
What does that number mean to you?
aia
Perintah Petunjuk Khusus Saat ini aia
hanya memiliki beberapa arahan yang dirinci di bawah ini.
Direktif //config
dalam file teks prompt digunakan untuk menyesuaikan lingkungan konfigurasi spesifik untuk prompt. Semua item konfigurasi tersedia untuk diubah nilainya. Urutan penetapan nilai untuk item konfigurasi dimulai dengan nilai default yang digantikan oleh nilai envar yang digantikan oleh nilai opsi baris perintah yang digantikan oleh nilai dari file konfigurasi.
//config
adalah cara terakhir dan terakhir untuk mengubah nilai item konfigurasi untuk prompt tertentu.
Opsi sakelar diperlakukan seperti boolean. Itu true
atau false
. Nama mereka dalam konteks direktif //config
selalu diakhiri dengan tanda "?" karakter - tanda tanya.
Untuk menyetel nilai sakelar menggunakan ``//config for example
--terse` atau `--chat` seperti ini:
//config chat? = true
//config terse? = true
Item konfigurasi seperti --out_file
atau --model
memiliki nilai terkait pada baris perintah. Untuk menetapkan nilai tersebut dengan direktif //config
lakukan seperti ini:
//config model = gpt-3.5-turbo
//config out_file = temp.md
//config backend = mods
BTW: "=" sepenuhnya merupakan opsi. Ini sebenarnya diabaikan apa adanya ":=" jika Anda memilih itu sebagai operator penugasan Anda. Juga jumlah spasi antara item dan nilai sepenuhnya berubah-ubah. Saya suka mengatur semuanya sehingga sintaksis ini sama berharganya:
//config model gpt-3.5-turbo
//config out_file temp.md
//config backend mods
//config chat? true
//config terse? true
//config model gpt-4
CATATAN: jika Anda menentukan nama item konfigurasi yang sama lebih dari satu kali dalam file prompt, itu adalah nama terakhir yang akan disetel ketika prompt akhirnya diproses melalui LLM. Misalnya pada contoh di atas gpt-4
akan menjadi model yang digunakan. Menjadi yang pertama tidak dihitung dalam kasus ini.
Contoh:
//include path_to_file
path_to_file
dapat berupa absolut atau relatif. Kalau relatif, bercokol di kalangan penyandang disabilitas. Jika path_to_file
menyertakan envars, opsi --shell
CLI harus digunakan untuk mengganti envar di direktif dengan nilai sebenarnya.
File yang disertakan akan mengecualikan komentar atau arahan apa pun. Diharapkan file tersebut akan menjadi file teks sehingga isinya dapat ditambahkan ke prompt yang ada; namun, jika file tersebut adalah file kode sumber (misal: file.rb), kode sumber akan disertakan NAMUN setiap baris komentar atau baris yang dimulai dengan "//" akan dikecualikan.
TODO: Pertimbangkan untuk menambahkan opsi baris perintah --include_dir
untuk menentukan tempat asal file relatif.
Contoh:
//ruby any_code_that_returns_an_instance_of_String
Arahan ini merupakan tambahan dari ERB. Pada titik ini arahan //ruby
dibatasi oleh pengikatan saat ini yang ada dalam metode AIA::Directives#ruby
. Oleh karena itu, sepertinya tidak akan banyak gunanya.
Namun, karena diimplementasikan sebagai eval(code)
sederhana maka ada potensi untuk digunakan seperti ini:
//ruby load(some_ruby_file); execute_some_method
Setiap eksekusi arahan //ruby
akan menjadi eksekusi baru dari metode AIA::Directives#ruby
sehingga Anda tidak dapat membawa variabel lokal dari satu pemanggilan ke pemanggilan lainnya; namun, Anda dapat melakukan sesuatu dengan variabel instan atau variabel global. Anda bahkan dapat menambahkan sesuatu ke objek AIA.config
untuk ditempelkan ke pemanggilan arahan berikutnya dalam konteks prompt yang sama.
Contoh:
//shell some_shell_command
Diharapkan bahwa perintah shell akan mengembalikan beberapa teks ke STDOUT yang akan ditunda ke teks prompt yang ada dalam file prompt.
Tidak ada batasan mengenai perintah shell. Misalnya jika Anda ingin melewati penghapusan komentar dan arahan dari suatu file, Anda dapat melakukan sesuatu seperti ini:
//shell cat path_to_file
Yang pada dasarnya melakukan hal yang sama dengan direktif //include
, hanya saja ia menggunakan seluruh konten file. Untuk jalur file relatif, hal yang sama berlaku. Jalur file akan relatif terhadap PWD.
Lihat kode sumber untuk arahan yang didukung oleh backend yang saat ini juga berbasis konfigurasi.
Misalnya mods
memiliki item konfigurasi topp
yang dapat diatur dengan arahan dalam file teks prompt secara langsung.
//topp 1.5
Jika mods
bukan backend, arahan //topp
akan diabaikan.
Saat Anda berada dalam sesi obrolan, Anda dapat menggunakan arahan sebagai perintah tindak lanjut. Misalnya jika Anda memulai sesi obrolan dengan opsi --terse
mengharapkan jawaban singkat dari backend; tetapi, kemudian Anda memutuskan ingin jawaban yang lebih komprehensif, Anda dapat melakukan ini:
//config terse? false
Arahan dijalankan dan perintah tindak lanjut baru dapat dimasukkan dengan respons yang lebih panjang yang dihasilkan dari backend.
Mengapa Anda perlu/ingin menggunakan serangkaian petunjuk dalam situasi batch. Mungkin Anda memiliki perintah kompleks yang melebihi batasan token model Anda untuk masukan sehingga Anda perlu memecahnya menjadi beberapa bagian. Atau misalkan ini adalah perintah sederhana namun jumlah token pada keluarannya terbatas dan Anda tidak mendapatkan respons lengkap seperti yang Anda cari.
Terkadang dibutuhkan serangkaian petunjuk untuk mendapatkan respons yang Anda inginkan. Respon dari satu prompt menjadi konteks untuk prompt berikutnya. Hal ini mudah dilakukan dalam sesi chat
jika Anda memasukkan dan menyesuaikan perintah secara manual hingga Anda mendapatkan respons yang Anda inginkan.
Jika Anda perlu melakukan ini secara teratur atau dalam satu batch, Anda dapat menggunakan aia
dan opsi baris perintah --next
dan --pipeline
.
Kedua opsi ini menentukan urutan ID prompt yang akan diproses. Kedua opsi tersedia untuk digunakan dalam file prompt menggunakan direktif //config
. Seperti semua arahan yang tertanam, Anda dapat memanfaatkan integrasi parameterisasi shell dan Ruby. Saya mulai merasa seperti TIm Tool man - lebih bertenaga!
Pertimbangkan kondisi di mana Anda memiliki 4 ID prompt yang perlu diproses secara berurutan. ID dan nama file prompt terkait adalah:
ID Promosi | File Cepat |
---|---|
satu. | satu.txt |
dua. | dua.txt |
tiga. | tiga.txt |
empat. | empat.txt |
export AIA_OUT_FILE=temp.md
aia one --next two
aia three --next four temp.md
atau di dalam setiap file prompt Anda menggunakan arahan konfigurasi:
one.txt contains //config next two
two.txt contains //config next three
three.txt contains //config next four
TETAPI jika Anda memiliki lebih dari dua perintah dalam urutan Anda, maka pertimbangkan untuk menggunakan opsi --pipeline.
Direktif //next adalah kependekan dari //config next
aia one --pipeline two,three,four
atau di dalam file prompt one.txt
gunakan arahan ini:
//config pipeline two,three,four
Direktif //pipeline adalah kependekan dari //config pipeline
Karena respons dari satu prompt dimasukkan ke dalam prompt berikutnya dalam urutan, alih-alih meminta semua prompt menuliskan responsnya ke file keluar yang sama, gunakan arahan berikut di dalam file prompt terkait:
File Cepat | Direktif |
---|---|
satu.txt | //config out_file satu.md |
dua.txt | //config out_file dua.md |
tiga.txt | //config out_file tiga.md |
empat.txt | //config out_file empat.md |
Dengan cara ini Anda dapat melihat respons yang dihasilkan untuk setiap prompt dalam urutan tersebut.
TODO: audio-ke-teks masih dalam pengembangan.
Misalkan Anda memiliki file audio rapat. Anda ingin mendapatkan transkripsi dari apa yang dikatakan dalam pertemuan itu. Terkadang transkripsi mentah menyembunyikan nilai sebenarnya dari rekaman tersebut sehingga Anda telah membuat kemegahan yang mengambil transkripsi mentah dan membuat ringkasan teknis dengan daftar item tindakan.
Buat dua perintah bernama transcribe.txt dan tech_summary.txt
# transcribe.txt
# Desc: takes one audio file
# note that there is no "prompt" text only the directive
//config backend client
//config model whisper-1
//next tech_summary
Dan
# tech_summary.txt
//config model gpt-4-turbo
//config out_file meeting_summary.md
Review the raw transcript of a technical meeting,
summarize the discussion and
note any action items that were generated.
Format your response in markdown.
Sekarang Anda dapat melakukan ini:
aia transcribe my_tech_meeting.m4a
Ringkasan rapat Anda ada di file meeting_summary.md
Ada dua jenis prompt
Jenis prompt yang kedua disebut peran. Terkadang peran tersebut dimasukkan ke dalam instruksi. Misalnya, "Sebagai seorang pesulap membuat seekor kelinci muncul dari topi." Untuk menggunakan kembali peran yang sama dalam beberapa perintah, aia
mendorong Anda untuk menetapkan roles_dir
khusus di mana Anda memasukkan perintah yang khusus untuk personifikasi - peran.
roles_dir
default adalah subdirektori dari prompts_dir
yang bernama peran. Namun, Anda dapat menempatkan roles_dir
Anda di mana saja yang masuk akal bagi Anda.
Opsi --role
digunakan untuk mengidentifikasi permintaan personifikasi dalam direktori peran Anda yang menentukan konteks di mana LLM akan memberikan responsnya. Teks ID peran ditambahkan ke teks perintah utama untuk membentuk perintah lengkap untuk diproses oleh backend.
Misalnya pertimbangkan:
aia -r ruby refactor my_class.rb
Di dalam direktori peran, konten file teks ruby.txt
akan ditambahkan ke konten file refactor.txt
dari direktori prompt untuk menghasilkan prompt yang lengkap. Perintah lengkap tersebut akan memiliki parameter apa pun yang diikuti dengan arahan yang diproses sebelum mengirim teks perintah gabungan ke backend.
Perhatikan bahwa --role
hanyalah cara untuk mengatakan tambahkan file teks prompt ini ke depan file teks prompt lainnya. Isi dari prompt "peran" bisa berupa apa saja. Peran tersebut belum tentu merupakan peran yang sebenarnya.
aia
sepenuhnya mendukung pohon direktori di dalam prompts_dir
sebagai cara mengatur atau mengklasifikasikan berbagai file teks prompt Anda.
aia -r sw_eng doc_the_methods my_class.rb
Dalam contoh ini, file teks perintah $AIA_ROLES_DIR/sw_eng.txt
ditambahkan ke file teks perintah $AIA_PROMPTS_DIR/doc_the_methods.txt
Karena aia
mendukung perintah berparameter, Anda dapat menjadikan kata kunci seperti "[ROLE]" menjadi bagian dari perintah Anda. Misalnya pertimbangkan perintah ini:
As a [ROLE] tell me what you think about [SUBJECT]
Saat prompt ini diproses, aia
akan menanyakan nilai kata kunci "ROLE" dan kata kunci "SUBJECT" untuk menyelesaikan prompt. Karena aia
menyimpan riwayat jawaban Anda sebelumnya, Anda bisa memilih jawaban yang pernah Anda gunakan sebelumnya atau menjawab dengan nilai yang benar-benar baru.
Untuk menginstal program CLI eksternal yang digunakan oleh aia:
buatan instal fzf mods rg glow
fzf Pencari fuzzy baris perintah yang ditulis dalam Go https://github.com/junegunn/fzf
mods AI pada baris perintah https://github.com/charmbracelet/mods
Alat Pencarian rg seperti grep dan The Silver Searcher https://github.com/BurntSushi/ripgrep
glow Render penurunan harga di CLI https://github.com/charmbracelet/glow
Editor teks yang dapat dieksekusi diatur dalam variabel lingkungan sistem 'EDITOR' seperti ini:
ekspor EDITOR="subl -w"
llm
llm Access large language models from the command-line
| brew install llm
|__ https://llm.datasette.io/
Pada aia v0.5.13
prosesor backend llm
tersedia dalam integrasi terbatas. Ini adalah implementasi berbasis python yang sangat kuat yang memiliki sistem templating cepatnya sendiri. Alasan dimasukkannya dalam lingkungan aia
adalah karena kemampuannya memanfaatkan model LLM lokal.
sgpt
shell-gpt
alias sgpt
juga merupakan implementasi python dari alat CLI yang memproses perintah melalui OpenAI. Ini memiliki lebih sedikit fitur dibandingkan mods
dan llm
dan kurang fleksibel.
plz
Alat yang Kadang-kadang Berguna plz-cli
alias plz
tidak terintegrasi dengan aia
namun, ia mendapat penghargaan terhormat karena kemampuannya kecuali prompt yang disesuaikan untuk melakukan sesuatu pada baris perintah. Responsnya adalah perintah CLI (terkadang berupa urutan yang disalurkan) yang menyelesaikan tugas yang ditetapkan dalam prompt. Ini akan mengembalikan perintah yang akan dieksekusi terhadap file data yang Anda tentukan dengan kueri untuk menjalankan perintah.
Anda dapat mengatur fungsi penyelesaian di shell Anda yang akan selesai pada prompt_id yang disimpan di prompts_dir
Anda - fungsi untuk bash
, fish
dan zsh
tersedia. Untuk mendapatkan salinan fungsi-fungsi ini lakukan ini:
aia --completion bash
Jika Anda bukan penggemar "lahir kembali" ganti bash
dengan yang lain.
Salin fungsi tersebut ke tempat yang dapat menginstalnya di instance shell Anda. Ini mungkin file .profile
atau .bashrc
, dll.
Ini hanya antara kau dan aku, jadi jangan mengoceh tentang hal ini kepada semua orang. Prompt saya yang paling kuat ada dalam file bernama ad_hoc.txt
. Ini terlihat seperti ini:
[APA SEKARANG MANUSIA]
Ya. Hanya satu parameter yang bisa saya berikan nilai atas apa pun yang ada di pikiran saya saat itu. Keuntungannya adalah saya tidak mencemari riwayat perintah shell saya dengan banyak teks.
Menurut Anda manakah yang lebih baik untuk disimpan dalam file riwayat shell Anda?
mods " As a certified public accountant specializing in forensic audit and analysis of public company financial statements, what do you think of mine? What is the best way to hide the millions dracma that I've skimmed? " < financial_statement.txt
atau
aia ad_hoc financial_statement.txt
Keduanya melakukan hal yang sama; namun, aia
tidak memasukkan teks prompt ke dalam file riwayat shell.... tentu saja nilai kata kunci/parameter disimpan dalam file JSON prompt dan prompt dengan respons dicatat kecuali --no-log
ditentukan ; tapi, itu tidak mengacaukan sejarah shell!
Saya menggunakan shell bash
. Dalam file .bashrc
saya, saya mencari file lain bernama .bashrc__aia
yang terlihat seperti ini:
# ~/.bashic_aia
# AI Assistant
# These are the defaults:
export AIA_PROMPTS_DIR= ~ /.prompts
export AIA_OUT_FILE=./temp.md
export AIA_LOG_FILE= $AIA_PROMPTS_DIR /_prompts.log
export AIA_BACKEND=mods
export AIA_MODEL=gpt-4-1106-preview
# Not a default. Invokes spinner.
export AIA_VERBOSE=true
alias chat= ' aia chat --terse '
# rest of the file is the completion function
Berikut tampilan file prompt chat
saya:
# ~/.prompts/chat.txt
# Desc: Start a chat session
//config chat ? = true
[WHAT]
Alat CLI ini dimulai sebagai beberapa baris rubi dalam file di repo skrip saya. Saya terus berkembang ketika saya memutuskan untuk menambahkan lebih banyak kemampuan dan lebih banyak alat backend. Tidak ada arsitektur nyata yang memandu desain. Yang tersisa hanyalah kekacauan kode besar yang perlahan-lahan difaktorkan ulang menjadi sesuatu yang lebih mudah dikelola. Pekerjaan itu sedang berlangsung di cabang develop
. Saya menyambut bantuan Anda. Lihatlah apa yang terjadi di cabang itu dan kirimkan saya PR yang menentangnya.
Tentu saja jika Anda melihat sesuatu di cabang utama, kirimkan saya PR terhadap cabang tersebut sehingga kami dapat memperbaiki masalah untuk semuanya.
Laporan bug dan permintaan penarikan diterima di GitHub di https://github.com/MadBomber/aia.
Ketika Anda menemukan masalah dengan aia
harap dicatat sebagai masalah. Hal ini sebagian besar ditulis oleh manusia dan Anda tahu betapa rawannya kesalahan manusia. Seharusnya ada banyak kesalahan yang bisa ditemukan.
Saya tidak senang dengan cara beberapa opsi baris perintah untuk perintah eksternal diberi kode keras. Saya secara spesifik berbicara tentang cara penggunaan alat rg
dan fzf
. Di sana opsi menentukan tampilan dasar dan nuansa kemampuan pencarian pada baris perintah. Mungkin mereka harus menjadi bagian dari keseluruhan konfigurasi sehingga pengguna dapat menyesuaikan UI mereka sesuai keinginan mereka.
Permata ini tersedia sebagai sumber terbuka berdasarkan ketentuan Lisensi MIT.