Skip to content

feat(credentials): link directories to team secrets - #129

Merged
ralyodio merged 1 commit into
masterfrom
feat/linked-secrets-workflow
Aug 5, 2026
Merged

feat(credentials): link directories to team secrets#129
ralyodio merged 1 commit into
masterfrom
feat/linked-secrets-workflow

Conversation

@ralyodio

@ralyodio ralyodio commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add logicsrc secrets teams link with interactive team → project → environment selection
  • add linked secrets up and secrets down [env] workflows
  • require a directory link before either transfer command can authenticate, access the network, or touch .env
  • store link metadata outside projects under the LogicSRC user config
  • update the app.logicsrc.com dashboard instructions and credential-sharing docs

Validation

  • npm --workspace @logicsrc/cli test (47 passed)
  • npm --workspace @logicsrc/cli run build
  • npm --workspace @logicsrc/pwa test (31 passed)
  • exercised the built CLI to verify unlinked secrets down fails with the link instruction

Comment thread packages/cli/src/teams.ts
return choices[0]!;
}
if (!process.stdin.isTTY || !process.stderr.isTTY) {
throw new Error(`Cannot select a ${label.toLowerCase()} without an interactive terminal. Pass team, project, and env explicitly.`);
Comment thread packages/cli/src/teams.ts
throw new Error(`Cannot select a ${label.toLowerCase()} without an interactive terminal. Pass team, project, and env explicitly.`);
}

console.error(`\nSelect ${label.toLowerCase()}:`);
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

ThreatCrush Security Scan

59 finding(s)

HIGH/CRITICAL: 31 | MEDIUM: 28

Severity Rule Location
HIGH secret-openai-key plugins/credential-sharing/src/vault-encryption.test.ts:21
HIGH manifest-typosquat apps/commandboard-web/package.json:20
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:392
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:410
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:426
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:428
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:433
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:471
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:477
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:499
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:516
HIGH secret-generic-credential apps/logicsrc-web/contract/logicsrc-web.contract.test.ts:528
HIGH manifest-typosquat apps/logicsrc-web/package.json:28
HIGH js-ssrf-outbound-request apps/logicsrc-web/src/lib/coinpay.ts:50
HIGH manifest-typosquat apps/pwa/package.json:19
HIGH js-ssrf-outbound-request apps/pwa/public/sw.js:45
HIGH secret-generic-credential apps/pwa/test/appbar.test.mjs:10
HIGH secret-generic-credential apps/pwa/test/team-members.test.mjs:68
HIGH secret-generic-credential packages/account-core/src/index.test.ts:104
HIGH secret-generic-credential packages/agentad/src/exchange.test.ts:13
HIGH secret-generic-credential plugins/agentgit/src/index.ts:12
HIGH secret-generic-credential plugins/c0mpute/src/index.ts:12
HIGH secret-generic-credential plugins/coinpay/src/index.ts:12
HIGH secret-generic-credential plugins/credential-sharing/src/engine.test.ts:69
HIGH secret-generic-credential plugins/credential-sharing/src/engine.test.ts:134
HIGH secret-database-url plugins/credential-sharing/src/rekey.test.ts:33
HIGH secret-generic-credential plugins/credential-sharing/src/vault-encryption.test.ts:21
HIGH js-ssrf-outbound-request plugins/feed-discovery/src/providers/itunes-podcast.ts:37
HIGH js-ssrf-outbound-request plugins/feed-discovery/src/providers/podcastindex.ts:43
HIGH secret-generic-credential plugins/sh1pt/src/index.ts:11
HIGH secret-generic-credential plugins/ugig/src/index.ts:11
MEDIUM js-unescaped-html-sink apps/commandboard-web/src/main.ts:19
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/[[...slug]]/page.tsx:73
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/blog/[slug]/page.tsx:120
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/docs/[slug]/page.tsx:55
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/layout.tsx:83
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/pricing/page.tsx:46
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/site-shell.tsx:46
MEDIUM sql-template-interpolation apps/pwa/src/routes/pages.mjs:44
MEDIUM sql-template-interpolation packages/cli/src/index.ts:845
MEDIUM sql-template-interpolation packages/cli/src/index.ts:847
MEDIUM sql-template-interpolation packages/cli/src/index.ts:854
MEDIUM sql-template-interpolation packages/cli/src/teams.ts:286
MEDIUM sql-template-interpolation packages/cli/src/teams.ts:439
MEDIUM sql-template-interpolation packages/cli/src/teams.ts:442
MEDIUM redos-nested-quantifier packages/openontology/src/ids.ts:20
MEDIUM redos-nested-quantifier packages/openprd/src/validate.ts:41
MEDIUM redos-nested-quantifier packages/schemas/schemas/logicsrc-account-audit-event.schema.json:23
MEDIUM redos-nested-quantifier packages/schemas/schemas/logicsrc-account-grant.schema.json:23
MEDIUM redos-nested-quantifier packages/schemas/schemas/logicsrc-account-grant.schema.json:35

…and 9 more. Full results in the Security tab.

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit 12a1d7f into master Aug 5, 2026
6 checks passed
@ralyodio
ralyodio deleted the feat/linked-secrets-workflow branch August 5, 2026 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants