package App::lcpan::Manual::Cookbook;

# AUTHORITY
# DATE
our $DIST = 'App-lcpan-Manual'; # DIST
# VERSION

1;
# ABSTRACT: App::lcpan cookbook

__END__

=pod

=encoding UTF-8

=head1 NAME

App::lcpan::Manual::Cookbook - App::lcpan cookbook

=head1 VERSION

version 1.058.000

=head1 DESCRIPTION

Items relevant to CPAN authors are tagged with C<[author]>.

=head1 QUERYING AUTHORS

=head2 Listing recent authors

TODO.

=head1 QUERYING DEPENDENCIES

=head2 Checking if your distribution depends on a non-core Perl module [author]

 % lcpan deps YOUR-DIST --exclude-core

=head2 Checking if your distribution specifies a circular dependency

TODO.

=head2 Finding out if there is any broken prerequisites specified by one of your distributions [author]

To find out which prerequisites that your distributions specify but are
currently not indexed (i.e. probably cannot be installed by users):

 % lcpan author-deps YOURCPANID --broken --dont-uniquify

=head2 Listing distributions of other CPAN authors that depend on one of your modules [author]

    % lcpan author-rdeps YOURCPANID --user-author-isnt YOURCPANID

=head2 Listing distributions of other CPAN authors that recently depend on one of your modules [author]

    # Show dependencies that were added in the last 2 weeks
    % lcpan author-rdeps YOURCPANID --user-author-isnt YOURCPANID --added-since '2 weeks ago'

    # Show dependencies that were updated in the last 2 weeks
    % lcpan author-rdeps YOURCPANID --user-author-isnt YOURCPANID --updated-since '2 weeks ago'

    # Show dependencies that were not present before your last 'lcpan update'
    % lcpan author-rdeps YOURCPANID --user-author-isnt YOURCPANID --added-in-last-update

=head2 Showing what other distributions you will have to download and install when you install a module

TODO.

=head1 QUERYING DISTRIBUTIONS

=head2 Listing recent distributions

TODO

=head1 QUERYING MODULES

=head2 Comparing version of installed modules vs local CPAN versions

 % lcpan ver-cmp-installed
 % lcpan ver-cmp-installed --older-than-db                ;# outdated modules (modules that need to be updated)
 % lcpan ver-cmp-installed --older-than-db --exclude-core ;# noncore outdated modules (noncore modules that need to be updated)

The C<ver-cmp-installed> subcommand is distributed in
L<App::lcpan::CmdBundle::ver>.

This can also be done using tools like L<cpan-outdated> (from
L<App::cpanoutdated>) or L<cpan-outdated-coro> (from
L<App::cpanoutdated::coro>).

To update outdated modules:

 % lcpan-ver-cmp-installed --older-than-db | td select module | lcpanm -n

L<td> is provided by L<App::td>.

=head2 Listing recent modules

    # Show modules that were added in the last 2 weeks
    % lcpan mods -l --added-since '2 weeks ago'

    # Show modules that were updated in the last 2 weeks
    % lcpan mods -l --updated-since '2 weeks ago'

    # Show modules that were not present before the last 'lcpan update'
    % lcpan mods -l --added-in-last-index-update

There's also C<lcpan whatsnew>.

=head2 Showing related modules

You like L<Sub::Exporter> and wonder what other modules might be similar or
related to it:

    % lcpan related-mods Sub::Exporter

=head1 AUTHOR

perlancar <perlancar@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by perlancar@cpan.org.

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

=cut