Skip to content

sdd init skips new gitignore lines unless --force #45

Closed

Description

@harsha09

What happened

sdd init on a project that already has .sdd/config.yaml throws before it can add newly required ignore lines.

packages/core/src/init.ts returns at the existing-config check (around lines 82–85) when force is false. ensureIgnoreEntries (around lines 297–313), which now appends role-runs/, runs only after that check.

Repro

  1. Use a project that already has .sdd/config.yaml and a .sdd/.gitignore that ends at models/.
  2. Install sdd 0.17.2 (main aecf412, role create/run).
  3. Run sdd init --here --no-agent with no --force.
  4. The command exits with Already initialized (...). Use --force to merge defaults and refresh unchanged generated files.
  5. .sdd/.gitignore still has no role-runs/.

sdd init --here --force --no-agent does append role-runs/ and keeps local constitution and workflow edits. That is a heavier hammer than adding one ignore line.

Why this is separate from #36

#36 is about bundled workflows and templates that stay hidden, and about --force still refusing to refresh an edited or unmarked file. This one is the early return: a new required ignore entry is unreachable without --force, even when the ignore file would only gain a line.

Expected

An existing project can pick up new required .sdd/.gitignore entries, including role-runs/, without --force and without rewriting config, memory, or workflows.

Activity

  1. harsha09 commented on Oct 19, 2026

    @harsha09
    OwnerAuthor

    Shipped in #51 (f6dd94b). A second non-interactive sdd init appends missing ignore lines, including role-runs/, and leaves config and workflows alone. sdd init --force still refreshes unchanged generated files. Issue #37 stays open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions