Collections & folders

A collection is an ordinary folder on your disk. Every request inside it is a plain-text .tiger file, subfolders nest arbitrarily, and the whole tree is version-controlled with Git - no proprietary database, no account.

What a collection looks like on disk

When you open a folder in Tiger, or create a new one, Tiger reads it as a collection. The layout is straightforward:

my-api/                       ← collection root (the folder you open)
  collection.tiger            ← optional collection settings
  environments/
    staging.tiger             ← named environment
    production.tiger
  get-users.tiger             ← a request at the collection root
  auth/
    login.tiger               ← a request in the "auth" folder
    refresh-token.tiger
  posts/
    create-post.tiger
    folder.tiger              ← optional folder settings
    drafts/
      list-drafts.tiger

Tiger scans the root recursively. Any .tiger file that is not named collection.tiger or folder.tiger, and is not inside the environments/ directory, is treated as a request. Hidden directories (names starting with .) are skipped, so your .git folder is never touched.

Because the files are plain text, you can rename, move, duplicate or delete requests from your file manager or terminal - Tiger picks up the changes the next time you open the collection.

collection.tiger - collection settings

Placing a collection.tiger file at the root lets you store collection-level settings. The file is optional; Tiger opens the folder even without one.

Three things can go in collection.tiger:

meta {
  name: JSONPlaceholder API
}

auth:bearer {
  token: {{token}}
}

docs {
  Public REST API at https://jsonplaceholder.typicode.com.
  Rate-limited to 100 requests/minute per IP.
}

The auth:bearer block above means every request inherits bearer auth automatically. A request that adds its own auth:basic block will use basic auth instead. A request that adds auth:none sends no auth at all, regardless of the collection default.

folder.tiger - folder-level settings

A folder.tiger file inside any subfolder stores the same three fields as collection.tiger: a display name, a default auth for requests inside that folder, and a docs block. Folder settings override collection settings for requests inside the folder.

Creating a new collection

Tiger offers three ways to start a collection:

Multiple collections can be open at the same time. Each appears as its own collapsible section in the sidebar.

Sidebar - the full action set

Everything you need to manage a collection is in the sidebar, accessible from the row buttons or the right-click context menu.

Collection-level actions

Action How to trigger
New request + icon on the collection row, or Cmd/Ctrl+T
Open collection settings Click the collection name row (opens it as a tab)
Git panel Git branch icon on the collection row, or the inline git-status chips
Close collection × icon on the collection row
Context menu Right-click anywhere on the collection name row

Folder actions

Action How to trigger
Expand / collapse Click the chevron, or click the folder row
Open folder settings Click the folder name (opens it as a tab)
Rename folder Double-click the folder name, or right-click and choose Rename
Duplicate folder Copy icon on the folder row, or right-click and choose Duplicate
Drop a request into a folder Drag a request row and release it on the target folder row (moves the file on disk)

Request actions

Action How to trigger
Open request Click the request row
Rename request Double-click the request name, or press F2 while the request is active
Duplicate request Copy icon on the request row
Delete request Trash icon on the request row (confirmation required)
Move to a different folder Drag the request row and drop it onto a folder row or the collection header
Right-click menu Right-click any request row for Close / Close others / Close to right / Close all / Reveal in sidebar

Drag-and-drop moves the .tiger file on disk. The change is immediately reflected in your working directory, so it will appear as a rename in git status.

Inline rename

Tiger follows the file-manager convention for renaming. Double-click any request or folder name in the sidebar to start editing it inline. Press Enter to confirm or Escape to cancel. For the currently active request, pressing F2 starts rename without needing the mouse.

Renaming a request renames the underlying .tiger file on disk (and updates the meta.name field inside it). Renaming a folder renames the directory.

Search

The search box at the top of the sidebar filters across all open collections by request name. Matching requests are shown flat, grouped by collection name, so you can find a request without knowing which folder it lives in. Clear the search to return to the full tree view.

Git status chips

When a collection folder is a Git repository, the collection header shows small status chips:

Clicking any chip opens the Git panel for that collection. The full Git workflow (status, diff, commit, pull, push, branch, log, and more) is documented on the Git integration page.

Tabs

Every request and every collection or folder page opens in its own tab at the top of the editor area. Tabs let you work on several requests at once and switch between them quickly.

Tab shortcuts

Action macOS Windows / Linux
Switch to tab 1-9 Cmd+1 - 9 Ctrl+1 - 9
Close current tab Cmd+W Ctrl+W
Cycle to next tab Cmd+Shift+] Ctrl+Shift+]
Cycle to previous tab Cmd+Shift+[ Ctrl+Shift+[
New request tab Cmd+T Ctrl+T

Drag-to-reorder

Drag any tab left or right along the tab bar to reorder it. The new order is remembered within the session.

Unsaved-change indicator

A small dot appears on a tab when the request has unsaved changes. The dot disappears after you save (Cmd/Ctrl+S).

Session restore

When you quit and reopen Tiger, the sidebar restores all previously open collections, and the tab strip and active tab are exactly as you left them. You pick up where you stopped without manually reopening anything.

Right-click tab menu

Right-clicking a tab shows options to close just that tab, close all other tabs, close tabs to the right, close all tabs, or reveal the corresponding request in the sidebar.

The .tiger file format

Each request is stored as a single .tiger text file. The format uses named blocks, is readable in any editor, and produces clean, reviewable diffs. A minimal example:

meta {
  name: Create post
  seq: 2
}

post {
  url: {{baseUrl}}/posts
}

headers {
  Content-Type: application/json
}

body:json {
  { "title": "Hello from Tiger" }
}

auth:bearer {
  token: {{token}}
}

capture {
  postId: body.id
}

A ~ prefix on a header or query-param line disables it without deleting it - handy for commenting out a value during debugging. The capture block writes a value from the response into an environment variable for the next request in a chain.

For the full field reference see the .tiger format page.

Importing an existing collection

If your team already has a collection in Postman, Insomnia, Bruno, or OpenAPI, you can import it instead of rebuilding it by hand. Tiger converts each request into its own .tiger file and creates matching subfolders. The importer handles:

Click the Import / Export icon (double-arrow) in the sidebar header to open the importer. The full import guide is on the Importing page.

Related pages

.tiger format
Field-by-field reference for the plain-text request and environment files.
Variables & environments
Named environments, {{variable}} interpolation, secrets, and dynamic variables.
Importing
Bring in collections from Postman, Insomnia, Bruno, OpenAPI, WSDL, and curl.
Git integration
Commit, branch, push, pull, diff and sync collections from inside Tiger.