# Quick start ## Initialize your workspace The easiest way to start is by running `firm init` in an empty directory: ```bash mkdir my_workspace cd my_workspace firm init ``` This interactive command will help you set up your workspace by: - Creating default schemas for common entity types (Person, Organization, Task, etc.) - Adding a `.gitignore` file for Firm's graph files - Creating starter entities (you and your organization) - Adding AI context documentation for AI coding assistants Once initialized, your workspace is ready to use! ## Add your first entity Use `firm add` to generate new entities. The CLI will prompt you for the necessary info and generate corresponding DSL. ```bash $ firm add ``` ``` Adding new entity > Type: organization > ID: megacorp > Name: Megacorp Ltd. > Email: mega@corp.com > Urls: ["corp.com"] Writing generated DSL to file my_workspace/generated/organization.firm ``` You can also use `firm add` non-interactively by providing its type, ID and fields: ```bash $ firm add --type organization --id megacorp --field name "Megacorp Ltd." ``` ## View your entities Use `firm list` to see all entities of a specific type: ```bash $ firm list organization ``` ``` Found 1 entities with type 'organization' ID: organization.megacorp Name: Megacorp Ltd. Email: mega@corp.com Urls: ["corp.com"] ``` ## Query your data Once you have a few entities, you can search and filter them using Firm's query language: ```bash $ firm query 'from organization | where name contains "Mega"' ```