NAME
    Dist::Zilla::PluginBundle::Author::TABULO - A Dist::Zilla plugin bundle
    à la TABULO

VERSION
    version 1.000008

SYNOPSIS
    In your dist.ini:

        [@Author::TABULO]

DESCRIPTION
    This is the dzil plug-in bundle that TABULO intends to use for his
    distributions.

    It exists mostly because TABULO is very lazy, like many other folks out
    there.

    But since TABULO is probably even lazier than most folks; instead of
    starting his bundle from scratch, he just shopped around to find a few
    bundles that had the most overlap with his taste or whatever; and then
    just slurped stuff, even including some documentation which is what you
    will eventually see here and in the related modules.:-)

    Admittedly, the fact that TABULO was so late in migrating to dzil worked
    to his advantage for this particular task at least, since by that time
    the bold and the brave had already made delicious stuff!

    As such, it is heavily inspired by (and in some places outright copied
    from) several others such as: @DAGOLDEN, @DBOOK, @DROLSKY, @ETHER,
    @KENTNL, @RJBS, @Starter, @Starter::Git, @YANICK.

    (Thank you, folks!).

  WARNING
    Please note that, although this module needs to be on CPAN for obvious
    reasons, it is really intended to be a collection of personal
    preferences, which are expected to be in great flux, at least for the
    time being.

    Therefore, please do NOT base your own distributions on this one, since
    anything can change at any moment without prior notice, while I get
    accustomed to dzil myself and form those preferences in the first
    place...

    Absolutely nothing in this distribution is guaranteed to remain constant
    or be maintained at this point. Who knows, I may even give up on dzil
    altogether...

    You have been warned.

    Also note that the early versions of this module had much more in common
    with that of @ETHER, and tried to keep a compatible interface. This is
    no longer the case. So some stuff will break, and hence the bump of
    major version. But you weren't really using this for your distros
    anyway, right?

    And here comes the rest of the documentation -- some of which slurped
    from the several original sources cited above ... :-)

  OVERVIEW
    Using this plugin bundle (with its default options) is roughly
    equivalent to the following content in "dist.ini".

        ...

        [NameFromDirectory]

        [RewriteVersion::Sanitized]

        [Git::GatherDir]
        exclude_filename = Build.PL
        exclude_filename = CODE_OF_CONDUCT
        exclude_filename = CONTRIBUTING
        exclude_filename = INSTALL
        exclude_filename = LICENCE
        exclude_filename = LICENSE
        exclude_filename = META.json
        exclude_filename = Makefile.PL
        exclude_filename = Meta.yml
        exclude_filename = README
        exclude_filename = README.md
        exclude_filename = README.mkdn
        exclude_filename = README.pod
        exclude_filename = TODO
        exclude_filename = cpanfile
        exclude_filename = inc/ExtUtils/MakeMaker/Dist/Zilla/Develop.pm
        exclude_filename = ppport.h
        include_dotfiles = 1

        [PruneCruft]
        except = (?^u:"\.travis\.yml")
        except = (?^u:"\.perltidyrc")
        except = (?^u:".*/\.gitignore$")
        except = (?^u:".*/\.(git)?keep$")

        [PruneFiles]
        filename = README.pod

        [ManifestSkip]

        [InsertCopyright]

        [SurgicalPodWeaver]
        config_plugin = @Author::TABULO
        post_code_replacer = replace_with_nothing
        replacer = replace_with_comment

        [Pod2Readme]

        [License]

        [InstallGuide]

        [ReadmeAnyFromPod / ReadmeAnyFromPod/MarkdownInBuild]
        filename = README.md
        location = build
        phase = build
        type = markdown

        [Test::Compile]
        fake_home = 1
        xt_mode = 1

        [Test::MinimumVersion]
        max_target_perl = 5.026

        [Test::ReportPrereqs]

        [Test::Perl::Critic]

        [MetaTests]

        [PodSyntaxTests]

        [Test::PodSpelling]

        [Test::Pod::Coverage::Configurable]

        [Test::Portability]
        options = test_one_dot = 0

        [Test::Version]

        [Test::Kwalitee]

        [MojibakeTests]

        [Test::EOL]

        [Authority]
        authority = cpan:TABULO
        do_munging = 0

        [CopyrightYearFromGit]
        continuous_year = 1

        [Keywords]

        [MinimumPerl]

        [AutoPrereqs]
        skip = ^t::lib

        [PrereqsFile]

        [MetaNoIndex]
        directory = corpus
        directory = demo
        directory = eg
        directory = examples
        directory = fatlib
        directory = inc
        directory = local
        directory = perl5
        directory = share
        directory = t
        directory = xt
        package = DB

        [MetaProvides::Package]
        meta_noindex = 1

        [GithubMeta]
        issues = 1
        remote = origin
        remote = github

        [Git::Contributors]

        [Prereqs::AuthorDeps]

        [RemovePrereqs::Provided]

        [PrereqsClean]

        [MetaYAML]

        [MetaJSON]

        [CPANFile]

        [ExecDir]

        [ShareDir]

        [MakeMaker]

        [PromptIfStale]
        check_all_plugins = 1
        modules = Dist::Zilla
        modules = @Author::TABULO

        [Manifest]

        [Git::CheckFor::CorrectBranch]

        [Git::Check]
        allow_dirty = dist.ini
        allow_dirty = Changes

        [CheckMetaResources]

        [CheckPrereqsIndexed]

        [CheckChangesHasContent]

        [ConsistentVersionTest]

        [CheckStrictVersion]

        [CheckVersionIncrement]

        [Test::CheckManifest]

        [RunExtraTests]
        default_jobs = 9

        [TestRelease]

        [ConfirmRelease]

        [UploadToCPAN]

        [CopyFilesFromRelease]
        filename = INSTALL
        filename = LICENSE
        filename = Makefile.PL
        filename = Meta.json
        filename = Meta.yml
        filename = README.md
        filename = cpanfile

        [Regenerate::AfterReleasers]
        plugin = @Author::TABULO/CopyFilesFromRelease

        [Git::Commit / Git::Commit/sourcesAsReleased]
        add_files_in = /
        allow_dirty = Changes
        allow_dirty = INSTALL
        allow_dirty = LICENSE
        allow_dirty = Makefile.PL
        allow_dirty = Meta.json
        allow_dirty = Meta.yml
        allow_dirty = README.md
        allow_dirty = cpanfile
        commit_msg = v%V%n%n%c

        [Git::Tag / Git::Tag/sourcesAsReleased]
        tag_format = release-%v

        [NextRelease]
        format = %-20{-TRIAL}V    %{yyyy-MM-dd HH:mm:ssZZZZZ VVV}d %P
        time_zone = UTC

        [BumpVersionAfterRelease]

        [Git::Commit / Git::Commit/sourcesAfterBump]
        allow_dirty = Changes
        allow_dirty = ARRAY(0x7fd7767bf1e0)
        allow_dirty_match = ^(lib|bin|script)
        commit_msg = After release: bump $VERSION and timestamp Changes

        [Git::CommitBuild / Git::CommitBuild/toBuildBranch]
        branch = build/%b
        multiple_inheritence = 1

        [Git::CommitBuild / Git::CommitBuild/toReleaseBranch]
        branch =
        multiple_inheritence = 1
        release_branch = release/cpan

        [Git::Tag / Git::Tag/toReleaseBranch]
        branch = release/cpan
        tag_format = release-%v

        [Git::Push]
        push_to = origin
        push_to = origin refs/heads/release/cpan:refs/heads/release/cpan
        remotes_must_exist = 0

        [ArchiveRelease]
        directory = releases

ATTRIBUTES
  archive_dir
    Reader: archive_dir

    Type: Str

    Additional documentation: Passed as the 'directory' option, to
    [ArchiveRelease] whose docs are quoted below:

    * The 'directory' [name] may begin with ~ (or ~user) to mean your (or
    some other user's) home directory. * If the directory doesn't exist, it
    will be created during the BeforeRelease phase. * All files inside this
    directory will be pruned from the distribution. Default: 'releases'

  authority
    Reader: authority

    Type: Str

    Additional documentation: Specifies the x_authority field for PAUSE.
    Default: 'cpan:TABULO'

  auto_prereqs
    Reader: auto_prereqs

    Type: Bool

    Additional documentation: Indicates whether or not to use [AutoPrereqs].
    Default: '1'

  auto_version
    Reader: auto_version

    Type: Bool

    Additional documentation: Indicates whether or not to use [AutoVersion]
    instead of our standard plugins for version management. Default: '0'

  copy
    Reader: copy

    Type: ArrayRef

    Additional documentation: Additional files to copy (or regenerate) in
    addition to those that are already harvested by default. [May be
    repeated]. Note that the copying may be done from the build or the
    release, depending on the 'copy_mode' setting. See 'copy_mode'.

  copy_mode
    Reader: copy_mode

    Type: Maybe[Str]

    Additional documentation: Determines the 'copy-mode' and hence
    ultimately the set of plugins used for that purpose. Possible values are
    [Regenerate, Release, Build, Build::Filtered, None]. dzil 'regenerate'
    command will still work. Default: 'Release'

  copy_not
    Reader: copy_not

    Type: ArrayRef

    Additional documentation: Do NOT copy given file(s). [May be repeated].

  darkpan
    Reader: darkpan

    Type: Bool

    Additional documentation: For private code; uses [FakeRelease] and fills
    in dummy repo/bugtracker data. Default: '0'

  dist_genre
    Reader: dist_genre

    Type: Str

    Additional documentation: Specifies the 'genre' of the distro. Currently
    allowed values are: 'standard' (the default) and 'task'.

    This may be used in the future to associate a set behaviours/settings to
    given genres.

    Currently, the only distinction made is for the 'task' genre, which will
    result in [TaskWeaver] being used instead of [SurgicalPodWeaver].
    Default: 'standard'

  exclude_filenames
    Reader: exclude_filenames

    Type: ArrayRef

    Additional documentation: Do NOT gather given file(s). [May be
    repeated].

  exclude_match
    Reader: exclude_match

    Type: ArrayRef

    Additional documentation: Do NOT gather file(s) that match the given
    pattern(s). [May be repeated].

  exec_dir
    Reader: exec_dir

    Type: Maybe[Str]

    Additional documentation: If defined, passed to [ExecDir] as its 'dir'
    option. Defaults to 'script' when the installer is
    [Module::Build::Tiny],undef otherwise, which means the [ExecDir] default
    will be in effect, and that is 'bin' as of this writing.

  fake_release
    Reader: fake_release

    Type: Bool

    Additional documentation: Swaps [FakeRelease] for [UploadToCPAN]. Mostly
    useful for testing a dist.ini without risking a real release. Note that
    this can also be achieved by setting the FAKE_RELEASE environment
    variable (which will have precedence over this option). Default: '0'

  git_remotes
    Reader: git_remotes

    Type: ArrayRef

    Additional documentation: Where to push after release.

  github_issues
    Reader: github_issues

    Type: Str

    Additional documentation: Whether or not to use github issue tracker.
    Default: '1'

  has_xs
    Reader: has_xs

    Type: Bool

  hub
    Reader: hub

    Type: Maybe[Str]

    Additional documentation: The repository 'hub' provider. Currently,
    other than unsetting to undef, the only supported value, which is also
    the default, is 'github'. Other providers, such as 'gitlab' or
    'bitbucket', may be supported in the future. Default: 'github'

  installer
    Reader: installer

    Additional documentation: The installer to employ. Currently, possible
    values are: [MakeMaker, MakeMaker::Awesome, ModuleBuild,
    ModuleBuildTiny, ModuleBuildTiny::Fallback]. Default: 'MakeMaker'

  is_task
    Reader: is_task

    Type: Bool

    Additional documentation: DEPRECATED. Prefer setting instead, like so:

    [@Author::TABULO] dist_genre=task

    Identifies this distro as a 'task'.

    Currently, the only distinction is that, for a task, we use [TaskWeaver]
    instead of [SurgicalPodWeaver].

  manage_versions
    Reader: manage_versions

    Type: Bool

    Additional documentation: Whether or not to manage versioning, which
    means: providing, rewriting, bumping, munging $VERSION in sources, ....
    Default: '1'

  name
    Reader: name

    Type: Str

    This attribute is required.

  no_archive
    Reader: no_archive

    Type: Bool

    Additional documentation: Omit the [ArchiveRelease] plugin. Default: '0'

  no_copy
    Reader: no_copy

    Type: Bool

    Additional documentation: Skip copying files from the build/release :
    ('Makefile.PL', 'cpanfile',' Meta.json', ...). Default: '0'

  no_coverage
    Reader: no_coverage

    Type: Bool

    Additional documentation: Omit PodCoverage tests -- which are actually
    done using [Test::Pod::Coverage::Configurable]. Default: '0'

  no_critic
    Reader: no_critic

    Type: Bool

    Additional documentation: Omit [Test::Perl::Critic] tests. Default: '0'

  no_git
    Reader: no_git

    Type: Bool

    Additional documentation: Bypass all git-dependent plugins. Default: '0'

  no_git_commit
    Reader: no_git_commit

    Type: Bool

    Additional documentation: Omit [Git::Commit] and [Git::CommitBuild] and
    related [Git::Tag] operations. Default: '0'

  no_git_commit_build
    Reader: no_git_commit_build

    Type: Bool

    Additional documentation: Omit [Git::CommitBuild] and related [Git::Tag]
    operations. Default: '0'

  no_git_impact
    Reader: no_git_impact

    Type: Bool

    Additional documentation: Omit any [Git:*] plugins that may modify the
    vcs repository state, such as : [Git::Commit], [Git::CommitBuild],
    [Git::Tag], [Git::Push] and the like. Git plugins that are read-only,
    such as [Git::GatherDir] or [Git::Check] shouldn't be effected by this
    option. Default: '0'

  no_git_push
    Reader: no_git_push

    Type: Bool

    Additional documentation: Omit [Git::Push]. Default: '0'

  no_github
    Reader: no_github

    Type: Bool

    Additional documentation: Do not assume that the repository is backed by
    'github', which currently means abstaining from using [GithubMeta] and
    feeding fake values to [MetaResources] and [Bugtracker] -- which you may
    separately override, by the way, thanks to our[@Config::Slicer] role.

  no_minimum_perl
    Reader: no_minimum_perl

    Type: Bool

    Additional documentation: Omit [Test::MinimumVersion] tests. Default:
    '0'

  no_pod_coverage
    Reader: no_pod_coverage

    Type: Bool

    Additional documentation: Skip [PodCoverage] tests -- Well,
    [Test::Pod::Coverage::Configurable] tests, actually.

  no_pod_spellcheck
    Reader: no_pod_spellcheck

    Type: Bool

    Additional documentation: Skip [Test::PodSpelling] tests.

  no_portability_check
    Reader: no_portability_check

    Type: Bool

    Additional documentation: Skip [Test::Portability] tests. Default: '0'

  no_sanitize_version
    Reader: no_sanitize_version

    Type: Bool

    Additional documentation: When set => We won't prefer
    [RewriteVersion::Sanitized] over [RewriteVersion], which we normally do.
    Default: '0'

  no_spellcheck
    Reader: no_spellcheck

    Type: Bool

    Additional documentation: Omit [Test::PodSpelling] tests. Default: '0'

  payload
    Reader: payload

    Type: HashRef

    This attribute is required.

  plugins
    Reader: plugins

    Type: ArrayRef

  pod_coverage_also_private
    Reader: pod_coverage_also_private

    Type: Maybe[ArrayRef]

    Additional documentation: If defined, passed to
    [Test::Pod::Coverage::Configurable] as its 'also_private' option.

  pod_coverage_class
    Reader: pod_coverage_class

    Type: Maybe[Str]

    Additional documentation: If defined, passed to
    [Test::Pod::Coverage::Configurable] as its 'class' option.

  pod_coverage_skip
    Reader: pod_coverage_skip

    Type: Maybe[ArrayRef]

    Additional documentation: If defined, passed to
    [Test::Pod::Coverage::Configurable] as its 'skip' option.

  pod_coverage_trustme
    Reader: pod_coverage_trustme

    Type: Maybe[ArrayRef]

    Additional documentation: If defined, passed to
    [Test::Pod::Coverage::Configurable] as its 'trustme' option.

  stopwords
    Reader: stopwords

    Type: ArrayRef

    Additional documentation: Additional stopword(s) for Pod::Spell tests.
    [May be repeated]. See also: 'stopword_files' and 'wordlists' for
    alternative mechanisms of adding stopwords.

  stopwords_files
    Reader: stopwords_files

    Type: ArrayRef

    Additional documentation: File(s) that describe additional stopword(s)
    for Pod::Spell tests. [May be repeated]. See also: 'stopwords' and
    'wordlists' for alternative mechanisms of adding stopwords.

  stopwords_providers
    Reader: stopwords_providers

    Type: ArrayRef

    Additional documentation: Perl module(s) for contributing additional
    stopword(s) for spelling tests. [May be repeated]. Note that given
    module(s) would need to expose the same API as Pod::Wordlist. See also:
    'stopwords' and 'stopword_files' for alternative mechanisms of adding
    stopwords.

  tag_format
    Reader: tag_format

    Type: Str

    Additional documentation: The tag format passed to [Git::Tag] after
    committing sources. The default is 'repo-release-v%V%t', which may be
    prefixed by some other string. The idea was copied from @DAGOLDEN who
    chose something more robust than just the version number when parsing
    versions with a regex. Default: 'repo-release-v%V%t'

  tag_format_dist
    Reader: tag_format_dist

    Type: Str

    Additional documentation: The tag format passed to [Git::Tag] after
    committing the build. The default is 'dist-release-v%V%t', which may be
    prefixed by some other string. The idea was copied from @DAGOLDEN who
    chose something more robust than just the version number when parsing
    versions with a regex. Default: 'dist-release-v%V%t'

  version_regexp
    Reader: version_regexp

    Type: Str

    Additional documentation: The version regex that corresponds to the
    'tag_format'. Default: '^(?:[-\w]+)?release-(.+)$'

  weaver_config
    Reader: weaver_config

    Type: Str

    Additional documentation: Specifies a Pod::Weaver bundle to be used.
    Default: '@Author::TABULO'

AUTHORS
    Tabulo[n] <dev@tabulo.net>

SUPPORT
  Bugs / Feature Requests
    Please report any bugs or feature requests through the issue tracker at
    <https://github.com/tabulon-perl/p5-Dist-Zilla-PluginBundle-Author-TABUL
    O/issues>.

  Source Code
    This is open source software. The code repository is available for
    public review and contribution under the terms of the license.

    <https://github.com/tabulon-perl/p5-Dist-Zilla-PluginBundle-Author-TABUL
    O>

      git clone https://github.com/tabulon-perl/p5-Dist-Zilla-PluginBundle-Author-TABULO.git

CONTRIBUTOR
    Tabulo <dev-git.perl@tabulo.net>

LEGAL
    This software is copyright (c) 2022 by Tabulo[n].

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.