duckpan - Command line tool for using the DuckPAN of DuckDuckGo


version 0.137


See App::DuckPAN for more information.


The DuckDuckHack Testing Tool


DuckPAN is an application built to provide developers a testing environment for DuckDuckHack Instant Answers. It allows you to test instant answer triggers and preview their visual design and output.


Please see for all information regarding the installation of DuckPAN.


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

duckpan query: 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.

duckpan server: [--verbose] [--no-cache] 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.

    -v, --verbose:
        Provides more output from server

        Forces the cache to be repopulated each time the server starts (defaults to using cached copies of assets unless newer versions exist)

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

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 poupload: Upload a po file to the Community Platform. This is for Translation Managers only.

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

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

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


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

duckpan env rm name Remove an environment variable from DuckPAN.


duckpan -Ilib: 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.



To contribute to DuckPAN, please visit We also welcome and encourage contributions from our community. Please visit to contribute new instant answers, or visit to share your ideas and instant answer source suggestions.



    We invite you to join us at B<#duckduckgo> on B<> for any queries and lively discussion.



Issue Tracker:


Torsten Raudssus <>


This software is copyright (c) 2013 by DuckDuckGo, Inc.

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