diff --git a/lib/src/main/java/net/tomatentum/marinara/interaction/commands/CommandConverter.java b/lib/src/main/java/net/tomatentum/marinara/interaction/commands/CommandConverter.java
new file mode 100644
index 0000000..fcbfb85
--- /dev/null
+++ b/lib/src/main/java/net/tomatentum/marinara/interaction/commands/CommandConverter.java
@@ -0,0 +1,23 @@
+package net.tomatentum.marinara.interaction.commands;
+
+import net.tomatentum.marinara.interaction.commands.annotation.SlashCommandOption;
+import net.tomatentum.marinara.interaction.commands.annotation.SubCommand;
+import net.tomatentum.marinara.interaction.commands.annotation.SubCommandGroup;
+
+public class CommandConverter {
+
+ private Spec spec;
+
+ public A convert(SlashCommandDefinition def) {
+ return null;
+ }
+
+ public interface Spec {
+
+ public A convertCommand(SlashCommandDefinition def);
+ public O convertSubCommand(SubCommand def, O[] options);
+ public O convertSubCommandGroup(SubCommandGroup def, O[] options);
+ public O convertOption(SlashCommandOption option, C[] choices);
+ public C[] convertChoice(SlashCommandOption option);
+ }
+}