Strong areas today
Chameleon already has good type inference in a few places:
- event payload narrowing by event name and
event.type
- command option inference through
command(...), subcommand(...), and opt.*
- modal field inference through
modal(...).add(...).execute(...)
- typed component contexts for many interaction flows
Slash command options
ctx.options.target is inferred from the option type, not manually cast.
The newer command DSL also preserves richer inference for:
mentionable as User | Role
attachment as an uploaded Attachment
- selected values from
choices(...)
- nested subcommands and subcommand groups
Modal fields
Intents: design goal vs current reality
The roadmap wants compile-time intent awareness. Conceptually that means using missing intents as a type error, not discovering the problem only at runtime.
The current codebase is directionally aligned with that goal, but it is not fully realized across the entire framework surface yet. Treat this as a design target rather than a solved feature everywhere.Last modified on June 13, 2026