# Prerilis: Generate Project Info

**Generate Project Info** adalah sebuah alat sederhana namun sangat berguna untuk mengidentifikasi struktur proyek Anda secara otomatis. Alat ini dirancang untuk memindai direktori proyek, menghasilkan pohon direktori, dan membaca konten file tertentu. Hasilnya dapat digunakan untuk dokumentasi proyek, pengembangan dengan AI, atau analisis internal.

---

### **Fitur Utama**

1. **Pohon Direktori**  
    Menampilkan struktur direktori proyek secara hierarkis, termasuk folder dan file.
    
2. **Konten File**  
    Membaca konten file yang relevan seperti `.js`, `.ts`, `.json`, dan file konfigurasi lainnya.
    
3. **Menghormati** `.gitignore`  
    File atau direktori yang dicantumkan dalam `.gitignore` otomatis diabaikan.
    
4. **Output dalam Format Teks**  
    Hasil analisis disimpan dalam file `project-info.txt` untuk mempermudah akses.
    

---

### **Kegunaan**

* **Dokumentasi Proyek**: Cocok untuk dokumentasi proyek sebelum dibagikan ke tim atau AI.
    
* **Analisis Proyek**: Membantu memahami struktur proyek besar dengan cepat.
    
* **Integrasi dengan AI**: Meningkatkan pemahaman alat AI terhadap proyek Anda.
    

---

### **Instalasi**

Anda dapat menginstal alat ini melalui NPM:

```bash
npm install -g generate-project-info
```

---

### **Penggunaan**

Setelah instalasi, Anda dapat menjalankan perintah berikut di direktori proyek Anda:

```bash
generate-project-info /path/to/your/project
```

#### Contoh:

Jika proyek Anda berada di direktori `my-app`, jalankan:

```bash
generate-project-info my-app
```

**Hasil:** File `project-info.txt` akan dibuat di direktori `my-app` dengan konten seperti ini:

```javascript
=== Project Structure ===
📁 src/
  📄 index.ts
  📄 app.ts
📄 package.json
📄 tsconfig.json

=== File Contents ===

=== File: src/index.ts ===
import express from 'express';
const app = express();
...
```

---

### **Integrasi Programatik**

Anda juga dapat menggunakan alat ini dalam kode Node.js:

```javascript
const generateProjectInfo = require('generate-project-info');

generateProjectInfo('/path/to/project')
  .then(() => console.log('Project info berhasil dibuat!'))
  .catch((err) => console.error('Error:', err));
```

---

### **Prasyarat**

* **Node.js**: Minimal versi 14.
    
* **NPM**: Minimal versi 6.
    
* File `.gitignore` untuk mengabaikan file yang tidak diperlukan.
    

---

### **Roadmap dan Rencana Pengembangan**

* **Prerilis Versi 1.0.5**  
    Fokus pada fungsi dasar untuk menghasilkan informasi proyek.
    
* **Fitur Mendatang:**
    
    * Dukungan untuk output dalam format JSON atau Markdown.
        
    * Opsi kustomisasi melalui CLI untuk memilih ekstensi file atau pola direktori tertentu.
        
    * Analisis ukuran file dan statistik penggunaan kode.
        

---

### **Cara Berkontribusi**

Proyek ini bersifat open-source. Jika Anda tertarik untuk berkontribusi:

1. Fork repositori GitHub kami.
    
2. Lakukan perubahan sesuai kebutuhan.
    
3. Ajukan pull request dengan deskripsi detail.
    

---

### **Feedback**

Kami sangat menghargai masukan Anda! Jika menemukan bug atau memiliki saran, hubungi kami melalui [GitHub Issues](https://github.com/ariska138/generate-project-info/issues).

---

**Lisensi:** MIT  
**Penulis:** Ariska Hidayat

Selamat mencoba! 🚀
