App-DuckPAN

 view release on metacpan or  search on metacpan

bin/duckpan  view on Meta::CPAN


=head1 DESCRIPTION

DuckPAN is an application built to aid DuckDuckHack contributors with Instant Answer development. It is mainly used by contributors to test Instant Answer triggers and preview their visual design and output.

=head1 NAME

DuckPAN - The DuckDuckHack Developer Tool

=head1 INSTALLATION

Please see L<https://github.com/duckduckgo/p5-app-duckpan#installing-duckpan> for DuckPAN installation instructions

=head1 COMMANDS

=head2 Help

=over 4

=item C<duckpan> OR C<duckpan help> OR C<man duckpan>

Shows you the DuckPAN help page which briefly describes DuckPAN and its features.

=back

=head2 FOR INSTANT ANSWER DEVELOPERS

=over 4

=item C<duckpan check>

Checks if you fulfill all requirements for the development environment. This will run automatically during a B<duckpan release>.

=item C<duckpan query> [package_name ...]

Test Goodie and Spice triggers interactively on the command line. For each query, the Instant Answers triggered will be displayed. This tool should be used to ensure your Instant Answer triggers correctly.

[package_name ...]:
Loads only the specified Spice or Goodie Instant Answers.

Examples:
duckpan query Npm
duckpan query Twitter IsItUp

=item C<duckpan server> [--port <number>] [package_name ...]

Starts a local web server, which emulates the DuckDuckGo production environment. Allows for live testing of Goodie and Spice Instant Answers. This tool should be used to ensure your Instant Answer displays correctly. For Spice Instant Answers, this i...

-p, --port <number>:
Forces DuckPAN server to run on the specified port (default port is 5000)

[package_name ...]:
Loads only the specified Spice or Goodie Instant Answers.

Examples:
duckpan server Movie
duckpan server IDN Sort Morse

=item C<duckpan new> [package name]

Generates all necessary files for a new Spice or Goodie Instant Answer (depending on the current repo). DuckPAN will prompt you for a package name and generate the required files. If the name is already in use, DuckPAN will let you know and no files ...

=item C<duckpan test>

Tests your release, by running the tests in the B<t/> directory using Dzil (if a dist.ini exists) or prove. This will run automatically during a B<duckpan release>.

=item C<duckpan installdeps>

Attempt to install dependencies for the distribution in your current directory using cpanm.

=item C<duckpan roadrunner>

Same as installdeps, but without testing them. Meep meep!

=item C<duckpan publisher>

Starts a local web server which displays static websites created with L<DuckDuckGo-Publisher|https://github.com/duckduckgo/duckduckgo-publisher>.

=item C<duckpan update>

Update DuckPAN to the latest version.

=item C<duckpan upgrade>

Upgrade DuckPAN and DDG to the latest versions.

=back

=head2 FOR DUCKPAN DEVELOPERS

=over 4

=item C<duckpan reinstall>

Force installation of DuckPAN and DDG modules using the installed, pinned, or latest versions, in that order.

=item C<duckpan latest>

Like L<reinstall> except it ignores any installed version.

=item C<duckpan -I [filepath ...]>

Loads the specified external library. This should be used to test changes made to L<App::DuckPAN> and L<DDG>. Example: loading modified DuckPAN modules C<duckpan -I../p5-app-duckpan/lib server>.

=back

=head1 ENVIRONMENT VARIABLES

=over 4

=item C<duckpan env>

View env commands and shows command usage.

=item C<duckpan env help>

View env commands and shows command usage.

=item C<duckpan env set> <name> <value>

Add an environment variable that DuckPAN will remember. This is specifically useful for Spice API keys. Variables are stored in ~/.duckpan/config/env.ini



( run in 0.649 second using v1.01-cache-2.11-cpan-6aa56a78535 )