minangscript
Version:
Modern programming language with Minangkabau philosophy. Features native arrays (kumpulan), objects (benda), web development support, and comprehensive algorithm examples. Ready for web applications, data structures, and algorithmic programming.
516 lines (386 loc) โข 12.6 kB
Markdown
# MinangPaket - Package Manager untuk MinangScript
MinangPaket adalah package manager resmi untuk MinangScript yang dirancang dengan filosofi Minangkabau untuk pengelolaan paket yang kolaboratif, etis, dan berkelanjutan.
## ๐ International Support / Dukungan Internasional
**MinangPaket now fully supports both English and Indonesian interfaces**, making it accessible for developers worldwide while preserving Minangkabau cultural values.
**MinangPaket sekarang sepenuhnya mendukung antarmuka bahasa Inggris dan Indonesia**, membuatnya dapat diakses oleh pengembang di seluruh dunia sambil tetap mempertahankan nilai-nilai budaya Minangkabau.
### Language Switching / Pergantian Bahasa
```bash
# Switch to English
minang lang en
# Beralih ke Bahasa Indonesia
minang lang id
# Get help in your preferred language
minang help # Shows bilingual help
```
### Command Aliases / Alias Perintah
All commands support both English and Indonesian versions:
| English | Indonesian | Description |
|---------|------------|-------------|
| `init` | `inisialkan` | Initialize new project |
| `install` | `pasang` | Install package |
| `uninstall` | `lepas` | Remove package |
| `search` | `cari` | Search packages |
| `list` | `daftar` | List installed packages |
| `update` | `perbarui` | Update packages |
| `publish` | `terbitkan` | Publish package |
### Examples for International Users
```bash
# For English speakers
minang init my-project --author "John Doe"
minang install ui-components
minang search mathematical-tools
minang list
# For Indonesian speakers
minang inisialkan proyek-saya --author "Budi Santoso"
minang pasang komponen-ui
minang cari alat-matematika
minang daftar
```
## ๐๏ธ Filosofi Minangkabau dalam Package Management
### ๐ค Gotong Royong - Kerja Sama Komunitas
- **Shared Dependencies**: Paket berbagi dependencies secara efisien
- **Community Contributions**: Setiap orang bisa berkontribusi ke ekosistem
- **Collaborative Development**: Pengembangan bersama untuk kemajuan bersama
### ๐ฃ๏ธ Musyawarah Mufakat - Pengambilan Keputusan Bersama
- **Version Resolution**: Resolusi versi melalui konsensus dependency
- **Community Governance**: Keputusan paket melalui diskusi komunitas
- **Conflict Resolution**: Penyelesaian konflik dependency secara demokratis
### ๐ฟ Alam Takambang Jadi Guru - Belajar dari Ekosistem
- **Adaptive Caching**: Cache yang beradaptasi dengan usage pattern
- **Learning from Usage**: Rekomendasi paket berdasarkan pola penggunaan
- **Organic Growth**: Ekosistem yang tumbuh secara natural
### โ๏ธ Adat Basandi Syarak - Praktik Etis
- **Ethical Validation**: Validasi paket berdasarkan prinsip etika
- **Secure Distribution**: Distribusi paket yang aman dan terpercaya
- **Responsible Versioning**: Versioning yang bertanggung jawab
## ๐ Instalasi & Setup
MinangPaket sudah terintegrasi dengan MinangScript. Untuk menggunakan:
```bash
# Global installation MinangScript (sudah termasuk MinangPaket)
npm install -g minangscript
# Verify installation
minang paket --version
```
## ๐ Penggunaan Dasar
### Inisialisasi Proyek
```bash
# Inisialisasi proyek baru
minang paket init myproject
# Dengan opsi tambahan
minang paket init myproject --author "Nama Anda" --description "Deskripsi proyek"
```
Struktur proyek yang dibuat:
```
myproject/
โโโ paket.minang # Konfigurasi paket
โโโ main.minang # File utama
โโโ src/ # Source code
โโโ test/ # Test files
โโโ docs/ # Dokumentasi
โโโ examples/ # Contoh penggunaan
โโโ .gitignore # Git ignore file
```
### Instalasi Paket
```bash
# Install paket
minang paket pasang minang-ui
# Install versi spesifik
minang paket pasang minang-math@1.2.0
# Install sebagai development dependency
minang paket pasang minang-test --dev
```
### Pencarian Paket
```bash
# Cari paket
minang paket cari ui
# Cari dengan filter filosofi
minang paket cari --philosophy gotong-royong
# Cari paket terpopuler
minang paket cari --sort popularity
```
### Mengelola Paket
```bash
# List paket terpasang
minang paket daftar
# Update paket
minang paket perbarui minang-ui
# Update semua paket
minang paket perbarui
# Uninstall paket
minang paket lepas minang-ui
```
### Publishing Paket
```bash
# Validasi paket sebelum publish
minang paket validate
# Publish ke registry
minang paket terbitkan
# Publish dengan tag
minang paket terbitkan --tag beta
```
## ๐ Konfigurasi Paket (paket.minang)
```json
{
"nama": "nagari-system",
"versi": "1.0.0",
"deskripsi": "Sistem manajemen nagari digital",
"pengarang": "Tim Nagari Digital",
"lisensi": "MIT",
"filosofi": [
"gotong-royong",
"musyawarah-mufakat",
"alam-takambang-jadi-guru",
"adat-basandi-syarak"
],
"keywords": [
"nagari",
"management",
"digital",
"village"
],
"dependencies": {
"minang-ui": "^1.0.0",
"minang-database": "^2.1.0"
},
"devDependencies": {
"minang-test": "^1.0.0"
},
"scripts": {
"main": "src/main.minang",
"test": "test/*.minang",
"build": "build/",
"start": "minang run src/main.minang"
},
"files": [
"src/",
"README.md",
"LICENSE",
"examples/"
],
"engine": {
"minangscript": ">=1.1.0"
},
"repository": {
"type": "git",
"url": "https://github.com/minangscript/nagari-system"
}
}
```
## ๐ Registry & Pencarian
### Registry Hierarchy
1. **Local Registry** (`~/.minangscript/local-registry/`)
- Paket yang dikembangkan lokal
- Cache paket yang sering digunakan
2. **Community Registry** (`community.minangscript.org`)
- Paket dari komunitas
- Kurasi berdasarkan filosofi Minangkabau
3. **Official Registry** (`registry.minangscript.org`)
- Paket resmi MinangScript
- Quality assurance tinggi
### Search & Discovery
```bash
# Pencarian semantik
minang paket cari "user interface components"
# Filter berdasarkan filosofi
minang paket cari --philosophy gotong-royong
# Filter berdasarkan kategori
minang paket cari --category ui
# Sortir hasil
minang paket cari ui --sort downloads --order desc
```
## ๐งช Validasi & Quality Assurance
### Validasi Otomatis
MinangPaket melakukan validasi otomatis pada:
1. **Struktur Paket**
- File wajib: `paket.minang`, `main.minang`
- File rekomendasi: `README.md`, `LICENSE`, `CHANGELOG.md`
- Struktur direktori yang proper
2. **Kode MinangScript**
- Syntax validation
- Cultural principles integration
- Best practices compliance
3. **Filosofi Budaya**
- Penggunaan cultural functions
- Dokumentasi filosofi
- Implementasi nilai-nilai Minangkabau
### Manual Validation
```bash
# Validasi paket
minang paket validate
# Validasi dengan detail report
minang paket validate --detailed
# Validasi filosofi budaya
minang paket validate --cultural
```
## ๐ง Advanced Features
### Custom Scripts
Dalam `paket.minang`, Anda bisa mendefinisikan custom scripts:
```json
{
"scripts": {
"dev": "minang run src/dev.minang",
"test": "minang run test/all-tests.minang",
"build": "minang build src/main.minang build/app.js",
"deploy": "minang run scripts/deploy.minang",
"gotong-royong": "minang run scripts/collaboration.minang"
}
}
```
Jalankan dengan:
```bash
minang paket run dev
minang paket run test
minang paket run gotong-royong
```
### Lock File (paket.lock)
Lock file memastikan reproduktible builds:
```json
{
"version": "1.0.0",
"generated": "2025-06-23T10:00:00.000Z",
"philosophy": "Musyawarah Mufakat dalam dependency management",
"packages": {
"minang-ui": {
"version": "1.0.0",
"resolved": "https://registry.minangscript.org/minang-ui/-/minang-ui-1.0.0.tgz",
"integrity": "sha256-...",
"dependencies": {
"minang-core": "^1.1.0"
}
}
}
}
```
### Environment Variables
```bash
# Set registry URL
export MINANG_REGISTRY=https://custom-registry.example.com
# Set cache directory
export MINANG_CACHE_DIR=/path/to/cache
# Enable verbose logging
export MINANG_VERBOSE=true
# Set philosophy preference
export MINANG_PHILOSOPHY=gotong-royong
```
## ๐ Community & Ecosystem
### Contributing to Packages
1. **Fork** paket yang ingin dikontribusi
2. **Clone** dan setup development environment
3. **Implement** fitur atau fix dengan filosofi Minangkabau
4. **Test** dengan `minang paket validate`
5. **Submit** pull request dengan dokumentasi filosofi
### Creating Quality Packages
**Cultural Integration:**
```minang
// Contoh penggunaan filosofi dalam kode
karojo processData(data) {
// Gotong royong dalam data processing
gotongRoyong("validation", "transformation", "output")
// Musyawarah untuk decision making
ambiak strategy = musyawarah("processing-strategy", data.requirements)
// Alam takambang jadi guru - adaptive processing
alamTakambang("data flows like water, adapt accordingly")
// Adat basandi syarak - ethical data handling
adatBasandi("respect user privacy and data integrity")
jadi processedData
}
```
**Documentation Standards:**
- README in Indonesian and English
- Philosophy explanation
- Cultural examples
- Community guidelines
### Registry Governance
Registry mengikuti prinsip **Musyawarah Mufakat**:
1. **Community Review**: Setiap paket direview komunitas
2. **Consensus Decision**: Keputusan publish berdasarkan konsensus
3. **Cultural Validation**: Validasi implementasi filosofi
4. **Quality Assurance**: QA berdasarkan standar komunitas
## ๐ ๏ธ Troubleshooting
### Common Issues
**Package not found:**
```bash
# Clear cache
minang paket cache clear
# Update registry index
minang paket registry update
# Check registry status
minang paket registry status
```
**Installation failures:**
```bash
# Verbose mode
minang paket pasang package-name --verbose
# Force reinstall
minang paket pasang package-name --force
# Check dependencies
minang paket check dependencies
```
**Validation errors:**
```bash
# Detailed validation
minang paket validate --detailed
# Fix cultural issues
minang paket cultural-audit
# Generate template fixes
minang paket fix-template
```
### Debug Mode
```bash
# Enable debug mode
export MINANG_DEBUG=true
# Run command with debugging
minang paket pasang minang-ui --debug
# Check debug logs
minang paket logs
```
## ๐ Statistics & Analytics
```bash
# Package statistics
minang paket stats
# Registry health
minang paket registry health
# Community metrics
minang paket community stats
# Cultural compliance report
minang paket cultural report
```
## ๐ฏ Roadmap
### v1.1 (Q3 2025)
- [ ] Official registry launch
- [ ] Advanced caching strategies
- [ ] Cultural AI validation
- [ ] Package signing & verification
### v1.2 (Q4 2025)
- [ ] Distributed registry network
- [ ] Smart dependency resolution
- [ ] Community governance platform
- [ ] Cultural metrics dashboard
### v2.0 (2026)
- [ ] Blockchain-based package verification
- [ ] AI-powered package recommendations
- [ ] Global Minangkabau developer network
- [ ] Cultural preservation initiatives
## ๐ค Kontribusi
MinangPaket dikembangkan dengan semangat **Gotong Royong**. Kontribusi sangat diterima:
1. **Code Contributions**: Pull requests dengan implementasi filosofi
2. **Documentation**: Perbaikan dan penambahan dokumentasi
3. **Package Creation**: Buat paket berkualitas untuk komunitas
4. **Testing**: Bantu testing dan QA
5. **Cultural Consulting**: Saran implementasi filosofi Minangkabau
### Panduan Kontribusi
- Follow coding standards MinangScript
- Implementasikan minimal 2 prinsip filosofi Minangkabau
- Tulis tests yang comprehensive
- Dokumentasi dalam bahasa Indonesia dan Inggris
- Respect nilai-nilai komunitas
## ๐ Dukungan
- **GitHub Issues**: https://github.com/DityaPerdana/minangScript/issues
- **Community Forum**: https://community.minangscript.org
- **Discord**: https://discord.gg/minangscript
- **Email**: support@minangscript.org
---
## ๐๏ธ Filosofi Akhir
*"Alam Takambang Jadi Guru"* - Seperti alam yang mengajarkan keseimbangan, MinangPaket menciptakan ekosistem package management yang seimbang antara teknologi modern dan nilai-nilai tradisional Minangkabau.
Dengan **Gotong Royong**, kita membangun bersama. Dengan **Musyawarah Mufakat**, kita memutuskan bersama. Dengan **Alam Takambang Jadi Guru**, kita belajar bersama. Dengan **Adat Basandi Syarak**, kita bertindak dengan etis.
**MinangPaket - Package Manager dengan Hati Minangkabau** ๐๏ธ