@nebulaai/name-generator
v0.1.0
Published
Simple name generation for startup ideas, branding, and ideation
Maintainers
Readme
🎭 generate-name
Create memorable names that don't suck. Deterministic randomness meets creative genius.
Name generation wizardry from the NebulaAI creative suite
⚡ Get Started (Be creative in 30 seconds)
npm install @nebulaai/generate-name🔥 Watch names come alive
import { generateName } from "@nebulaai/generate-name";
const adjectives = ["Swift", "Mighty", "Clever", "Bold", "Sleek"];
const nouns = ["Tiger", "Phoenix", "Storm", "Blade", "Code"];
// Generate epic project names
generateName("React", adjectives, nouns);
// → "SwiftReactPhoenix" (same result every time with same seed)
// Spaced out for readability
generateName("API", adjectives, nouns, { separator: " " });
// → "Mighty API Storm"
// Snake case for variables
generateName("user", adjectives, nouns, { separator: "_" });
// → "Bold_User_Blade"
// Kebab case for URLs
generateName("dashboard", adjectives, nouns, { separator: "-" });
// → "Clever-Dashboard-Code"
// Custom seed for reproducible results
generateName("bot", adjectives, nouns, { seed: "myapp2024" });
// → Always the same name for this seed combo🚀 Why creative devs love this
- Deterministic magic: Same inputs = same outputs (perfect for testing)
- Seeded randomness: Control the chaos with custom seeds
- Format freedom: Any separator you want, or none at all
- Memory-friendly: No storage needed, regenerate anytime
- TypeScript native: Full type safety and IntelliSense
- Collision resistant: Massive combination space
🛠️ API That Inspires
generateName(
seedWord: string,
adjectives: string[],
nouns: string[],
options?: NameGenOptions
): string| Parameter | Type | What it does | Example |
|-----------|------|--------------|---------|
| seedWord | string | The core word (your brand/concept) | "React", "API", "Bot" |
| adjectives | string[] | Descriptive words pool | ["Swift", "Mighty"] |
| nouns | string[] | Object/concept words pool | ["Tiger", "Code"] |
| options.seed | string \| number | Custom randomness seed | "v2.1", 42 |
| options.separator | "" \| "-" \| "_" \| " " | How to join words | Default: "" |
Magic formula: {Adjective}{Separator}{SeedWord}{Separator}{Noun}
🎯 Perfect for
- Project codenames → "SwiftDashboardPhoenix" beats "Project-2024-Q3"
- Docker containers → Memorable names instead of random UUIDs
- Game entities → "BoldWarriorBlade" > "Entity_847392"
- API versions → "CleverDataStorm" sounds way cooler than "v2.3"
- Test fixtures → Consistent, readable test data
- Team names → "MightyReactTiger" for your dev squad
💡 Pro strategies
// Theme-based pools for different vibes
const techAdjectives = ["Digital", "Smart", "Fast", "Secure"];
const techNouns = ["Engine", "Framework", "Protocol", "System"];
const fantasyAdjectives = ["Mystic", "Ancient", "Legendary", "Sacred"];
const fantasyNouns = ["Dragon", "Wizard", "Crystal", "Realm"];
// Reproducible names for environments
const prodName = generateName("api", adjectives, nouns, {
seed: "production",
separator: "-"
});
// Dynamic pools from your data
const userAdjectives = userData.favoriteTraits;
const generateUserHandle = () => generateName(
userName,
userAdjectives,
coolNouns
);🔮 Advanced patterns
// Multi-environment naming
const environments = ["dev", "staging", "prod"];
const serviceNames = environments.map(env =>
generateName("auth", adjectives, nouns, { seed: env })
);
// Consistent team assignments
const getTeamName = (memberId: string) =>
generateName("squad", teamAdjectives, teamNouns, { seed: memberId });
// Version-specific names
const releaseNames = versions.map(v =>
generateName("release", adjectives, nouns, { seed: v })
);⚠️ Edge case handling
// Empty arrays? We got you covered
try {
generateName("test", [], nouns); // Throws helpful error
} catch (e) {
console.log("Need some adjectives to work with!");
}📄 License
MIT © Jorge Gonzalez / Temporal AI Technologies Inc.
Turning boring naming into creative expression
