@title User Guide: Prototype Applications
@group userguide

Information about prototypes.

Overview
========

Phabricator includes //prototype applications//, which are applications in an
early stage of development.

When we begin working on a new application, we usually implement it as a
prototype first. This allows us to get a better sense of how the application
might work and integrate with other applications, and what technical and product
challenges it might face.

Prototypes are often not generally usable. They usually aren't documented,
don't have safety and correctness checks in place, very rarely have full
integrations or APIs, and may be missing major pieces of critical functionality
or even not work at all. The parts of an application we prototype first
may not be the useful parts.

Some applications leave the prototype phase quickly, but other applications may
not. We build some prototypes just to make sure a specific technical barrier is
surmountable, and may not finish the application for a very long time. In other
cases, the prototype seems less interesting or useful once it starts working
than we might have imagined it would be, or turns out to be far more
challenging than we thought. We may lower the priority of a project or put it
on hold indefinitely if we're less excited about it after we begin building it.

If you're interested in previewing upcoming applications, you can use the
`phabricator.show-prototypes` configuration setting to enable prototypes.
