Generate authentic Somali first names for your projects, stories, or applications. This library includes both male and female names with their beautiful meanings, honoring Somali culture and heritage.
# 🇸🇴 Somali Names Generator
> **Magacyada Soomaaliyeed** - A beautiful collection of traditional Somali names with meanings
Generate authentic Somali first names for your projects, stories, or applications. This library includes both male and female names with their beautiful meanings, honoring Somali culture and heritage.
## ✨ Features
- 🎲 **Random name generation** - Get single or multiple names
- 👥 **Gender-specific** - Filter by male, female, or any gender
- 📖 **Meaningful names** - Optional inclusion of name meanings
- 🎯 **Deterministic** - Use seeds for reproducible results
- 🔍 **Search functionality** - Find names by prefix
- 💻 **CLI & Library** - Use programmatically or from command line
- 🌍 **Cultural authenticity** - Curated collection of traditional Somali names
## 📊 Current Collection
- **Male names**: ~30 traditional names with meanings
- **Female names**: ~30 traditional names with meanings
- **Total**: 60+ authentic Somali names
*Help us grow this collection! See Contributing below.*
## 🚀 Quick Start
### Installation
```bash
npm install somali-names
```
### Library Usage
```javascript
const { randomName, randomMany, findByPrefix } = require('somali-names');
// Get a random name
const name = randomName();
console.log(name); // "Amina"
// Get a name with meaning
const nameWithMeaning = randomName({ withMeaning: true });
console.log(nameWithMeaning); // { name: "Amina", meaning: "Trustworthy" }
// Get multiple unique female names
const femaleNames = randomMany({
count: 5,
gender: 'female',
unique: true
});
console.log(femaleNames); // ["Ayan", "Hodan", "Faduma", "Sahra", "Maryan"]
// Find names starting with 'A'
const aNames = findByPrefix('A');
console.log(aNames); // ["Ahmed", "Ali", "Amina", "Ayan", ...]
```
### CLI Usage
```bash
# Install globally for CLI access
npm install -g somali-names
# Generate one random name
somaname one
# Output: Yusuf
# Generate female name with meaning
somaname one --female --meaning
# Output: Ayan …