private void createActions() {
		new ActionBuilder("New Project", plugin.getName())
				.menuPath(ToolConstants.MENU_FILE, "New Project...")
				.menuGroup("AProject")
				.keyBinding("ctrl N")
				.onAction(c -> newProject())
				.buildAndInstall(tool);

		new ActionBuilder("Open Project", plugin.getName())
				.menuPath(ToolConstants.MENU_FILE, "Open Project...")
				.menuGroup("AProject")
				.keyBinding("ctrl O")
				.onAction(c -> openProject())
				.buildAndInstall(tool);

		saveAction = new DockingAction("Save Project", plugin.getName()) {
			@Override
			public void actionPerformed(ActionContext context) {
				saveProject();
				tool.saveToolConfigurationToDisk();
			}
		};
		saveAction.setEnabled(false);
		saveAction.setKeyBindingData(
			new KeyBindingData(KeyStroke.getKeyStroke(SAVE_ACCELERATOR, ActionEvent.CTRL_MASK)));
		saveAction.setMenuBarData(
			new MenuData(new String[] { ToolConstants.MENU_FILE, "Save Project" }, "BProject"));
		tool.addAction(saveAction);

		closeProjectAction = new DockingAction("Close Project", plugin.getName()) {
			@Override
			public void actionPerformed(ActionContext context) {
				closeProject(false); // not exiting
			}
		};
		closeProjectAction.setEnabled(false);
		closeProjectAction.setKeyBindingData(
			new KeyBindingData(KeyStroke.getKeyStroke(CLOSE_ACCELERATOR, ActionEvent.CTRL_MASK)));
		closeProjectAction.setMenuBarData(
			new MenuData(new String[] { ToolConstants.MENU_FILE, "Close Project" }, "BProject"));
		tool.addAction(closeProjectAction);

		new ActionBuilder("Delete Project", plugin.getName())
				.menuPath(ToolConstants.MENU_FILE, "Delete Project...")
				.menuGroup("CProject")
				.onAction(c -> deleteProject())
				.buildAndInstall(tool);

	}
creates all the menu items for the File menu
Ghidra/Framework/Project/src/main/java/ghidra/framework/main/FileActionManager.java