Repository: kedro-org/kedro

Issue:
Improving shortname handling of --addons flag 
## Description

The shortnames we've allocated for the add ons fluctuate on whether they are plural or not. log vs logs, test vs tests. 

At the moment the short names are: `log,test,lint,data,docs,viz`. But many engineers instinctively think of `logs` rather than `log` and `tests` rather than `test`. However, `lints` doesn't work. etc 

Having discussed with @AhdraMeraliQB @noklam  we weren't able to find a consistent rule to apply across all the options. 

Proposal: 
either 
1. accept both options i.e. both `--addons=log` and `--addons=logs` will work to select the logging addon
2. implement smarter error messages i.e. if the user types `logs` but its meant to be `log` we error `Did you mean --addons=log` to help them realise their mistake. Same for `tests` and `test` 


Discussion:
AhdraMeraliQB: An edge case more than anything else, but as well as the duplicates in the message we also see duplicates in the `pyproject.toml` - is this something we want to handle on our side?

`kedro new --tools=test,tests,log,logs,doc,docs`

![image](https://github.com/kedro-org/kedro/assets/90615669/6b9d8a37-7ec5-4a27-ab48-5683e290d258)


Patch:
diff --git a/kedro/framework/cli/starters.py b/kedro/framework/cli/starters.py
index 6c976d58..4384ebc1 100644
--- a/kedro/framework/cli/starters.py
+++ b/kedro/framework/cli/starters.py
@@ -110,8 +110,11 @@ _OFFICIAL_STARTER_SPECS = {spec.alias: spec for spec in _OFFICIAL_STARTER_SPECS}
 TOOLS_SHORTNAME_TO_NUMBER = {
     "lint": "1",
     "test": "2",
+    "tests": "2",
     "log": "3",
+    "logs": "3",
     "docs": "4",
+    "doc": "4",
     "data": "5",
     "pyspark": "6",
     "viz": "7",


Test patch:
diff --git a/tests/framework/cli/test_starters.py b/tests/framework/cli/test_starters.py
index ff79531f..85ad7afb 100644
--- a/tests/framework/cli/test_starters.py
+++ b/tests/framework/cli/test_starters.py
@@ -1222,13 +1222,16 @@ class TestToolsAndExampleFromCLI:
         [
             "lint",
             "test",
+            "tests",
             "log",
+            "logs",
             "docs",
+            "doc",
             "data",
             "pyspark",
             "viz",
             "none",
-            "test,log,docs",
+            "tests,logs,doc",
             "test,data,lint",
             "log,docs,data,test,lint",
             "log, docs, data, test, lint",