diff --git a/{{cookiecutter.project_name_slug}}/doc/source/conf.py b/{{cookiecutter.project_name_slug}}/doc/source/conf.py
new file mode 100755
index 000000000..c523464aa
--- /dev/null
+++ b/{{cookiecutter.project_name_slug}}/doc/source/conf.py
@@ -0,0 +1,76 @@
+"""Sphinx documentation configuration file."""
+from datetime import datetime
+
+from ansys.{{cookiecutter.product_name_slug}}.{{cookiecutter.library_name_slug}} import __version__
+from pyansys_sphinx_theme import pyansys_logo_black
+
+# Project information
+project = "{{ cookiecutter.pkg_name }}"
+copyright = f"(c) {datetime.now().year} ANSYS, Inc. All rights reserved"
+author = "ANSYS, Inc."
+release = version = __version__
+
+# use the default pyansys logo
+html_logo = pyansys_logo_black
+html_theme = "pyansys_sphinx_theme"
+
+# specify the location of your github repo
+html_theme_options = {
+ "github_url": "{{ cookiecutter.repository_url }}",
+ "show_prev_next": False,
+}
+
+# Sphinx extensions
+extensions = [
+ "sphinx.ext.autodoc",
+ "sphinx.ext.autosummary",
+ "numpydoc",
+ "sphinx.ext.intersphinx",
+ "sphinx_copybutton",
+]
+
+# Intersphinx mapping
+intersphinx_mapping = {
+ "python": ("https://docs.python.org/dev", None),
+ # kept here as an example
+ # "scipy": ("https://docs.scipy.org/doc/scipy/reference", None),
+ # "numpy": ("https://numpy.org/devdocs", None),
+ # "matplotlib": ("https://matplotlib.org/stable", None),
+ # "pandas": ("https://pandas.pydata.org/pandas-docs/stable", None),
+ # "pyvista": ("https://docs.pyvista.org/", None),
+}
+
+# numpydoc configuration
+numpydoc_show_class_members = False
+numpydoc_xref_param_type = True
+
+# Consider enabling numpydoc validation. See:
+# https://numpydoc.readthedocs.io/en/latest/validation.html#
+numpydoc_validate = True
+numpydoc_validation_checks = {
+ "GL06", # Found unknown section
+ "GL07", # Sections are in the wrong order.
+ "GL08", # The object does not have a docstring
+ "GL09", # Deprecation warning should precede extended summary
+ "GL10", # reST directives {directives} must be followed by two colons
+ "SS01", # No summary found
+ "SS02", # Summary does not start with a capital letter
+ # "SS03", # Summary does not end with a period
+ "SS04", # Summary contains heading whitespaces
+ # "SS05", # Summary must start with infinitive verb, not third person
+ "RT02", # The first line of the Returns section should contain only the
+ # type, unless multiple values are being returned"
+}
+
+
+# static path
+html_static_path = ["_static"]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ["_templates"]
+
+# The suffix(es) of source filenames.
+source_suffix = ".rst"
+
+# The master toctree document.
+master_doc = "index"
diff --git a/{{cookiecutter.project_name_slug}}/doc/source/index.rst b/{{cookiecutter.project_name_slug}}/doc/source/index.rst
new file mode 100644
index 000000000..d2824a5f6
--- /dev/null
+++ b/{{cookiecutter.project_name_slug}}/doc/source/index.rst
@@ -0,0 +1,6 @@
+..
+ Just reuse the root readme to avoid duplicating the documentation.
+ Provide any documentation specific to your online documentation
+ here.
+
+.. include:: ../../README.rst
diff --git a/{{cookiecutter.project_name_slug}}/pyproject_flit.toml b/{{cookiecutter.project_name_slug}}/pyproject_flit.toml
new file mode 100644
index 000000000..c2d20871b
--- /dev/null
+++ b/{{cookiecutter.project_name_slug}}/pyproject_flit.toml
@@ -0,0 +1,34 @@
+[build-system]
+requires = ["flit_core >=3.2,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+# Check https://flit.readthedocs.io/en/latest/pyproject_toml.html for all available sections
+name = "{{ cookiecutter.pkg_name }}"
+version = "{{ cookiecutter.version }}"
+description = "{{ cookiecutter.short_description }}"
+readme = "README.rst"
+requires-python = ">={{ cookiecutter.requires_python }}"
+license = {file = "LICENSE"}
+authors = [
+ {name = "ANSYS, Inc.", email = "pyansys.support@ansys.com"},
+]
+maintainers = [
+ {name = "PyAnsys developers", email = "pyansys.maintainers@ansys.com"},
+]
+
+classifiers = [
+ "Development Status :: 4 - Beta",
+ "Programming Language :: Python :: 3",
+ "License :: OSI Approved :: MIT License",
+ "Operating System :: OS Independent",
+]
+dependencies = [
+ "importlib-metadata >=4.0",
+]
+
+[tool.flit.module]
+name = "ansys.{{ cookiecutter.product_name_slug }}.{{cookiecutter.library_name_slug }}"
+
+[project.urls]
+Source = "{{ cookiecutter.repository_url }}"
diff --git a/{{cookiecutter.project_name_slug}}/pyproject_poetry.toml b/{{cookiecutter.project_name_slug}}/pyproject_poetry.toml
new file mode 100644
index 000000000..e9fc46ddc
--- /dev/null
+++ b/{{cookiecutter.project_name_slug}}/pyproject_poetry.toml
@@ -0,0 +1,27 @@
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
+
+[tool.poetry]
+# Check https://python-poetry.org/docs/pyproject/ for all available sections
+name = "{{ cookiecutter.pkg_name }}"
+version = "{{ cookiecutter.version }}"
+description = "{{ cookiecutter.short_description }}"
+license = "MIT"
+authors = ["ANSYS, Inc.