Fission-AI/OpenSpec · error · Error

Store root is not a directory.

Error message

Store root is not a directory.

What it means

Error "Store root is not a directory." thrown in Fission-AI/OpenSpec.

Source

Thrown at src/core/openspec-root.ts:306

    kind: 'file',
  });
}

export interface EnsureOpenSpecRootOptions {
  anchorEmptyDirectories?: boolean;
}

export async function ensureOpenSpecRoot(
  storeRoot: string,
  options: EnsureOpenSpecRootOptions = {}
): Promise<EnsureOpenSpecRootResult> {
  const ledger: CreatedPathLedgerEntry[] = [];
  const rootKind = await pathKind(storeRoot);

  if (rootKind === 'missing') {
    await fs.mkdir(storeRoot, { recursive: true });
  } else if (rootKind !== 'directory') {
    throw new Error('Store root is not a directory.');
  }

  await ensureDirectory(storeRoot, OPENSPEC_ROOT_DIR, ledger);
  await ensureDirectory(storeRoot, OPENSPEC_SPECS_DIR, ledger);
  await ensureDirectory(storeRoot, OPENSPEC_CHANGES_DIR, ledger);
  await ensureDirectory(storeRoot, OPENSPEC_ARCHIVE_DIR, ledger);
  await ensureDefaultConfig(storeRoot, ledger);

  if (options.anchorEmptyDirectories) {
    for (const relativeDir of ANCHORED_OPENSPEC_DIRS) {
      await ensureDirectoryAnchor(storeRoot, relativeDir, ledger);
    }
  }

  return {
    inspection: await inspectOpenSpecRoot(storeRoot),
    createdArtifacts: ledger.map((entry) => entry.relativePath),
    createdPaths: ledger,

View on GitHub (pinned to 6926ccb18a)

When it happens

Trigger: Thrown at src/core/openspec-root.ts:306 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25). Data as JSON: /api/errors/8da4f97a8e13f49a. Report an issue: GitHub.