NAME

duckpan - Command line tool for using the DuckPAN of DuckDuckGo

VERSION

version 0.183

SYNOPSIS

duckpan [-I=<path>] [-v|--verbose] <command> [<args>]

Commands include:

    check           Check if you fulfill all requirements for the development environment
    env             Add, remove or retrieve values from DuckPAN's Env.ini
    help            View more detailed help information
    installdeps     Install all Perl dependencies
    new             Generate new Instant Answer skeleton
    poupload        Upload .po translations file to Duck.co
    publisher       Start local web server for DuckDuckGo-Publisher static websites
    query           Test Instant Answer triggers on command line
    reinstall       Reinstall most recent DuckPAN and DDG Perl modules
    release         Pushes a new release of the current project to duckpan.org
    roadrunner      Same as installdeps, but skips tests (dangerous!)
    server          Start local web server to test Instant Answer display
    setup           Configure Duck.co and PAUSE account 'poupload' and 'release'
    update          Installs newest DuckPAN packages
    upgrade         Installs newest DuckPAN and DDG packages

Use 'duckpan help' or 'man duckpan' for more details.

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.

NAME

DuckPAN - The DuckDuckHack Developer Tool

INSTALLATION

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

COMMANDS

Help

duckpan OR duckpan help OR man duckpan

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

FOR INSTANT ANSWER DEVELOPERS

duckpan check

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

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

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 is especially important to verify API calls are successful and no JavaScript errors exist.

-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

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 will be created.

duckpan test

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

duckpan installdeps

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

duckpan publisher

Starts a local web server which displays static websites created with DuckDuckGo-Publisher.

duckpan update

Update DuckPAN to the latest version.

duckpan upgrade

Upgrade DuckPAN and DDG to the latest versions.

FOR DUCKPAN DEVELOPERS

duckpan reinstall

Force installation of the latest released versions of DuckPAN and DDG.

duckpan -I [filepath ...]

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

FOR DUCKDUCKHACK ADMINS

duckpan setup

Helps configure your environment so you can use Dist::Zilla::Plugin::UploadToDuckPAN, which is used by duckpan release.

duckpan release

Pushes a new release of the current project (ie. Spice, Goodie or Publisher) to DuckPAN.org

duckpan roadrunner

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

FOR TRANSLATION MANAGERS

duckpan poupload [--domain] filepath

Upload a po file to the Community Platform.

ENVIRONMENT VARIABLES

duckpan env

View env commands and shows command usage.

duckpan env help

View env commands and shows command usage.

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

duckpan env get <name>

Retrieve the matching key for a given env variable.

duckpan env rm <name>

Remove an environment variable from DuckPAN.

duckpan env list

Lists all the env variables currently stored in ~/.duckpan/config/env.ini.

SEE ALSO

https://github.com/duckduckgo/p5-app-duckpan
https://github.com/duckduckgo
https://duckduckgo.com
https://duck.co
http://duckpan.org

CONTRIBUTION

To contribute to DuckPAN, please visit https://github.com/duckduckgo/p5-app-duckpan. We also welcome and encourage contributions from our community. Please visit http://duckduckhack.com/ to contribute new Instant Answers, or visit https://duck.co/ideas to share your ideas and Instant Answer source suggestions.

SUPPORT

IRC

We invite you to join us at #duckduckgo on irc.freenode.net for any queries and lively discussion.

Repository

https://github.com/duckduckgo/p5-app-duckpan

Issue Tracker

https://github.com/duckduckgo/p5-app-duckpan/issues

AUTHOR

Torsten Raudssus <torsten@raudss.us> https://raudss.us/

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by DuckDuckGo, Inc. https://duckduckgo.com/.

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