1. edit grammar/Command.g4: add the new option in the rule OPTION_NAME; 2. in civl.config.IF.CIVLConstants: add the new Option object: e.g.: public final static Option showTransitionsO = Option.newScalarOption("showTransitions", BOOLEAN, "print transitions", false); 3. in civl.config.IF.CIVLConfiguration: (1) add a new field to store the value of the new option, e.g., private boolean showTransitions = false; (2) add a line in the constructor to initialize the value of the new field from GMCConfiguratio, e.g., this.showTransitions = config.isTrue(CIVLConstants.showTransitionsO); (3) add getter and setter for the new field. 3. edit the static code in civl.run.IF.UserInterface: add the new option to the collection options, add it to CIVLCommand's option categories as it should be, for example, "traceO" is only applicable to replay command so just add it by CIVLCommand.addReplayOption(...).