> ## Documentation Index
> Fetch the complete documentation index at: https://prompt-lockbox.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Here's how you can build your first prompt in 5 minutes !

**Prompt Lockbox is quite easy to install**. Its available on [pypi](https://pypi.org/) index, so all you need is a python package installer [pip](https://pip.pypa.io/en/stable/installation/)!

<Note>
  **Supported Python version**: `> 3.10`
</Note>

## How to install ?

You can directly install the toolkit using [pip](https://pip.pypa.io/en/stable/installation/) or from our [github repo](https://github.com/ananya868/prompt-lockbox/tree/main).

<Info>
  It is advised to **create a new virtual environment** to avoid any unnecessary package conflict.
</Info>

**Install using command** -

```bash theme={null}
pip install prompt-lockbox
```

This will setup Prompt Lockbox and all related dependencies.

Alternatively -

<Accordion title="Install from GitHub repo" icon="github">
  Navigate to your local directory, open command palette and **clone the repo using** -

  ```bash theme={null}
  git clone https://github.com/ananya868/prompt-lockbox.git
  ```

  Then install the toolkit using pip -

  ```bash theme={null}
  pip install -e prompt-lockbox/ 
  ```

  This will install the package in your python environment.
</Accordion>

Setup is done. We can now create a new Prompt Lockbox Project !

## Create a new project

The first step is to create a project, which is nothing but **setting up the necessary directories and configuration files** for you.

To do this, **we will use CLI for this guide**. Well, you can also use the SDK for these tasks, checkout [SDK](/api-reference/sdk_reference). In your project directory, run -

```bash theme={null}
plb init . 
```

This command will initialize a Prompt Lockbox project and build these files -

* **prompts/**: The directory where all your versioned .yml prompt files will live.
* **.plb/**: A hidden directory for internal data in toolkit like search indexes, logs etc.
* **plb.toml**: The main configuration file for your project. You can use it to set project-wide settings, like the AI model for automated tasks.
* **.plb.lock**: The lockfile that stores the secure hashes of your production-ready prompts, protecting them from unauthorized changes.

We have created a Project. Now we can start building prompts !

## Create a Prompt

Now that we have our project, let's create our first prompt. We'll use the interactive `create` command, which guides you through setting up all the required metadata.

In your terminal, run -

```bash theme={null}
plb create 
```

Answer the entries as required. For most, you can just **press Enter to accept the default value**.

Let's say prompt name is **'Customer-support-agent'**. The `create` command creates a new file named `prompts/Customer-support-agent.v1.0.0.yml`.

Hurray! You have created your first prompt. **But note that its just a template and the actual content and other metadata should be filled by the user.**

### Template

Here are two templates for your reference — one is blank, and the other is a completed customer support agent prompt template with content and metadata -

<AccordionGroup>
  <Accordion title="Empty Template (Created by Default)" icon="airplay">
    ```yaml theme={null}
    # PROMPT IDENTITY
    # --------------------
    id: prm_524a1cb9cccd4129b57db8b2f3d9a291
    name: "Customer-support-agent"
    version: "1.0.0"

    # DOCUMENTATION
    # --------------------
    description: ""
    namespace: []
    tags: []

    # OWNERSHIP & STATUS
    # --------------------
    status: "Draft"
    author: "ananya868 <ananya8154@gmail.com>"
    last_update: "2025-06-27T15:00:00.000000+00:00"

    # CONFIGURATION
    # --------------------
    intended_model:
    model_parameters:
      temperature: 0.7

    # NOTES & LINKS
    # --------------------
    linked_prompts: []
    notes: ""

    # - - - 💖 THE PROMPT 💖 - - -
    # ---------------------------------
    # NOTE - Comments inside the prompt are automatically removed on prompt call.
    default_inputs:
      user_input: "Sample Input"

    template: |
      You are a helpful assistant.

      -- Now you can start writing your prompt template! --

      How to use this template:
      - To input a value: ${user_input}
      - To add a comment: {# This is a comment #}

      Create awesome prompts! :)
    ```
  </Accordion>

  <Accordion title="Filled Template" icon="calendar-range">
    ```yaml theme={null}
    # PROMPT IDENTITY
    # --------------------
    id: prm_524a1cb9cccd4129b57db8b2f3d9a291
    name: "Customer-support-agent"
    version: "1.0.0"

    # DOCUMENTATION
    # --------------------
    description: Create a short persuasive email for small tech business owners to
      promote a customer support agent product.
    namespace: [Customer-Support, AI-tool]
    tags:
    - email
    - persuasive
    - small business
    - customer support
    - automation

    # OWNERSHIP & STATUS
    # --------------------
    status: "Draft"
    author: "ananya868 <ananya8154@gmail.com>"
    last_update: "2025-06-27T15:00:00.000000+00:00"

    # CONFIGURATION
    # --------------------
    intended_model: "gpt-4.1"
    model_parameters:
      temperature: 0.7
      max_tokens: 1024

    # NOTES & LINKS
    # --------------------
    linked_prompts: [Customer-monitor-agent]
    notes: "Do not push to production."

    # - - - 💖 THE PROMPT 💖 - - -
    # ---------------------------------
    default_inputs:
      product: "AI customer support agent"

    template: |
      Write a short, persuasive email to small tech business owners promoting an '{{product}}'. Keep the tone friendly and professional. Follow this structure:
      1. Subject Line: Eye-catching and relevant (e.g., '24/7 Support Without Hiring More Staff').
      2. Opening: Greet the reader and mention a common support challenge.
      3. Body: Highlight how the product improves response time, reduces workload, and boosts customer satisfaction. Add a brief success story or stat.
      4. Call to Action: Invite them to book a demo or try it out.
      5. Closing: Sign off warmly with contact info.
    ```
  </Accordion>
</AccordionGroup>

The `create` command builds an empty template. Open the `prompts/Customer-support-agent.v1.0.0.yml` file in your code editor. **Find the template: key and replace the placeholder content with the filled example above or write your own !**

## Run the prompt

<Warning>
  LLM configuration is required for this step. While the toolkit itself is not LLM-dependent, some features rely on it. Please [configure LLM](/configure_llms) before proceeding.
</Warning>

Let's execute our prompt using the `run` command. The command will see the required variables and ask you for them.

**It will run the prompt against a LLM of your choice (llm needs to be set as a configuration)**. Checkout [LLMs](/ai_features#supported-models) to find a list of supported models.

In your terminal, run -

```bash theme={null}
plb run Customer-support-agent --execute
```

It will render the filled prompt and the output generated using the specified LLM.

## Next Steps

Discover AI-Powered Features Available After LLM Setup.

<CardGroup cols={2}>
  <Card title="Configure LLM" icon="pencil" href="/configure_llms">
    Setup your LLM.
  </Card>

  <Card title="AI Features" icon="stars" href="/ai_features">
    Get a quick look on AI features.
  </Card>
</CardGroup>
