Awesome Reviewers

When naming identifiers (results, commands, spaces) in shared systems, make names unambiguous, consistent, and context-aware.

Apply these rules: 1) Qualify by namespace/scope to avoid collisions

Example (pattern):

// BAD: collisions if multiple plugins ship the same file basename
const base = basename(file); // e.g. plugin.test.ts
const resultName = base.replace(/\.test\.ts$/, '');

// GOOD: qualify with plugin directory + stem
const plugin = dirnameRelativeToPluginsRoot(file); // e.g. "test-pro"
const stem = basename(file).replace(/\.test\.ts$/, '');
const resultName = `plugin-${plugin}-${stem}`;

2) Keep command/name tokens identical across integrations

3) Validate reserved/semantic tokens before normalization

Example (pattern):

function handleCreateSpace(raw: string) {
  if (raw === "-h" || raw === "help") {
    die("Did you mean /aidlc --help? To create a space, pass a name.");
  }
  const name = slugify(raw);
  // ...rest
}

Net effect: no accidental overwrites/masking, fewer integration regressions, and reserved semantics can’t slip through via normalization edge cases.