The deeep.json file in your repository root stores the link between your local project and deeepSpace, plus the settings used to discover and sync your components. Run commands from the repository root containing this file: the CLI loads configuration from the current working directory, not by searching parent directories. Discovery paths are relative to the Git root. The file is maintained by the CLI and may also be rewritten after other successful commands. Use valid JSON and repository-relative paths without ..; paths resolving outside the repository are rejected. Repair malformed JSON before reinitializing, since --force does not bypass configuration loading.

Configuration structure


Project fields


Project settings fields


Stack detection

After initialization, the CLI detects framework, language, styling, and styleMode and asks whether to update the remote project settings. After sync, it skips this prompt when those four values already match. Declining keeps the existing settings; an API update failure is reported as a warning. Other preferences such as remBaseFontSize and customInstructions are not inferred by stack detection. Detection uses the root package.json and source-file signals. Review its suggestion in monorepos or mixed-framework repositories. Editing local projectSettings alone is not a general remote-settings update command.

Detected values

Frameworks

Languages

Styling

Style modes

The detector does not emit inline. Framework detection does not imply full source-analysis support: for example, svelte is detected as a stack value, but .svelte files are not scanned by CLI discovery. See discovery coverage.

Discovery configuration

The discovery object tells the CLI how to find your components.

CLI discovery

Use this method when you want the CLI to scan your source files directly.

Storybook discovery

Use this method when your components are documented with Storybook.
The generated Storybook index determines the story set. storybookConfigDirectory defaults to .storybook during index generation; storybookIndexJsonPath must be configured. hostStorybook can also be used with CLI discovery when the repository has a Storybook build script. See Storybook discovery and hosting for full behavior.

Legacy configuration

When there is no nonempty discovery object, the CLI recognizes the older project.discoveryType values cli and storybook case-insensitively and supplies default discovery settings. It removes that legacy field from the loaded project. Run deeep init --force to review and save explicit settings for the current layout.

Best practices

  1. Keep deeep.json in version control so the whole team uses the same project link and discovery rules.
  2. Do not edit uuid or gitRepoUrl manually unless you know the values are correct.
  3. Use deeep init --force to safely change discovery settings or relink the project.
  4. Verify discovery with deeep sync --dry-run before syncing to deeepSpace.