affaan-m/ECC · error · Error

Missing GitHub repo. Pass --repo <owner/repo>.

Error message

Missing GitHub repo. Pass --repo <owner/repo>.

What it means

Precondition guard in syncGithubWorkItems: options.githubRepo is empty, so GitHub PR/issue sync cannot run at all; the generic parser accepted the invocation but the required --repo <owner/repo> value was never provided.

Solutions

  1. Pass --repo <owner/repo> on the work-items sync command.
  2. Or set the repo in the persistent options/store the sync reads.
  3. Confirm the command was run inside the intended repository if relying on auto-detection.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at scripts/work-items.js:272 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16). Data as JSON: /api/errors/c30b3ad57f3345be. Report an issue: GitHub.

Appendix: source

Thrown at scripts/work-items.js:272

    closed.push(
      store.upsertWorkItem({
        ...item,
        status: 'closed',
        updatedAt: new Date().toISOString(),
        metadata: {
          ...item.metadata,
          sourceClosedAt: new Date().toISOString()
        }
      })
    );
  }
  return closed;
}

function syncGithubWorkItems(store, options) {
  const repo = options.githubRepo;
  if (!repo) {
    throw new Error('Missing GitHub repo. Pass --repo <owner/repo>.');
  }

  const limit = normalizeLimit(options.limit);
  const prs = runGhJson(['pr', 'list', '--repo', repo, '--state', 'open', '--limit', String(limit), '--json', 'number,title,author,url,updatedAt,mergeStateStatus,isDraft,headRefName']);
  const issues = runGhJson(['issue', 'list', '--repo', repo, '--state', 'open', '--limit', String(limit), '--json', 'number,title,author,url,updatedAt,labels']);

  const syncedAt = new Date().toISOString();
  const activeIds = new Set();
  const items = [];
  for (const pr of prs) {
    const payload = buildGithubPrWorkItem(repo, pr, options);
    activeIds.add(payload.id);
    items.push(
      store.upsertWorkItem({
        ...payload,
        createdAt: undefined,
        updatedAt: syncedAt
      })

View on GitHub (pinned to 8321021c54)