Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2815 commits
Select commit Hold shift + click to select a range
f9826b1
✨ feat(ui): register marketplace-plugin-removal feature flag
quentinlebourles-packmind Jun 2, 2026
2ed1079
🗃️ chore(migrations): document marketplace distribution lifecycle states
quentinlebourles-packmind Jun 2, 2026
4dea84d
📝 docs: document marketplace plugin retirement flow
quentinlebourles-packmind Jun 2, 2026
b7b3957
✨ feat(deployments): plugin removal flow, package-delete cascade, dri…
quentinlebourles-packmind Jun 2, 2026
43feecb
✨ feat(amplitude): track marketplace_plugin_removal_initiated event
quentinlebourles-packmind Jun 2, 2026
b22bb16
✨ feat(api): marketplace plugin removal routes
quentinlebourles-packmind Jun 2, 2026
b30985b
✨ feat(frontend): marketplace plugin removal UI and details route
quentinlebourles-packmind Jun 2, 2026
66a0309
✅ test(integration): cover marketplace plugin removal flows
quentinlebourles-packmind Jun 2, 2026
57265c5
🔧 chore(deployments): align PackagesDeletedEvent docs with OSS
quentinlebourles-packmind Jun 2, 2026
eab01ec
🐛 fix(frontend): render marketplace plugin removal actions
quentinlebourles-packmind Jun 3, 2026
12d5f6b
✨ feat(deployments): auto-commit plugin removal to the marketplace sy…
quentinlebourles-packmind Jun 3, 2026
17811b8
Resolve conflicts
cteyton Jun 3, 2026
0a986fe
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 3, 2026
dbbd0d2
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 3, 2026
71c2664
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 3, 2026
87170a5
Merge remote-tracking branch 'origin/main' into packmind-cli-update
Jun 4, 2026
144e920
chore(packmind): nightly artifacts update
Jun 4, 2026
64824df
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
87e8303
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
9597411
🐛 fix(frontend): prevent infinite render loop in RunMarketplacePublish
quentinlebourles-packmind Jun 4, 2026
843adfe
✅ test(integration): de-flake marketplace package-delete cascade spec
quentinlebourles-packmind Jun 4, 2026
92241be
✅ test(deployments): cover marketplace publish flow end-to-end
vincent-psarga Jun 4, 2026
2e0488c
♻️ refactor(deployments): track marketplace publishes via standalone …
vincent-psarga Jun 4, 2026
8aee3dc
Merge branch 'main' into oss-sync
vincent-psarga Jun 4, 2026
967bbd9
Merge pull request #590 from PackmindHub/oss-sync
vincent-psarga Jun 4, 2026
1f891e8
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
1037b00
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
061d257
Distribute standards from @global/proprietary-standards
vincent-psarga Jun 4, 2026
d87c830
🐛 fix(deployments): write installable plugin entries with source block
vincent-psarga Jun 4, 2026
e764fc5
🐛 fix(deployments): accumulate plugins across publishes via rolling b…
vincent-psarga Jun 4, 2026
e7ff9d9
🐛 fix(node-utils): make JobRegistry.initializeAllQueues idempotent
quentinlebourles-packmind Jun 4, 2026
f476933
🐛 fix(deployments): start delayed job workers at DeploymentsHexa boot
quentinlebourles-packmind Jun 4, 2026
7db1ac6
📝 docs(marketplaces): reflect auto-opened deletion PR in retirement copy
quentinlebourles-packmind Jun 4, 2026
d7a5bb0
✨ feat(deployments): add on-demand marketplace reconciliation (Sync now)
quentinlebourles-packmind Jun 4, 2026
48e4297
✨ feat(frontend): add Sync now action to marketplace details
quentinlebourles-packmind Jun 4, 2026
90fdd35
🐛 fix(deployments): exclude removed distributions from marketplace pl…
quentinlebourles-packmind Jun 4, 2026
aa6d1ad
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
c2e3bd0
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
a9cca72
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
6852965
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
d7c3666
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 4, 2026
b3391d6
🐛 fix(git): handle GitHub App authMethod in token validation logic
stevdrouet Jun 4, 2026
46e0c7c
✨ feat(frontend): publish multiple packages to a marketplace in one a…
vincent-psarga Jun 4, 2026
a4d67fb
♻️ refactor(node-utils): split JobRegistry test into one-expect-per-c…
stevdrouet Jun 4, 2026
bf01113
chore(packmind): nightly artifacts update
Jun 5, 2026
4d832ab
Track publication events on amplitude too
vincent-psarga Jun 5, 2026
740b581
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 5, 2026
438697b
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 5, 2026
87edcc2
🐛 chore(e2e): harden space settings helpers
quentinlebourles-packmind Jun 5, 2026
c3568f6
🐛 fix(deployments): self-heal marketplace removal PR when commit land…
quentinlebourles-packmind Jun 5, 2026
17b2254
🐛 fix(deployments): self-heal marketplace publish PR on NO_CHANGES_DE…
quentinlebourles-packmind Jun 5, 2026
6265c2f
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 5, 2026
7acc0a5
🐛 fix(e2e): open default space drawer in navigateToDashboard
jracenet Jun 5, 2026
5ba0876
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 5, 2026
72c9879
✨ feat(deployments): attribute marketplace plugin descriptions to Pac…
vincent-psarga Jun 5, 2026
18a845e
🐛 fix(e2e): match combobox option by visible text in searchAndSelectM…
jracenet Jun 5, 2026
7bc9515
🐛 fix(e2e): use CSS locator and longer timeout for member option
jracenet Jun 5, 2026
6dda516
🐛 fix(frontend): only list user-configured git providers in marketpla…
MaloPromyze Jun 5, 2026
9d99b15
✨ feat(frontend): use "Git connection" wording and display names in m…
MaloPromyze Jun 5, 2026
2b15b19
✅ test(frontend): add hasAuth to LinkMarketplacePanel provider fixture
MaloPromyze Jun 5, 2026
5f91f4f
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 5, 2026
a385b20
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 5, 2026
81cb51c
✨ feat(deployments): notify user when marketplace publish completes
vincent-psarga Jun 5, 2026
92bccdc
✨ feat(marketplaces): expose gitProviderId on MarketplaceRepositoryInfo
jracenet Jun 5, 2026
ab1c4ab
✨ feat(frontend): show marketplace count per Git connection
jracenet Jun 5, 2026
b371569
✨ feat(frontend): list connection marketplaces in the drawer
jracenet Jun 5, 2026
44712f3
✨ feat(frontend): block connection deletion when marketplaces are linked
jracenet Jun 5, 2026
0264b3a
Merge remote-tracking branch 'origin/main' into packmind-cli-update
Jun 8, 2026
834f1a1
chore(packmind): nightly artifacts update
Jun 8, 2026
95b3a7f
🐛 fix(git): exclude marketplace repos from listProviders response
jracenet Jun 8, 2026
6f22959
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 8, 2026
795a0fc
chore(packmind): nightly artifacts update
Jun 8, 2026
5f8d308
chore(packmind): nightly artifacts update
Jun 8, 2026
f06a452
Merge pull request #581 from PackmindHub/packmind-cli-update
cteyton Jun 8, 2026
ab8bfec
Add package @global/packmind-proprietary
cteyton Jun 8, 2026
20553f1
chore(packmind): nightly artifacts update
Jun 8, 2026
7188130
Merge pull request #593 from PackmindHub/packmind-cli-update
cteyton Jun 8, 2026
3809aae
♻️ refactor(deployments): extract IFindMarketplaceDistributionByIdUse…
vincent-psarga Jun 8, 2026
b7045f4
🔀 merge: resolve conflicts between oss-sync and main
jracenet Jun 8, 2026
57da1b7
🐛 fix(test): mock only window.location.assign for jsdom 28
jracenet Jun 8, 2026
8017406
🐛 fix(git): make install URL navigation testable in jsdom 28
jracenet Jun 8, 2026
0917112
Merge pull request #596 from PackmindHub/oss-sync
jracenet Jun 8, 2026
4031062
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 8, 2026
4f84a64
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 8, 2026
7e7eeea
chore(packmind): nightly artifacts update
Jun 8, 2026
e45faf0
Merge pull request #603 from PackmindHub/packmind-cli-update
cteyton Jun 8, 2026
697a525
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 8, 2026
c234cc9
♻️ refactor(deployments): extract FindMarketplaceDistributionByIdUseCase
vincent-psarga Jun 8, 2026
69b3ac3
♻️ refactor(deployments): flip removal status in the job after the sy…
quentinlebourles-packmind Jun 5, 2026
7bf0554
🐛 fix(deployments): stop pre-flipping plugin removal status before th…
quentinlebourles-packmind Jun 5, 2026
fc5ac29
🎨 style(amplitude): align marketplace removal event props with naming…
quentinlebourles-packmind Jun 8, 2026
4d60b44
Merge branch 'main' into oss-sync
vincent-psarga Jun 9, 2026
b9e3ed8
Merge pull request #605 from PackmindHub/oss-sync
vincent-psarga Jun 9, 2026
782dc14
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 9, 2026
692a32d
✅ test(integration): drive removal job in stale marketplace-removal s…
quentinlebourles-packmind Jun 9, 2026
e20c3b1
Fix merge
cteyton Jun 9, 2026
61fe16d
♻️ refactor(linter): rename use-case files to PascalCase, move helper…
cteyton Jun 9, 2026
8921dde
♻️ refactor(deployments): rename marketplace use-case files to Pascal…
cteyton Jun 9, 2026
44141a2
♻️ refactor(import-practices-legacy): rename use-case file to PascalCase
cteyton Jun 9, 2026
30c515e
♻️ refactor(playbook-change-management): move change appliers to shared
cteyton Jun 9, 2026
b9dc0be
🔧 fix(integration-tests): align uuid dependency range with monorepo
cteyton Jun 9, 2026
4c43647
♻️ refactor(linter): reuse chatbot use case through linter port
cteyton Jun 9, 2026
31b22e6
🔧 fix(editions): add chatbot heuristics stub to OSS LinterAdapter
cteyton Jun 9, 2026
714103a
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 9, 2026
2aee6b3
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 9, 2026
6bf9283
Merge branch 'main' into oss-sync
stevdrouet Jun 9, 2026
9bb5bd4
Merge pull request #610 from PackmindHub/oss-sync
stevdrouet Jun 9, 2026
b587e1a
🐛 fix(deployments): include marketplace publishes in last distributio…
jracenet Jun 10, 2026
89fdab4
🐛 fix(deployments): wire MarketplaceDistribution repo from shared Dat…
jracenet Jun 10, 2026
f79b129
feat(git): expose open-PR lookup and repo-existence probe on the git …
quentinlebourles-packmind Jun 9, 2026
635ae5b
feat(deployments): add marketplace live-state + distribution fingerpr…
quentinlebourles-packmind Jun 9, 2026
61559e6
feat(deployments): classify marketplace fetch failures into errorKind…
quentinlebourles-packmind Jun 9, 2026
39a291e
feat(deployments): surface pending Packmind-sync PR during reconcile
quentinlebourles-packmind Jun 9, 2026
37642b8
feat(deployments): capture artifact-version fingerprint on publish
quentinlebourles-packmind Jun 9, 2026
5c51862
feat(deployments): flag marketplaces outdated when upstream package c…
quentinlebourles-packmind Jun 9, 2026
f919030
feat(deployments): return live-state fields from SyncMarketplaceNow w…
quentinlebourles-packmind Jun 9, 2026
f20425b
feat(frontend): refresh marketplaces per-row on page open with freshn…
quentinlebourles-packmind Jun 9, 2026
bf94849
feat(frontend): surface credential errors, pending sync PR, and outda…
quentinlebourles-packmind Jun 9, 2026
51954da
fix(frontend): stop queued on-open refreshes after unmount and resync…
quentinlebourles-packmind Jun 10, 2026
3fddc36
test(git,deployments): close review-flagged coverage gaps on live-sta…
quentinlebourles-packmind Jun 10, 2026
3df5a3b
feat(deployments): add removalRequestedAt marker to marketplace distr…
quentinlebourles-packmind Jun 10, 2026
575f612
fix(deployments): record plugin-removal requests synchronously and id…
quentinlebourles-packmind Jun 10, 2026
558faac
feat(frontend): show removal-pending state and toast plugin-removal a…
quentinlebourles-packmind Jun 10, 2026
6d17f41
test(mcp-server): bootstrap the app once in PackmindApp.spec instead …
quentinlebourles-packmind Jun 10, 2026
d8543db
test(deployments): nest the multi-version recipe case in a describe-w…
quentinlebourles-packmind Jun 10, 2026
359333c
📦 build: migrate package manager from npm to pnpm
cteyton Jun 10, 2026
e7cff53
Merge pull request #611 from PackmindHub/oss-sync
cteyton Jun 10, 2026
0101ad9
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 10, 2026
90206f8
🐛 fix(frontend): declare @amplitude/analytics-core dependency
cteyton Jun 10, 2026
dd2749a
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 10, 2026
f01641d
Fix prettier issue
cteyton Jun 10, 2026
6054ca2
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 10, 2026
b2be776
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 10, 2026
642baa5
feat(deployments): add pending_merge distribution status and publishC…
quentinlebourles-packmind Jun 10, 2026
0e778cb
feat(deployments): publish job lands distributions in pending_merge
quentinlebourles-packmind Jun 10, 2026
4f0336a
feat(deployments): reconciliation confirms pending publishes via lock…
quentinlebourles-packmind Jun 10, 2026
c84dec7
feat(deployments): cascade package deletion to pending_merge distribu…
quentinlebourles-packmind Jun 10, 2026
28aa081
feat(frontend): surface pending_merge distributions honestly
quentinlebourles-packmind Jun 10, 2026
933051d
feat(deployments): allow removing a plugin while its publish awaits m…
quentinlebourles-packmind Jun 10, 2026
3d7c8f6
feat(frontend): offer Remove on distributions awaiting PR merge
quentinlebourles-packmind Jun 10, 2026
42a0ba0
fix(frontend): add pending_merge to PackageArtifactsTable status badges
quentinlebourles-packmind Jun 10, 2026
b0ff797
fix(deployments): stop flagging drift on jsonb key-order differences
quentinlebourles-packmind Jun 10, 2026
0fa2b0e
feat(frontend): flag outdated plugins per-row in marketplace distribu…
quentinlebourles-packmind Jun 10, 2026
682dcfc
test(integration): drive reconcile in stale marketplace-publish specs
quentinlebourles-packmind Jun 10, 2026
27f8eeb
Merge branch 'main' into oss-sync
cteyton Jun 11, 2026
0f90000
Merge pull request #613 from PackmindHub/oss-sync
cteyton Jun 11, 2026
e7fe8ae
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 11, 2026
f2f5240
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 11, 2026
058024e
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 11, 2026
52025e1
🐛 fix(marketplaces): collapse distributions to latest per package
vincent-psarga Jun 11, 2026
dbd25ea
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 11, 2026
9cf9b21
💄 refactor(marketplaces): redesign detail layout around plugin master…
vincent-psarga Jun 11, 2026
30221ad
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 11, 2026
4e3422b
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 11, 2026
768ac76
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 12, 2026
43d435a
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 12, 2026
34b58c9
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 12, 2026
46e6fd1
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 12, 2026
187572e
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 12, 2026
9e8cea9
🐛 fix(sidebar): clean up collapsed spaces rail
cteyton Jun 12, 2026
0cfa7a3
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 12, 2026
832eb0a
🐛 fix(deployments-v2): cover new distribution statuses in package det…
jracenet Jun 12, 2026
ff144db
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 13, 2026
835b716
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 14, 2026
7faf4d5
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 14, 2026
33d1131
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 15, 2026
7310025
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 15, 2026
0ea898a
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 15, 2026
f63c1e8
🗑️ remove(marketplaces): delete legacy detail header and distribution…
vincent-psarga Jun 15, 2026
11d30bc
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 15, 2026
876dbfc
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 15, 2026
72ea50c
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 15, 2026
196c849
💄 refactor(marketplaces): trim alert strip to sync-PR conditions only
vincent-psarga Jun 15, 2026
ec2d9fd
💄 refactor(marketplaces): hide state chip when healthy and drop outda…
vincent-psarga Jun 15, 2026
e4af4d4
✨ feat(marketplaces): rail rows surface owning space and deployed ver…
vincent-psarga Jun 15, 2026
afe35e4
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 15, 2026
9d78457
🐛 fix(deployments): use getEnvVar so Jest can parse stub-mode check
jracenet Jun 15, 2026
48ec00e
Merge branch 'main' into oss-sync
cteyton Jun 15, 2026
8c6614b
Merge pull request #624 from PackmindHub/oss-sync
cteyton Jun 15, 2026
f1d6eb4
💄 refactor(marketplaces): hide detail-pane status badge in steady-state
vincent-psarga Jun 15, 2026
1ffdcf7
💄 refactor(marketplaces): rework detail pane identity strip and add v…
vincent-psarga Jun 15, 2026
36bd0a0
✨ feat(marketplaces): overview tab with package description and artif…
vincent-psarga Jun 15, 2026
cf95f77
Fix merge
cteyton Jun 16, 2026
747534b
fix(git): drop dead handleWebHook declarations from IGitPort
cteyton Jun 16, 2026
492eb94
chore(git): remove dead push-webhook methods and specs
cteyton Jun 16, 2026
8c2c201
docs: refresh comments referencing removed webhook flow
cteyton Jun 16, 2026
547d181
Remove cancel plugin removal button
stevdrouet Jun 15, 2026
4d67cfe
✨ feat(marketplaces): add changes tab and drift link in detail pane
vincent-psarga Jun 16, 2026
5c71ee4
✨ feat(marketplaces): wire real diff data into plugin changes panel
vincent-psarga Jun 16, 2026
c8a799e
Merge remote-tracking branch 'origin/main' into oss-sync
jracenet Jun 16, 2026
576ac75
🐛 fix(deployments): extend DISTRIBUTION_VERB with new DistributionSta…
jracenet Jun 16, 2026
6111286
🐛 fix(e2e): rename Dashboard nav link selector to Overview
jracenet Jun 16, 2026
0db3c99
Merge pull request #625 from PackmindHub/oss-sync
jracenet Jun 16, 2026
3e5e40c
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 16, 2026
cd7e1b9
✨ feat(deployments): add plugin install tracking domain types
stevdrouet Jun 16, 2026
7645292
🗃️ feat(deployments): add plugin_installations schema and migration
stevdrouet Jun 16, 2026
8fcacb0
✨ feat(deployments): add plugin installation repositories
stevdrouet Jun 16, 2026
54bc90f
✨ feat(deployments): add plugin install tracking use cases and wiring
stevdrouet Jun 16, 2026
78a49d9
✨ feat(coding-agent): deploy plugin tracking hooks reporting installe…
stevdrouet Jun 16, 2026
710a7fa
✨ feat(api): expose plugin install heartbeat and marketplace installs…
stevdrouet Jun 16, 2026
ebdf379
✨ feat(marketplace): add plugin Adoption tab to plugin details
stevdrouet Jun 16, 2026
8721482
chore(packmind): nightly artifacts update
Jun 17, 2026
ea3c6bf
✨ feat(marketplaces): live refresh of plugin changes panel after publish
vincent-psarga Jun 17, 2026
dc8e750
✨ feat(marketplaces): switch publish button on package sync state
vincent-psarga Jun 17, 2026
64b633f
🐛 fix(migrations): reschedule plugin_installations migration to fix c…
stevdrouet Jun 17, 2026
ebb7ba7
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 17, 2026
c2d99e9
Simplify plugin adoption tab message for unpublished plugins
stevdrouet Jun 17, 2026
32326ae
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 17, 2026
4d41a5d
Revert "Revert "🗃️ feat(deployments): add plugin_installations table …
stevdrouet Jun 17, 2026
ee6f717
💄 fix(marketplaces): polish plugin detail view (relative date, font, …
vincent-psarga Jun 17, 2026
e95ec52
✨ feat(marketplaces): surface PR-pending vs on-main publish state in …
vincent-psarga Jun 17, 2026
130ea53
Merge remote-tracking branch 'origin/main' into oss-sync
jracenet Jun 17, 2026
6a22a1e
Merge pull request #630 from PackmindHub/oss-sync
jracenet Jun 17, 2026
8100c02
Merge remote-tracking branch 'upstream/main'
github-actions[bot] Jun 17, 2026
e97a4a7
Merge remote-tracking branch 'origin/main' into packmind-cli-update
Jun 18, 2026
a6e82c6
chore(packmind): nightly artifacts update
Jun 18, 2026
879934c
💄 fix(marketplaces): drop trailing chevron on artifact rows
vincent-psarga Jun 18, 2026
5ad0408
🐛 fix(deployments): only surface genuinely drifted packages in govern…
jracenet Jun 18, 2026
2e98ef3
💄 feat(deployments): add package icon to governance drift rows
jracenet Jun 18, 2026
63d951c
✨ feat(marketplaces): surface descriptor drift as an inline banner
vincent-psarga Jun 18, 2026
5403151
💄 refactor(marketplaces): align listing page with playground prototype
vincent-psarga Jun 18, 2026
29e9611
Delete .github/workflows/sync-from-oss-repository.yml
cteyton Jun 18, 2026
3af0f5d
✨ feat(search): add search result types and ISearchPort
cteyton Jun 17, 2026
0d78b23
✨ feat(search): add org-scoped global search endpoint
cteyton Jun 17, 2026
ccf7606
✨ feat(search): add frontend data layer for global search
cteyton Jun 17, 2026
608b0cc
✨ feat(search): add global search bar in a top navbar
cteyton Jun 17, 2026
84769cc
Revert "✨ feat(search): add global search bar in a top navbar"
cteyton Jun 18, 2026
9da6fa5
Revert "✨ feat(search): add frontend data layer for global search"
cteyton Jun 18, 2026
b2e18ab
Revert "✨ feat(search): add org-scoped global search endpoint"
cteyton Jun 18, 2026
e4b52ee
Revert "✨ feat(search): add search result types and ISearchPort"
cteyton Jun 18, 2026
0c4d629
🔧 chore(ci): push both OSS and proprietary Docker image tags
cteyton Jun 18, 2026
1274e1d
🔧 chore(ci): unify helm chart value updates across OSS + enterprise (…
cteyton Jun 18, 2026
d97c99c
chore(packmind): nightly artifacts update
Jun 19, 2026
a62c123
chore(packmind): nightly artifacts update
Jun 22, 2026
ddcd3b2
chore(packmind): nightly artifacts update
Jun 23, 2026
e11e564
chore(packmind): nightly artifacts update
Jun 24, 2026
9f58002
Merge remote-tracking branch 'origin/main' into packmind-cli-update
Jun 25, 2026
88ef9cf
chore(packmind): nightly artifacts update
Jun 25, 2026
17a77e8
chore(packmind): nightly artifacts update
Jun 26, 2026
bf4bad7
chore(packmind): nightly artifacts update
Jun 29, 2026
45931d1
chore(packmind): nightly artifacts update
Jun 30, 2026
42c77ee
chore(packmind): nightly artifacts update
Jul 1, 2026
fa31f41
chore(packmind): nightly artifacts update
Jul 2, 2026
7295f47
chore(packmind): nightly artifacts update
Jul 3, 2026
9829a17
Merge remote-tracking branch 'origin/main' into packmind-cli-update
Jul 6, 2026
d725cb4
chore(packmind): nightly artifacts update
Jul 6, 2026
bc993ff
chore(packmind): nightly artifacts update
Jul 7, 2026
ede9736
chore(packmind): nightly artifacts update
Jul 8, 2026
15f9af1
chore(packmind): nightly artifacts update
Jul 9, 2026
843dba7
chore(packmind): nightly artifacts update
Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
460 changes: 460 additions & 0 deletions .claude/plans/2026-04-20-artifact-download-archive-name.md

Large diffs are not rendered by default.

2,262 changes: 2,262 additions & 0 deletions .claude/plans/2026-04-27-orga-space-management.md

Large diffs are not rendered by default.

1,279 changes: 1,279 additions & 0 deletions .claude/plans/2026-04-29-space-identity-and-rights-management.md

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions .claude/rules/packmind/standard-amplitude-analytics-usage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: 'Amplitude analytics usage'
alwaysApply: true
description: '* We use Amplitude to get insights about users'' behavior when using our product with the different UI (CLI / MCP / web app).
* Only in "cloud" environment (no tracking in open-source deployments)
* Data hosted in EU
* No user related data tracked'
---

# Standard: Amplitude analytics usage

* We use Amplitude to get insights about users' behavior when using our product with the different UI (CLI / MCP / web app). :
* Event name ends with the verb (e.g 'standard_created', 'user_signed_up')
* Property name should be in lower camel case
* Tracked event name should be snake cased

Full standard is available here for further request: [Amplitude analytics usage](../../../.packmind/standards/amplitude-analytics-usage.md)
4 changes: 2 additions & 2 deletions .claude/rules/packmind/standard-backend-tests-redaction.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ name: 'Backend Tests Redaction'
paths:
- "**/*.spec.ts"
alwaysApply: false
description: 'Enforce Jest backend test conventions in Packmind **/*.spec.ts (verb-first names, behavioral assertions, nested `describe(''when...'')`, one `expect`, `afterEach` cleanup with `datasource.destroy()` and `jest.clearAllMocks()`, `toEqual` for arrays, and `stubLogger()` for typed `PackmindLogger` stubs) to improve readability, consistency, and debuggability while preventing inter-test pollution.'
description: 'This standard establishes best practices for writing backend tests using Jest in the Packmind monorepo. It focuses on clarity, maintainability, and consistency across test suites by emphasizing behavioral testing, proper test organization, and effective use of testing utilities. Apply these rules when writing or refactoring backend unit tests, integration tests, and service tests to ensure tests remain readable, reliable, and easy to debug.'
---

# Standard: Backend Tests Redaction

Enforce Jest backend test conventions in Packmind **/*.spec.ts (verb-first names, behavioral assertions, nested `describe('when...')`, one `expect`, `afterEach` cleanup with `datasource.destroy()` and `jest.clearAllMocks()`, `toEqual` for arrays, and `stubLogger()` for typed `PackmindLogger` stubs) to improve readability, consistency, and debuggability while preventing inter-test pollution. :
This standard establishes best practices for writing backend tests using Jest in the Packmind monorepo. It focuses on clarity, maintainability, and consistency across test suites by emphasizing behavi... :
* Avoid asserting on stubbed logger output like specific messages or call counts; instead verify observable behavior or return values
* Avoid testing that a method is a function; instead invoke the method and assert its observable behavior
* Avoid testing that registry components are defined; instead test the actual behavior and functionality of the registry methods like registration, retrieval, and error handling
Expand Down
4 changes: 2 additions & 2 deletions .claude/rules/packmind/standard-changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ name: 'Changelog'
paths:
- "CHANGELOG.MD"
alwaysApply: false
description: 'Maintain CHANGELOG.MD using Keep a Changelog format with a top [Unreleased] section linked to HEAD, ISO 8601 dates (YYYY-MM-DD), and per-release comparison links like [X.Y.Z]: https://github.com/PackmindHub/packmind/compare/release/<previous>...release/X.Y.Z to ensure accurate, consistent release documentation and version links.'
description: 'Maintain a consistent and well-structured CHANGELOG.MD file following the Keep a Changelog format to ensure all releases are properly documented with accurate version links and dates. This standard applies whenever creating or updating the CHANGELOG.MD file in the repository root.'
---

# Standard: Changelog

Maintain CHANGELOG.MD using Keep a Changelog format with a top [Unreleased] section linked to HEAD, ISO 8601 dates (YYYY-MM-DD), and per-release comparison links like [X.Y.Z]: https://github.com/PackmindHub/packmind/compare/release/<previous>...release/X.Y.Z to ensure accurate, consistent release documentation and version links. :
Maintain a consistent and well-structured CHANGELOG.MD file following the Keep a Changelog format to ensure all releases are properly documented with accurate version links and dates. This standard ap... :
* Ensure all released versions have their corresponding comparison links defined at the bottom of the CHANGELOG.MD file in the format [X.Y.Z]: https://github.com/PackmindHub/packmind/compare/release/<previous>...release/X.Y.Z
* Format all release dates using the ISO 8601 date format YYYY-MM-DD (e.g., 2025-11-21) to ensure consistent and internationally recognized date representation
* Maintain an [Unreleased] section at the top of the changelog with its corresponding link at the bottom pointing to HEAD to track ongoing changes between releases
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ name: 'Compliance - Logging Personal Information'
paths:
- "**/*.ts"
alwaysApply: false
description: 'Enforce masking of personal information in TypeScript logs, using a standard first-6-characters-plus-* format for emails and similar patterns for other identifiers, to protect user privacy, comply with data protection regulations, and reduce security risks when handling user-related log entries.'
description: 'This standard ensures personal information is not exposed in application logs across all environments (development, staging, and production). Logs are often forwarded to external processors such as Datadog, making it critical to prevent leaking sensitive user data. By masking personal information in logs, we maintain user privacy, comply with data protection regulations, and reduce security risks. This standard applies when logging user-related information, debugging authentication flows, tracking user actions, or handling error scenarios involving personal data.'
---

# Standard: Compliance - Logging Personal Information

Enforce masking of personal information in TypeScript logs, using a standard first-6-characters-plus-* format for emails and similar patterns for other identifiers, to protect user privacy, comply with data protection regulations, and reduce security risks when handling user-related log entries. :
This standard ensures personal information is not exposed in application logs across all environments (development, staging, and production). Logs are often forwarded to external processors such as Da... :
* Never log personal information in clear text across all log levels. Always mask sensitive data such as emails, phone numbers, IP addresses, and other personally identifiable information before logging.
* Use the standard masking format of first 6 characters followed by "*" for logging user emails. This ensures consistency across the codebase and makes it easier to audit logs for compliance.

Expand Down
12 changes: 12 additions & 0 deletions .claude/rules/packmind/standard-packmind-proprietary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: 'Packmind Proprietary'
alwaysApply: true
description: '.'
---

# Standard: Packmind Proprietary

. :
* Never import something from '@packmind/editions', this is for OSS only

Full standard is available here for further request: [Packmind Proprietary](../../../.packmind/standards/packmind-proprietary.md)
4 changes: 2 additions & 2 deletions .claude/rules/packmind/standard-typescript-good-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ name: 'Typescript good practices'
paths:
- "**/*.ts"
alwaysApply: false
description: 'Enforce TypeScript error and DTO conventions by prohibiting Object.setPrototypeOf in custom errors and requiring intersection types (DomainType & { extraField: T }) for presentation DTO enrichment to improve reliability and catch domain-field drift at compile time.'
description: 'Generic practices that can be applied for all TS code in our app'
---

# Standard: Typescript good practices

Enforce TypeScript error and DTO conventions by prohibiting Object.setPrototypeOf in custom errors and requiring intersection types (DomainType & { extraField: T }) for presentation DTO enrichment to improve reliability and catch domain-field drift at compile time. :
Generic practices that can be applied for all TS code in our app :
* Do not use `Object.setPrototypeOf` when defining errors.
* When defining a presentation DTO that enriches a domain type, use an intersection type (`DomainType & { extraField: T }`) instead of manually re-declaring the domain type's fields, so that structural drift is caught at compile time.

Expand Down
202 changes: 202 additions & 0 deletions .claude/skills/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2026 Anthropic, PBC.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading