# Carebeary import format

This file describes the JSON format that **Carebeary** can import. Use it to turn
tasks exported from another app into something Carebeary understands.

## How to use this with an AI assistant

1. Export your tasks / projects from your other app in whatever format it
   supports (CSV, JSON, Markdown, plain text — anything).
2. Open a chat with an AI assistant (e.g. ChatGPT, Claude, Gemini).
3. Give the assistant **both** this schema file **and** your exported data, and
   ask something like:
   > "Convert my exported tasks into the Carebeary import JSON described in this
   > schema. Output only the JSON."
4. Save the assistant's output as a `.json` file.
5. In Carebeary, go to **Settings → Import actions/projects** and drop that file
   in (or choose it). Imported items are **added** to whatever you already have.

## The format

Output a single JSON object with an `items` array:

```json
{
  "items": [
    {
      "type": "action",
      "title": "Buy wood and nails",
      "category": "House",
      "description": "Pressure-treated 2x4s; check the shed first.",
      "someday": false
    },
    {
      "type": "project",
      "title": "Build a tree house",
      "category": "House"
    }
  ]
}
```

A bare JSON array of item objects (without the surrounding `{ "items": ... }`) is
also accepted.

## Fields

| Field         | Required | Notes |
|---------------|----------|-------|
| `type`        | **Yes**  | Either `"project"` or `"action"`. See "Projects vs actions" below. |
| `title`       | **Yes**  | Short text naming the item. |
| `category`    | No       | A short label/group, e.g. `"Work"`, `"Home"`. Omit if there is none. |
| `description` | No       | Longer notes. Markdown is supported. |
| `someday`     | No       | `true` to park a **project** under "Someday / maybe". Ignored for actions. |

Every item **must** have a `type` and a `title`. Any other fields are ignored.

## Projects vs actions (IMPORTANT)

Carebeary follows GTD, which separates two kinds of things:

- A **project** is a desired outcome you are committed to but cannot directly
  "do" in a single step — e.g. "Family harmony", "Build a tree house".
- An **action** is a single, concrete, physical next action you can actually do
  right now — e.g. "Call the plumber", "Buy wood and nails".

Every imported item must be classified as exactly one of these.

**If it is not obvious from the source data whether the items are projects or
actions, ASK THE USER before producing the JSON.** For example, ask:

> "Should I import these all as actions, all as projects, or decide for each
> item individually?"

Do not guess silently when the source is ambiguous — confirm with the user
first, then set `type` accordingly.

## Output rules

- Output **only** the JSON, with no commentary and no surrounding code fence, so
  it can be saved straight to a `.json` file.
- Use UTF-8 text.
- Keep `title` concise; put any extra detail in `description`.
- `category` is free text — items that share the same category name are grouped
  and color-coded together in Carebeary.
