Mengapa Hermes Project dibutuhkan?
Hermes dapat membaca file, menjalankan perintah, dan mengubah kode. Sebelum bekerja, Hermes tetap perlu mengetahui repository, branch, aturan, dan command validasi yang benar.
Hermes Project menyediakan konteks tersebut melalui satu folder utama. Ketika Project aktif, sesi Hermes, penjelajah file, terminal, dan pemeriksaan Git menggunakan folder yang sama.
Bentuk akhirnya:
Hermes Project
→ folder repository
→ file dan aturan project
→ terminal
→ status dan diff Git
→ command validasi
Project tidak menggantikan Git atau package manager. Project mengikat sesi Hermes ke tempat kerja yang benar.
Menyiapkan repository lokal
Repository dapat diambil melalui GitHub CLI atau Git biasa:
gh repo clone <owner>/<repository> ./<repository>
atau:
git clone https://github.com/<owner>/<repository>.git
Setelah clone selesai, periksa identitas repository:
git status --short --branch
git remote -v
git log -1 --oneline --decorate
Pemeriksaan tersebut memastikan:
- branch aktif sudah diketahui;
- upstream mengarah ke remote yang benar;
- working tree tidak menyimpan perubahan yang tidak disengaja;
- commit dasar dapat dilaporkan sebelum pekerjaan dimulai.
Folder repository dapat disimpan di lokasi mana pun yang mudah dikelola, misalnya:
~/projects/<repository>
atau:
~/.hermes/projects/<repository>
Membuat Hermes Project
Di Hermes Desktop, buat Project baru dan pilih folder repository sebagai primary folder.
Name: <nama-project>
Primary folder: /path/to/<repository>
Project yang aktif memindahkan konteks sesi ke folder tersebut. Hermes kemudian dapat membaca file project dan menjalankan command tanpa meminta path repository pada setiap task.
Project menyimpan hubungan dengan folder kerja, bukan salinan source code:
Hermes Project
→ nama Project
→ primary folder
→ hubungan dengan sesi
Git repository
→ source code
→ branch dan commit
→ remote
Jika folder repository dipindahkan, primary folder Project perlu diperbarui.
Mengenali runtime dan package manager
Sebelum memasang dependensi, periksa manifest dan lockfile repository.
| File | Tool yang biasanya digunakan |
|---|---|
bun.lock | Bun |
package-lock.json | npm |
pnpm-lock.yaml | pnpm |
yarn.lock | Yarn |
pyproject.toml | uv, Poetry, atau pip |
Cargo.toml | Cargo |
go.mod | Go modules |
Gunakan lockfile sebagai acuan. Contoh instalasi yang menjaga resolusi dependency:
bun install --frozen-lockfile
npm ci
pnpm install --frozen-lockfile
yarn install --frozen-lockfile
Jalankan hanya command yang sesuai dengan repository. README dan script project tetap menjadi sumber utama untuk menentukan langkah setup.
Memberi konteks project kepada Hermes
Hermes perlu memahami aturan repository selain lokasinya. Aturan dapat ditulis dalam file seperti:
.hermes.md
AGENTS.md
CLAUDE.md
.cursorrules
.cursor/rules/*.mdc
Isi yang berguna antara lain:
# Aturan project
- Gunakan package manager yang sesuai dengan lockfile.
- Baca file terkait sebelum mengubah kode.
- Jangan menyentuh file kredensial.
- Jalankan lint, type-check, test, dan build yang tersedia.
- Periksa diff sebelum membuat commit.
Aturan project mengurangi asumsi, tetapi tidak menggantikan validasi. Hermes tetap perlu menjalankan command dan melaporkan hasil sebenarnya.
Menentukan command validasi
Script validasi biasanya berada di manifest project atau README.
Untuk project JavaScript atau TypeScript, contoh yang umum:
bun run check
bun run tsc
bun run test
bun run build
Nama script dapat berbeda. Beberapa repository menggunakan lint, typecheck, atau test:unit. Hermes perlu membaca package.json sebelum memilih command.
Build juga dapat membutuhkan environment variable. Jika proses berhenti karena variable belum tersedia, baca pesan error dan dokumentasi project. Gunakan nilai valid untuk lingkungan pengujian tanpa menaruh secret di repository.
Alur kerja coding di dalam Project
Hubungan antarbagian dapat digambarkan seperti ini:
Saat menerima task, Hermes bekerja melalui urutan berikut:
- memastikan Project dan repository yang aktif;
- memeriksa branch serta status Git;
- membaca aturan dan file yang relevan;
- membuat perubahan sesuai ruang lingkup;
- menjalankan validasi repository;
- memeriksa diff dan melaporkan hasilnya.
Urutan tersebut membuat lokasi kerja, aturan, perubahan, dan bukti validasi tetap berada dalam satu konteks.
Batas antara Project dan repository
Hermes Project memudahkan navigasi dan menjaga konteks sesi. Git tetap menjadi sumber history dan sinkronisasi.
Project tidak otomatis:
- membuat commit;
- memilih branch yang aman;
- menyelesaikan konflik;
- memasang dependency yang belum diminta;
- menentukan bahwa build yang lulus sudah benar secara produk;
- mendorong perubahan ke remote tanpa instruksi.
Keputusan tersebut tetap mengikuti aturan repository dan persetujuan pengguna.
Hasil setup yang diharapkan
Setup berhasil ketika Hermes dapat membuka Project, mengenali repository, menjalankan command yang sesuai, dan menunjukkan hasil Git serta validasi tanpa menebak lokasi kerja.
Dengan struktur ini, pola yang sama dapat digunakan untuk repository Bun, npm, Python, Rust, Go, atau stack lain. Hal yang berubah adalah command project; peran Hermes Project sebagai konteks kerja tetap sama.