Count Reference
Complete character and count limits for world configs.
Section Limits
| Section | Limit |
| Total config | 12,500,000 chars |
| worldLore | 1,000,000 chars |
| npcs | 2,000,000 chars |
| locations | 2,000,000 chars |
| npcTypes | 500,000 chars |
| itemTypes | 250,000 chars |
| factions | 100,000 chars |
| regions | 500,000 chars |
| realms | 100,000 chars |
| traits | 1,750,000 chars |
| traitCategories | 100,000 chars |
| itemSettings | 5,000 chars |
| gameModes | 100,000 chars |
| nameFilterSettings | 150,000 chars |
Field Limits
| Field | Limit |
| storySettings.worldBackground | 5,000 chars |
| storySettings.questGenerationGuidance | 5,000 chars |
| Individual AI instruction | 5,000 chars (8,000 for generateNPCIntents) |
| AI task instructions (combined, per task) | 20,000 chars (30,000 for generateStory, 40,000 for generateNPCIntents, 24,000 for generateNPCUpdates, 26,000 for generateNPCDetails) |
| narratorStyle | 2,000 chars |
| abilities.[id].description | 2,000 chars |
| Individual worldLore entry text | 4,000 chars |
| Individual story start | 8,000 chars |
| Individual item description | 4,000 chars |
| factions.[id].basicInfo | 4,000 chars |
| factions.[id].hiddenInfo | 4,000 chars |
| npcTypes.[id].description | 8,000 chars |
| Individual NPC (combined fields) | 8,000 chars |
| regions.[id].basicInfo | 4,000 chars |
| regions.[id].hiddenInfo | 4,000 chars |
| locations.[id].basicInfo | 4,000 chars |
| locations.[id].hiddenInfo | 4,000 chars |
| locations.[id].areas.[areaId].description | 4,000 chars |
| traits.[id] description + traitNarrativeEffects (combined) | 6,000 chars |
| realms.[id].basicInfo | 100,000 chars |
| death.instructions | 4,000 chars |
| itemSettings.currencyName | 64 chars |
| Each item category | 60 chars |
| Each item slot name | 64 chars |
| Each item slot category | 60 chars |
| Each damage type | 60 chars |
| Each attribute name | 64 chars |
| Each name-filter replacement | 64 chars |
| Each premade character (combined fields) | 20,000 chars |
| gameModes.[id].name | 120 chars |
| gameModes.[id].description | 500 chars |
| gameModes.[id].instructions | 5,000 chars |
| gameModes.[id].askTheNarratorPrompt | 1,000 chars |
| gameModes.[id].npcIntentInstructions | 5,000 chars |
| imagePromptConfiguration.[npcs/locations/areas/regions/items] | 5,000 chars each |
| imagePromptConfiguration (all combined) | 15,000 chars |
| Trigger condition query | 1,000 chars |
| Trigger effect instruction | 1,000 chars |
| Trigger condition value | 100 chars |
| Trigger effect value | 100 chars |
| successLevelSettings.tiers[].id | 128 chars |
| successLevelSettings.tiers[].name | 120 chars |
| successLevelSettings.tiers[].prompt | 5,000 chars |
| successLevelSettings.tiers[].imageUrl | 2,048 chars |
Count Limits
| Element | Max Count |
| Story starts | 101 |
| Semantic triggers (story/action conditions) | 500 |
| Mechanical triggers (all other conditions) | 4,000 |
| Abilities | 1,500 |
| Skills | 250 |
| Success tiers (successLevelSettings.tiers) | 2 to 20 |
| Trigger conditions (per trigger) | 5 |
| Trigger effects (per trigger) | 10 |
| Individual trigger size | 10,000 chars |
| Ability requirements (per ability) | 10 |
| Trait requirements (per trait) | 10 |
| Starting trait selections (sum of trait category maxSelections) | 40 |
| Premade character traits (per character) | 40 |
| Premade characters | 100 |
| Item categories | 40 |
| Item slots | 60 |
| Damage types | 40 |
| Attribute names | 30 |
Script Usage
node .claude/scripts/count.js # defaults to tabs/
node .claude/scripts/count.js ./tabs/ # explicit path
node .claude/scripts/count.js --json # JSON output
Output Indicators
| Status | Meaning |
| 🟢 OK | Under limit |
| 🟡 WARNING | >80% of limit |
| 🔴 OVER | Exceeds limit |