We use decision template is based on \href{https://dl.acm.org/doi/10.1109/MS.2007.124}{\tt \textquotesingle{}\textquotesingle{}using patterns to capture architectural decisions\textquotesingle{}\textquotesingle{}} and \href{http://docs.arc42.org/section-9/}{\tt arc42 decisions}

Decisions need to\+:


\begin{DoxyItemize}
\item be implementable within the next major release
\item be according to \hyperlink{doc_GOALS_md}{Elektra\textquotesingle{}s goals}
\end{DoxyItemize}

To add a new decision copy {\ttfamily template.\+md} and add a link in the appropriate section here.


\begin{DoxyItemize}
\item \hyperlink{doc_decisions_unit_testing_md}{Unit Testing}
\item \hyperlink{doc_decisions_script_testing_md}{Script Testing}
\item \hyperlink{doc_decisions_library_split_md}{Library Split}
\item \hyperlink{doc_decisions_bootstrap_md}{Bootstrap}
\item \hyperlink{doc_decisions_empty_files_md}{Empty Files}
\item \hyperlink{doc_decisions_cmake_plugins_md}{C\+Make Plugins}
\item \hyperlink{doc_decisions_logging_md}{Logging}
\item \hyperlink{doc_decisions_elektra_web_md}{Elektra Web Structure}
\item \hyperlink{doc_decisions_elektra_web_recursive_md}{Elektra Web Recursive Structure}
\item \hyperlink{doc_decisions_cryptograhic_key_handling_md}{Cryptographic Key Handling}
\item \hyperlink{doc_decisions_relative_md}{Relative Storages}
\item \hyperlink{doc_decisions_deferred_plugin_calls_md}{Deferred Plugin Calls}
\item \hyperlink{doc_decisions_high_level_api_md}{High-\/level A\+PI}
\item \hyperlink{doc_decisions_highlevel_help_message_md}{High-\/level A\+PI Help Message}
\item \hyperlink{doc_decisions_global_keyset_md}{Global Key\+Set}
\item \hyperlink{doc_decisions_rest_api_documentation_md}{Rest A\+PI Documentation}
\item \hyperlink{doc_decisions_ingroup_removal_md}{Ingroup Removal}
\item \hyperlink{doc_decisions_commit_function_md}{Commit Function}
\item \hyperlink{doc_decisions_error_message_format_md}{Error Message Format}
\item \hyperlink{doc_decisions_default_values_md}{Default Values}
\item \hyperlink{doc_decisions_high_level_api_md}{High Level A\+PI}
\item \hyperlink{doc_decisions_error_codes_md}{Error codes}
\item \hyperlink{doc_decisions_error_code_implementation_md}{Error code implementation}
\end{DoxyItemize}


\begin{DoxyItemize}
\item \hyperlink{doc_decisions_warning_array_md}{Array for Warnings}
\end{DoxyItemize}


\begin{DoxyItemize}
\item \hyperlink{doc_decisions_semantics_name_md}{Semantics for Name}
\item \hyperlink{doc_decisions_base_name_md}{Base Name}
\item \hyperlink{doc_decisions_store_name_md}{Store the escaped and/or unescaped key name}
\item \hyperlink{doc_decisions_metadata_sources_md}{Sources for Metadata}
\item \hyperlink{doc_decisions_lookup_every_key_md}{Lookup every key}
\item \hyperlink{doc_decisions_holes_md}{Holes and Non-\/leaf values}
\item \hyperlink{doc_decisions_arbitrary_metadata_md}{Arbitrary Meta-\/\+Data}
\item \hyperlink{doc_decisions_multiple_file_backends_md}{Multiple File Backends}
\item \hyperlink{doc_decisions_capabilities_md}{Capabilities}
\item \hyperlink{doc_decisions_array_md}{Array}
\item \hyperlink{doc_decisions_boolean_md}{Boolean}
\item \hyperlink{doc_decisions_global_plugins_md}{Global Plugins}
\item \hyperlink{doc_decisions_vendor_spec_md}{Vendor Spec}
\item \hyperlink{doc_decisions_plugin_variants_md}{Plugin Variants}
\item \hyperlink{doc_decisions_global_validation_md}{Global Validation}
\end{DoxyItemize}


\begin{DoxyItemize}
\item \hyperlink{doc_decisions_cmake_spec_md}{C\+Make spec}
\item \hyperlink{doc_decisions_null_pointer_checks_md}{Null Pointer Checks}
\item \hyperlink{doc_decisions_elektra_web_pubsub_md}{Elektra Web Publish Subscribe}
\item \hyperlink{doc_decisions_internal_cache_md}{Internal Cache} 
\end{DoxyItemize}