(questions-target)= # Template questions During project creation or when an update introduces a new variable, you will be prompted with some of the following questions: :::{question} project_name ::: ## `project_name` The name of the project, particularly for PyPI. The final name depends on {question}`no_saltext_namespace`. **Example**: `vault` :::{important} Do not include the `saltext.` namespace here. ::: :::{question} author ::: ## `author` The main author’s name for PyPI package metadata and licensing. **Example**: `Foo Bar` :::{question} author_email ::: ## `author_email` A contact email address for PyPI package metadata. **Example**: `foo@b.ar` :::{question} integration_name ::: ## `integration_name` The name of the integrated service, used in autogenerated documentation and README. **Example**: `HashiCorp Vault` :::{question} summary ::: ## `summary` A short description of the project for PyPI metadata, documentation, and README. **Example**: `Salt extension for interacting with HashiCorp Vault` :::{question} url ::: ## `url` The project's main URL for PyPI metadata, typically the hosted git repository. **Example**: `https://github.com/salt-extensions/saltext-vault` :::{question} source_url ::: ## `source_url` The URL of the hosted git repository for PyPI metadata. **Example**: `https://github.com/salt-extensions/saltext-vault` :::{question} tracker_url ::: ## `tracker_url` The URL of the issue tracker for PyPI metadata. **Example**: `https://github.com/salt-extensions/saltext-vault/issues` :::{question} package_name ::: ## `package_name` The Python package name used for importing. The final name depends on {question}`no_saltext_namespace`. **Example**: `vault` :::{important} Do not include the `saltext.` namespace here. ::: :::{question} license ::: ## `license` Select a license. Any license other than Apache 2.0 requires manual management. :::{question} license_classifier ::: ## `license_classifier` The license classifier for PyPI metadata. **Example**: `License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)` :::{note} Only asked if a non-Apache {question}`license` is selected. ::: :::{question} loaders ::: ## `loaders` Choose the Salt module types this extension should provide. :::{question} salt_version ::: ## `salt_version` The minimum Salt version to support. Influences package dependencies and versions that are tested against. :::{question} python_requires ::: ## `python_requires` The minimum Python version to support. Also affects pre-commit autoformatting hooks. :::{question} max_salt_version ::: ## `max_salt_version` The maximum Salt version to support. :::{hint} This is only relevant when non-centralized {question}`workflows` are used, as it affects the Salt versions tests are run against. ::: :::{question} no_saltext_namespace ::: ## `no_saltext_namespace` Whether to use the `saltext.` namespace for the Python package. :::{question} ssh_fixtures ::: ## `ssh_fixtures` Include test fixtures for Salt-SSH tests (`salt_ssh_cli` etc.). Defaults to true if `wrapper` {question}`modules ` are included. :::{question} test_containers ::: ## `test_containers` Add support for running containers in the test suite (for functional and integration tests). :::{question} workflows ::: ## `workflows` Select a GitHub Actions workflow style: **org** : Rely on reusable workflows from the `salt-extensions` GitHub organization. **enhanced** : Equivalent workflows to `org`, but stored in the extension repository. You need to [setup required secrets](required-secrets-target) yourself. **basic** : Provided for compatibility with the deprecated create-salt-extension tool (not recommended for new projects). :::{note} Not asked if {question}`source_url` is not on GitHub. ::: :::{question} deploy_docs ::: ## `deploy_docs` Decide when to [publish documentation to GitHub pages](docs-publish-target): **never** : Don’t publish documentation. **release** : Publish when a release is tagged. This ensures documentation is in sync with the released functionality. **rolling** : Publish on `push` and `tag` events to the default branch. This ensures upcoming unreleased changes are displayed in the changelog. :::{important} Ensure your GitHub Actions workflow is [allowed to publish](docs-publish-setup-target) to your GitHub Pages site. ::: :::{note} The current workflows do not support versioned documentation. ::: :::{note} Not asked if {question}`source_url` is not on GitHub or the `basic` {question}`workflows` have been selected. ::: :::{question} docs_url ::: ## `docs_url` The URL for hosted documentation, typically your GitHub Pages URL if using {question}`deploy_docs`. **Example**: `https://salt-extensions.github.io/saltext-vault/` :::{question} coc_contact ::: ## `coc_contact` A contact email for Code of Conduct complaints. **Example**: `foo@b.ar` :::{question} copyright_begin ::: ## `copyright_begin` The starting year of the copyright range. **Example**: `2024` :::{question} relax_pylint ::: ## `relax_pylint` Suppress some Pylint messages that can cause noise (`consider-using-f-string`) or be time-intense (`too-many-*`) or difficult (`redefined-builtin`, `redefined-outer-name`) to solve with legacy code. Additionally suppresses `unused-argument` in the test suite, often caused by requesting fixtures in the function signature instead of using `@pytest.mark.usefixtures`. Note that the decorator does not work on fixtures requesting other fixtures.