constella 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +53 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/export-marker.json +6 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +36 -0
- package/.next/react-loadable-manifest.json +14 -0
- package/.next/required-server-files.js +343 -0
- package/.next/required-server-files.json +343 -0
- package/.next/routes-manifest.json +362 -0
- package/.next/server/app/(app)/activity/page.js +2 -0
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -0
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/agents/[handle]/page.js +18 -0
- package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/code/page.js +2 -0
- package/.next/server/app/(app)/code/page.js.nft.json +1 -0
- package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/config/page.js +2 -0
- package/.next/server/app/(app)/config/page.js.nft.json +1 -0
- package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/costs/page.js +2 -0
- package/.next/server/app/(app)/costs/page.js.nft.json +1 -0
- package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/cron/page.js +2 -0
- package/.next/server/app/(app)/cron/page.js.nft.json +1 -0
- package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/dashboard/page.js +2 -0
- package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -0
- package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/docs/[id]/page.js +2 -0
- package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/docs/page.js +2 -0
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -0
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/github/page.js +2 -0
- package/.next/server/app/(app)/github/page.js.nft.json +1 -0
- package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/goals/page.js +2 -0
- package/.next/server/app/(app)/goals/page.js.nft.json +1 -0
- package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/inbox/page.js +2 -0
- package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
- package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/knowledge/page.js +3 -0
- package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -0
- package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/models/page.js +2 -0
- package/.next/server/app/(app)/models/page.js.nft.json +1 -0
- package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/notifications/page.js +2 -0
- package/.next/server/app/(app)/notifications/page.js.nft.json +1 -0
- package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/org/page.js +2 -0
- package/.next/server/app/(app)/org/page.js.nft.json +1 -0
- package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/organizations/page.js +2 -0
- package/.next/server/app/(app)/organizations/page.js.nft.json +1 -0
- package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/page.js +3 -0
- package/.next/server/app/(app)/page.js.nft.json +1 -0
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/planner/page.js +2 -0
- package/.next/server/app/(app)/planner/page.js.nft.json +1 -0
- package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/plugins/page.js +2 -0
- package/.next/server/app/(app)/plugins/page.js.nft.json +1 -0
- package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/pm/page.js +2 -0
- package/.next/server/app/(app)/pm/page.js.nft.json +1 -0
- package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/prepare-deploy/page.js +19 -0
- package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -0
- package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/profile/page.js +2 -0
- package/.next/server/app/(app)/profile/page.js.nft.json +1 -0
- package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/pulse/page.js +2 -0
- package/.next/server/app/(app)/pulse/page.js.nft.json +1 -0
- package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/reports/[id]/page.js +3 -0
- package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -0
- package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/reports/page.js +5 -0
- package/.next/server/app/(app)/reports/page.js.nft.json +1 -0
- package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/routines/page.js +2 -0
- package/.next/server/app/(app)/routines/page.js.nft.json +1 -0
- package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/search/page.js +2 -0
- package/.next/server/app/(app)/search/page.js.nft.json +1 -0
- package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/security/page.js +2 -0
- package/.next/server/app/(app)/security/page.js.nft.json +1 -0
- package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/skills/page.js +18 -0
- package/.next/server/app/(app)/skills/page.js.nft.json +1 -0
- package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/tasks/page.js +2 -0
- package/.next/server/app/(app)/tasks/page.js.nft.json +1 -0
- package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/test-dev/page.js +2 -0
- package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -0
- package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/update/page.js +2 -0
- package/.next/server/app/(app)/update/page.js.nft.json +1 -0
- package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(auth)/login/page.js +2 -0
- package/.next/server/app/(auth)/login/page.js.nft.json +1 -0
- package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(auth)/onboarding/page.js +18 -0
- package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -0
- package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error/page.js +32 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +16 -0
- package/.next/server/app/_global-error.rsc +15 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +6 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page.js +2 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/[...all]/route.js +1 -0
- package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -0
- package/.next/server/app/api/auth/[...all]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cron/tick/route.js +52 -0
- package/.next/server/app/api/cron/tick/route.js.nft.json +1 -0
- package/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/dev-login/route.js +1 -0
- package/.next/server/app/api/dev-login/route.js.nft.json +1 -0
- package/.next/server/app/api/dev-login/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/locks/acquire/route.js +1 -0
- package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -0
- package/.next/server/app/api/locks/acquire/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/models/progress/route.js +1 -0
- package/.next/server/app/api/models/progress/route.js.nft.json +1 -0
- package/.next/server/app/api/models/progress/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route.js +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/authenticate/options/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/authenticate/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/register/options/route.js +1 -0
- package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/register/options/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/passkey/register/verify/route.js +1 -0
- package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -0
- package/.next/server/app/api/passkey/register/verify/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/stream/route.js +4 -0
- package/.next/server/app/api/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/sync/file/route.js +2 -0
- package/.next/server/app/api/sync/file/route.js.nft.json +1 -0
- package/.next/server/app/api/sync/file/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/telegram/poll/route.js +15 -0
- package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -0
- package/.next/server/app/api/telegram/poll/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/upload/route.js +1 -0
- package/.next/server/app/api/upload/route.js.nft.json +1 -0
- package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/v1/[[...path]]/route.js +1 -0
- package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -0
- package/.next/server/app/api/v1/[[...path]]/route_client-reference-manifest.js +1 -0
- package/.next/server/app-paths-manifest.json +53 -0
- package/.next/server/chunks/1003.js +1 -0
- package/.next/server/chunks/127.js +26 -0
- package/.next/server/chunks/1388.js +1 -0
- package/.next/server/chunks/1408.js +21 -0
- package/.next/server/chunks/1572.js +1 -0
- package/.next/server/chunks/1591.js +24 -0
- package/.next/server/chunks/1619.js +188 -0
- package/.next/server/chunks/162.js +1 -0
- package/.next/server/chunks/1881.js +1 -0
- package/.next/server/chunks/1968.js +1 -0
- package/.next/server/chunks/2297.js +348 -0
- package/.next/server/chunks/2341.js +1 -0
- package/.next/server/chunks/2517.js +1 -0
- package/.next/server/chunks/2549.js +1 -0
- package/.next/server/chunks/259.js +14 -0
- package/.next/server/chunks/2599.js +1 -0
- package/.next/server/chunks/260.js +1 -0
- package/.next/server/chunks/2867.js +147 -0
- package/.next/server/chunks/3018.js +1 -0
- package/.next/server/chunks/3050.js +18 -0
- package/.next/server/chunks/3085.js +12 -0
- package/.next/server/chunks/3131.js +1 -0
- package/.next/server/chunks/3242.js +1 -0
- package/.next/server/chunks/3266.js +15 -0
- package/.next/server/chunks/3524.js +1 -0
- package/.next/server/chunks/3527.js +479 -0
- package/.next/server/chunks/3533.js +869 -0
- package/.next/server/chunks/3550.js +1 -0
- package/.next/server/chunks/3609.js +2 -0
- package/.next/server/chunks/3667.js +462 -0
- package/.next/server/chunks/3760.js +4 -0
- package/.next/server/chunks/4679.js +1 -0
- package/.next/server/chunks/4804.js +1 -0
- package/.next/server/chunks/4832.js +2 -0
- package/.next/server/chunks/4853.js +1 -0
- package/.next/server/chunks/4979.js +67 -0
- package/.next/server/chunks/5060.js +1 -0
- package/.next/server/chunks/5278.js +1 -0
- package/.next/server/chunks/5614.js +1 -0
- package/.next/server/chunks/5818.js +1 -0
- package/.next/server/chunks/6479.js +1 -0
- package/.next/server/chunks/6658.js +1 -0
- package/.next/server/chunks/6706.js +1 -0
- package/.next/server/chunks/6719.js +1 -0
- package/.next/server/chunks/678.js +1 -0
- package/.next/server/chunks/683.js +1 -0
- package/.next/server/chunks/6862.js +1 -0
- package/.next/server/chunks/6882.js +1 -0
- package/.next/server/chunks/7037.js +1 -0
- package/.next/server/chunks/7107.js +741 -0
- package/.next/server/chunks/73.js +17 -0
- package/.next/server/chunks/7327.js +1 -0
- package/.next/server/chunks/7514.js +1 -0
- package/.next/server/chunks/7622.js +1 -0
- package/.next/server/chunks/7778.js +1 -0
- package/.next/server/chunks/7912.js +1 -0
- package/.next/server/chunks/7949.js +1 -0
- package/.next/server/chunks/7971.js +1 -0
- package/.next/server/chunks/7989.js +1 -0
- package/.next/server/chunks/842.js +22 -0
- package/.next/server/chunks/8762.js +15 -0
- package/.next/server/chunks/8823.js +77 -0
- package/.next/server/chunks/9146.js +4 -0
- package/.next/server/chunks/9676.js +1 -0
- package/.next/server/chunks/9783.js +22 -0
- package/.next/server/chunks/9969.js +3 -0
- package/.next/server/functions-config-manifest.json +18 -0
- package/.next/server/instrumentation.js +1 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware-react-loadable-manifest.js +1 -0
- package/.next/server/middleware.js +18 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +3 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +1 -0
- package/.next/server/webpack-runtime.js +1 -0
- package/.next/static/chunks/1858-339516f78a4b00da.js +1 -0
- package/.next/static/chunks/2320-fc8b39380e69d465.js +2 -0
- package/.next/static/chunks/23550918-ff694f70f4b0648c.js +1 -0
- package/.next/static/chunks/3219-ebb3c23be38c838d.js +1 -0
- package/.next/static/chunks/4263-adecb5b466380b6e.js +1 -0
- package/.next/static/chunks/5479-0cceab68cd0ca9c7.js +1 -0
- package/.next/static/chunks/5701-665b927b06158b76.js +1 -0
- package/.next/static/chunks/5920.6451a68b63918988.js +1 -0
- package/.next/static/chunks/6575-5c9139720bb0f5bf.js +4 -0
- package/.next/static/chunks/6834-4759af1ce7d95fb6.js +32 -0
- package/.next/static/chunks/7509.721cd47a931c5518.js +1 -0
- package/.next/static/chunks/8264-1ca011989ee2b231.js +1 -0
- package/.next/static/chunks/9219-4a39a98b5502d9d1.js +1 -0
- package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
- package/.next/static/chunks/app/(app)/activity/page-3973534281ecea81.js +1 -0
- package/.next/static/chunks/app/(app)/agents/[handle]/page-83662a175c098282.js +1 -0
- package/.next/static/chunks/app/(app)/code/page-33979545192cd137.js +1 -0
- package/.next/static/chunks/app/(app)/config/page-9933aed1ca8a85c1.js +1 -0
- package/.next/static/chunks/app/(app)/costs/page-131c4dc580efcc19.js +1 -0
- package/.next/static/chunks/app/(app)/cron/page-53ea1aff998a87ca.js +1 -0
- package/.next/static/chunks/app/(app)/dashboard/page-deed83aaa9d0d447.js +1 -0
- package/.next/static/chunks/app/(app)/docs/[id]/page-38c993d73c0eab4f.js +1 -0
- package/.next/static/chunks/app/(app)/docs/page-bf463b55d0554e86.js +1 -0
- package/.next/static/chunks/app/(app)/error-988cd28480809861.js +1 -0
- package/.next/static/chunks/app/(app)/github/page-62678b4e82dfecb6.js +1 -0
- package/.next/static/chunks/app/(app)/goals/page-4adb426fe1c96106.js +1 -0
- package/.next/static/chunks/app/(app)/inbox/page-e347dc55ab467310.js +1 -0
- package/.next/static/chunks/app/(app)/knowledge/page-65393a045b4349be.js +1 -0
- package/.next/static/chunks/app/(app)/layout-7f65675705b011d8.js +1 -0
- package/.next/static/chunks/app/(app)/models/page-e01f1dd7e49a2951.js +1 -0
- package/.next/static/chunks/app/(app)/notifications/page-56548ac87aef00da.js +1 -0
- package/.next/static/chunks/app/(app)/org/page-699e6a6dc0db7d81.js +1 -0
- package/.next/static/chunks/app/(app)/organizations/page-36051a380a7e8eb7.js +1 -0
- package/.next/static/chunks/app/(app)/page-7d1011a566f81520.js +1 -0
- package/.next/static/chunks/app/(app)/planner/page-dab7ced94083373a.js +1 -0
- package/.next/static/chunks/app/(app)/plugins/page-5b5a1f53389be42e.js +1 -0
- package/.next/static/chunks/app/(app)/pm/page-0de5c08c0b227bb0.js +1 -0
- package/.next/static/chunks/app/(app)/prepare-deploy/page-e426038552df8d41.js +1 -0
- package/.next/static/chunks/app/(app)/profile/page-608dfcaf8aae0a69.js +1 -0
- package/.next/static/chunks/app/(app)/pulse/page-309ccaca91de1faa.js +1 -0
- package/.next/static/chunks/app/(app)/reports/[id]/page-53ea1aff998a87ca.js +1 -0
- package/.next/static/chunks/app/(app)/reports/page-68cdc6dcfa472d86.js +1 -0
- package/.next/static/chunks/app/(app)/routines/page-bcc55550b197a9fa.js +1 -0
- package/.next/static/chunks/app/(app)/search/page-5c5f67558d0dbf0d.js +1 -0
- package/.next/static/chunks/app/(app)/security/page-a7d41e36aa366b45.js +1 -0
- package/.next/static/chunks/app/(app)/skills/page-c5b21e89593b8336.js +1 -0
- package/.next/static/chunks/app/(app)/tasks/page-08ae079e3e54d2ce.js +1 -0
- package/.next/static/chunks/app/(app)/test-dev/page-633f82dfd9c3ce23.js +1 -0
- package/.next/static/chunks/app/(app)/update/page-4be019054351bfac.js +1 -0
- package/.next/static/chunks/app/(auth)/login/page-6e85d3377062acae.js +1 -0
- package/.next/static/chunks/app/(auth)/onboarding/page-ebb10c175abf3b85.js +1 -0
- package/.next/static/chunks/app/_global-error/page-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +1 -0
- package/.next/static/chunks/app/api/auth/[...all]/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/cron/tick/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/dev-login/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/locks/acquire/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/models/progress/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/options/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/authenticate/verify/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/options/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/passkey/register/verify/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/stream/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/sync/file/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/telegram/poll/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/upload/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/api/v1/[[...path]]/route-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/app/error-09899a13c38b6e89.js +1 -0
- package/.next/static/chunks/app/global-error-b8050d4d886f448c.js +1 -0
- package/.next/static/chunks/app/layout-ab9deed1e7e2e9df.js +1 -0
- package/.next/static/chunks/framework-4b2c6b6043dd203f.js +1 -0
- package/.next/static/chunks/main-722e16032e7764d1.js +5 -0
- package/.next/static/chunks/main-app-761880af2b6f1962.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-23fe50a6bf589c97.js +1 -0
- package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
- package/.next/static/css/0a9b5805594444e3.css +1 -0
- package/.next/static/yztMvBwyrWWkSqP6jfXoa/_buildManifest.js +1 -0
- package/.next/static/yztMvBwyrWWkSqP6jfXoa/_ssgManifest.js +1 -0
- package/.next/trace-build +1 -0
- package/.next/types/app/(app)/activity/page.ts +87 -0
- package/.next/types/app/(app)/agents/[handle]/page.ts +87 -0
- package/.next/types/app/(app)/code/page.ts +87 -0
- package/.next/types/app/(app)/config/page.ts +87 -0
- package/.next/types/app/(app)/costs/page.ts +87 -0
- package/.next/types/app/(app)/cron/page.ts +87 -0
- package/.next/types/app/(app)/dashboard/page.ts +87 -0
- package/.next/types/app/(app)/docs/[id]/page.ts +87 -0
- package/.next/types/app/(app)/docs/page.ts +87 -0
- package/.next/types/app/(app)/github/page.ts +87 -0
- package/.next/types/app/(app)/goals/page.ts +87 -0
- package/.next/types/app/(app)/inbox/page.ts +87 -0
- package/.next/types/app/(app)/knowledge/page.ts +87 -0
- package/.next/types/app/(app)/models/page.ts +87 -0
- package/.next/types/app/(app)/notifications/page.ts +87 -0
- package/.next/types/app/(app)/org/page.ts +87 -0
- package/.next/types/app/(app)/organizations/page.ts +87 -0
- package/.next/types/app/(app)/page.ts +87 -0
- package/.next/types/app/(app)/planner/page.ts +87 -0
- package/.next/types/app/(app)/plugins/page.ts +87 -0
- package/.next/types/app/(app)/pm/page.ts +87 -0
- package/.next/types/app/(app)/prepare-deploy/page.ts +87 -0
- package/.next/types/app/(app)/profile/page.ts +87 -0
- package/.next/types/app/(app)/pulse/page.ts +87 -0
- package/.next/types/app/(app)/reports/[id]/page.ts +87 -0
- package/.next/types/app/(app)/reports/page.ts +87 -0
- package/.next/types/app/(app)/routines/page.ts +87 -0
- package/.next/types/app/(app)/search/page.ts +87 -0
- package/.next/types/app/(app)/security/page.ts +87 -0
- package/.next/types/app/(app)/skills/page.ts +87 -0
- package/.next/types/app/(app)/tasks/page.ts +87 -0
- package/.next/types/app/(app)/test-dev/page.ts +87 -0
- package/.next/types/app/(app)/update/page.ts +87 -0
- package/.next/types/app/(auth)/login/page.ts +87 -0
- package/.next/types/app/(auth)/onboarding/page.ts +87 -0
- package/.next/types/app/api/auth/[...all]/route.ts +351 -0
- package/.next/types/app/api/cron/tick/route.ts +351 -0
- package/.next/types/app/api/dev-login/route.ts +351 -0
- package/.next/types/app/api/locks/acquire/route.ts +351 -0
- package/.next/types/app/api/models/progress/route.ts +351 -0
- package/.next/types/app/api/passkey/authenticate/options/route.ts +351 -0
- package/.next/types/app/api/passkey/authenticate/verify/route.ts +351 -0
- package/.next/types/app/api/passkey/register/options/route.ts +351 -0
- package/.next/types/app/api/passkey/register/verify/route.ts +351 -0
- package/.next/types/app/api/stream/route.ts +351 -0
- package/.next/types/app/api/sync/file/route.ts +351 -0
- package/.next/types/app/api/telegram/poll/route.ts +351 -0
- package/.next/types/app/api/upload/route.ts +351 -0
- package/.next/types/app/api/v1/[[...path]]/route.ts +351 -0
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/link.d.ts +210 -0
- package/.next/types/package.json +1 -0
- package/.next/types/routes.d.ts +120 -0
- package/.next/types/validator.ts +511 -0
- package/CHANGELOG.md +312 -0
- package/LICENSE +21 -0
- package/README.md +382 -0
- package/README.pt-BR.md +391 -0
- package/bin/constella.mjs +329 -0
- package/bin/guard-hook.mjs +44 -0
- package/bin/lock-hook.mjs +49 -0
- package/bin/worker.mjs +142 -0
- package/docs/assets/arch-orbit.svg +56 -0
- package/docs/assets/blackhole.svg +37 -0
- package/docs/assets/divider-orbit.svg +23 -0
- package/docs/assets/hero-constella.svg +72 -0
- package/docs/en/AGENTS.md +279 -0
- package/docs/en/AI_ARCHITECTURE.md +373 -0
- package/docs/en/ARCHITECTURE.md +334 -0
- package/docs/en/AUTH_MODE.md +247 -0
- package/docs/en/CHAT_COMMANDS.md +305 -0
- package/docs/en/CONFIGURATION.md +340 -0
- package/docs/en/DEPLOY.md +331 -0
- package/docs/en/DM.md +297 -0
- package/docs/en/FAQ.md +258 -0
- package/docs/en/GITHUB.md +341 -0
- package/docs/en/GOALS_SPECS_ISSUES.md +303 -0
- package/docs/en/INBOX.md +340 -0
- package/docs/en/INSTALLATION.md +329 -0
- package/docs/en/KB_AGENT.md +305 -0
- package/docs/en/KB_RAG.md +356 -0
- package/docs/en/MCP.md +313 -0
- package/docs/en/MEMORY_RAG.md +289 -0
- package/docs/en/MODELS.md +341 -0
- package/docs/en/ONBOARDING.md +327 -0
- package/docs/en/PLUGINS.md +290 -0
- package/docs/en/PORTABLE_MODE.md +387 -0
- package/docs/en/PO_AGENT.md +379 -0
- package/docs/en/PREPARE_DEPLOY.md +308 -0
- package/docs/en/PROJECT_STACKS.md +258 -0
- package/docs/en/PUBLIC_API.md +315 -0
- package/docs/en/PUBLISHING.md +343 -0
- package/docs/en/README.md +95 -0
- package/docs/en/SECURITY.md +280 -0
- package/docs/en/SKILLS.md +349 -0
- package/docs/en/START_MODE.md +340 -0
- package/docs/en/SYNCED_BLOCKS.md +320 -0
- package/docs/en/TEAM_ROOM.md +285 -0
- package/docs/en/TELEGRAM.md +294 -0
- package/docs/en/TEST_DEV.md +321 -0
- package/docs/en/TROUBLESHOOTING.md +294 -0
- package/docs/en/UPDATE.md +301 -0
- package/docs/en/VPS_MODE.md +334 -0
- package/docs/en/WORKFLOW.md +321 -0
- package/docs/pt/AGENTS.md +279 -0
- package/docs/pt/AI_ARCHITECTURE.md +373 -0
- package/docs/pt/ARCHITECTURE.md +334 -0
- package/docs/pt/AUTH_MODE.md +247 -0
- package/docs/pt/CHAT_COMMANDS.md +307 -0
- package/docs/pt/CONFIGURATION.md +340 -0
- package/docs/pt/DEPLOY.md +331 -0
- package/docs/pt/DM.md +297 -0
- package/docs/pt/FAQ.md +258 -0
- package/docs/pt/GITHUB.md +341 -0
- package/docs/pt/GOALS_SPECS_ISSUES.md +303 -0
- package/docs/pt/INBOX.md +340 -0
- package/docs/pt/INSTALLATION.md +329 -0
- package/docs/pt/KB_AGENT.md +305 -0
- package/docs/pt/KB_RAG.md +356 -0
- package/docs/pt/MCP.md +313 -0
- package/docs/pt/MEMORY_RAG.md +289 -0
- package/docs/pt/MODELS.md +341 -0
- package/docs/pt/ONBOARDING.md +327 -0
- package/docs/pt/PLUGINS.md +290 -0
- package/docs/pt/PORTABLE_MODE.md +387 -0
- package/docs/pt/PO_AGENT.md +379 -0
- package/docs/pt/PREPARE_DEPLOY.md +308 -0
- package/docs/pt/PROJECT_STACKS.md +258 -0
- package/docs/pt/PUBLIC_API.md +315 -0
- package/docs/pt/PUBLISHING.md +343 -0
- package/docs/pt/README.md +95 -0
- package/docs/pt/SECURITY.md +280 -0
- package/docs/pt/SKILLS.md +349 -0
- package/docs/pt/START_MODE.md +340 -0
- package/docs/pt/SYNCED_BLOCKS.md +320 -0
- package/docs/pt/TEAM_ROOM.md +285 -0
- package/docs/pt/TELEGRAM.md +294 -0
- package/docs/pt/TEST_DEV.md +321 -0
- package/docs/pt/TROUBLESHOOTING.md +294 -0
- package/docs/pt/UPDATE.md +301 -0
- package/docs/pt/VPS_MODE.md +334 -0
- package/docs/pt/WORKFLOW.md +321 -0
- package/drizzle/0000_regular_nightshade.sql +644 -0
- package/drizzle/0001_mixed_zombie.sql +106 -0
- package/drizzle/meta/0000_snapshot.json +4650 -0
- package/drizzle/meta/0001_snapshot.json +5418 -0
- package/drizzle/meta/_journal.json +20 -0
- package/drizzle.config.mjs +16 -0
- package/next.config.mjs +18 -0
- package/package.json +130 -0
- package/scripts/clean-repo.mjs +20 -0
- package/scripts/dev-all.mjs +46 -0
- package/scripts/i18n-parity.mjs +57 -0
- package/scripts/mcp-server.mjs +100 -0
- package/scripts/postbuild.mjs +11 -0
- package/scripts/publish-public.mjs +116 -0
- package/scripts/start-all.mjs +45 -0
- package/scripts/trim-next.mjs +23 -0
- package/scripts/vps-install.sh +39 -0
- package/skills/CONTRIBUTING.md +122 -0
- package/skills/COVERAGE.md +129 -0
- package/skills/INDEX.json +3443 -0
- package/skills/README.md +57 -0
- package/skills/design/animation-motion/SKILL.md +60 -0
- package/skills/design/color-and-typography/SKILL.md +60 -0
- package/skills/design/css-techniques/SKILL.md +58 -0
- package/skills/design/design-systems/SKILL.md +60 -0
- package/skills/design/gradients/SKILL.md +59 -0
- package/skills/design/graphic-design-basics/SKILL.md +55 -0
- package/skills/design/microinteractions/SKILL.md +58 -0
- package/skills/design/responsive-layout/SKILL.md +59 -0
- package/skills/design/ui-ux-principles/SKILL.md +58 -0
- package/skills/engineering/architecture/api-design-rest-graphql/SKILL.md +67 -0
- package/skills/engineering/architecture/caching-strategies/SKILL.md +59 -0
- package/skills/engineering/architecture/data-modeling/SKILL.md +64 -0
- package/skills/engineering/architecture/message-queues-async/SKILL.md +58 -0
- package/skills/engineering/architecture/scalability-reliability/SKILL.md +62 -0
- package/skills/engineering/architecture/software-architecture-patterns/SKILL.md +56 -0
- package/skills/engineering/architecture/system-design-fundamentals/SKILL.md +56 -0
- package/skills/engineering/backend/auth-and-authorization/SKILL.md +62 -0
- package/skills/engineering/backend/backend-fundamentals/SKILL.md +65 -0
- package/skills/engineering/backend/observability-logging/SKILL.md +60 -0
- package/skills/engineering/frontend/accessibility-wcag/SKILL.md +57 -0
- package/skills/engineering/frontend/frontend-architecture/SKILL.md +65 -0
- package/skills/engineering/frontend/rendering-strategies-ssr-csr/SKILL.md +60 -0
- package/skills/engineering/frontend/state-management/SKILL.md +69 -0
- package/skills/engineering/performance/backend-performance/SKILL.md +69 -0
- package/skills/engineering/performance/database-query-optimization/SKILL.md +64 -0
- package/skills/engineering/performance/profiling-and-benchmarking/SKILL.md +60 -0
- package/skills/engineering/performance/web-performance-core-vitals/SKILL.md +72 -0
- package/skills/engineering/practices/clean-code/SKILL.md +61 -0
- package/skills/engineering/practices/code-optimization/SKILL.md +60 -0
- package/skills/engineering/practices/code-review-practices/SKILL.md +58 -0
- package/skills/engineering/practices/git-workflow/SKILL.md +62 -0
- package/skills/engineering/practices/refactoring/SKILL.md +58 -0
- package/skills/engineering/security/appsec-fundamentals/SKILL.md +70 -0
- package/skills/engineering/security/dependency-supply-chain/SKILL.md +77 -0
- package/skills/engineering/security/owasp-asvs/SKILL.md +54 -0
- package/skills/engineering/security/owasp-top-10/SKILL.md +63 -0
- package/skills/engineering/security/secrets-management/SKILL.md +58 -0
- package/skills/engineering/security/secure-auth-sessions/SKILL.md +56 -0
- package/skills/engineering/testing/tdd-and-coverage/SKILL.md +62 -0
- package/skills/engineering/testing/testing-strategy-pyramid/SKILL.md +56 -0
- package/skills/engineering/testing/unit-integration-e2e/SKILL.md +75 -0
- package/skills/languages/c/SKILL.md +74 -0
- package/skills/languages/clojure/SKILL.md +73 -0
- package/skills/languages/cpp/SKILL.md +75 -0
- package/skills/languages/csharp/SKILL.md +75 -0
- package/skills/languages/dart/SKILL.md +82 -0
- package/skills/languages/elixir/SKILL.md +74 -0
- package/skills/languages/erlang/SKILL.md +76 -0
- package/skills/languages/go/SKILL.md +83 -0
- package/skills/languages/haskell/SKILL.md +70 -0
- package/skills/languages/java/SKILL.md +71 -0
- package/skills/languages/javascript/SKILL.md +62 -0
- package/skills/languages/kotlin/SKILL.md +68 -0
- package/skills/languages/lua/SKILL.md +79 -0
- package/skills/languages/objectivec/SKILL.md +83 -0
- package/skills/languages/php/SKILL.md +74 -0
- package/skills/languages/python/SKILL.md +68 -0
- package/skills/languages/r/SKILL.md +70 -0
- package/skills/languages/ruby/SKILL.md +67 -0
- package/skills/languages/rust/SKILL.md +72 -0
- package/skills/languages/scala/SKILL.md +73 -0
- package/skills/languages/swift/SKILL.md +73 -0
- package/skills/languages/typescript/SKILL.md +69 -0
- package/skills/meta/authoring-agent-skills/SKILL.md +73 -0
- package/skills/meta/progressive-disclosure/SKILL.md +65 -0
- package/skills/meta/skill-frontmatter-spec/SKILL.md +65 -0
- package/skills/process/adr-technical-decisions/SKILL.md +59 -0
- package/skills/process/app-planning/SKILL.md +63 -0
- package/skills/process/architecture-before-code/SKILL.md +52 -0
- package/skills/process/breaking-work-into-sprints/SKILL.md +53 -0
- package/skills/process/idea-to-product/SKILL.md +50 -0
- package/skills/process/mocks-and-screen-flows/SKILL.md +52 -0
- package/skills/process/prioritization-moscow-rice/SKILL.md +64 -0
- package/skills/process/problem-framing/SKILL.md +51 -0
- package/skills/process/product-discovery/SKILL.md +53 -0
- package/skills/process/readme-generation/SKILL.md +90 -0
- package/skills/process/requirements-to-specs/SKILL.md +53 -0
- package/skills/process/research-official-docs/SKILL.md +58 -0
- package/skills/process/review-code-perf-security/SKILL.md +65 -0
- package/skills/process/security-by-design/SKILL.md +68 -0
- package/skills/process/specs-to-issues/SKILL.md +53 -0
- package/skills/process/testing-before-done/SKILL.md +61 -0
- package/skills/process/validating-ux-navigation/SKILL.md +63 -0
- package/skills/references/ai-attachments-ui/SKILL.md +66 -0
- package/skills/references/ai-in-browser-webllm/SKILL.md +74 -0
- package/skills/references/ai-tool-ui-patterns/SKILL.md +63 -0
- package/skills/references/component-patterns-gallery/SKILL.md +62 -0
- package/skills/references/gradient-resources/SKILL.md +66 -0
- package/skills/references/react-component-libraries/SKILL.md +61 -0
- package/skills/references/saas-landing-patterns/SKILL.md +67 -0
- package/skills/references/shadcn-tailwind-theming/SKILL.md +74 -0
- package/skills/references/vercel-ai-sdk-elements/SKILL.md +66 -0
- package/skills/references/web-animation-codrops/SKILL.md +68 -0
- package/skills/stacks/aiml/jupyter/SKILL.md +68 -0
- package/skills/stacks/aiml/keras/SKILL.md +77 -0
- package/skills/stacks/aiml/numpy/SKILL.md +69 -0
- package/skills/stacks/aiml/pandas/SKILL.md +72 -0
- package/skills/stacks/aiml/pytorch/SKILL.md +77 -0
- package/skills/stacks/aiml/scikit-learn/SKILL.md +74 -0
- package/skills/stacks/aiml/tensorflow/SKILL.md +79 -0
- package/skills/stacks/auth/auth0/SKILL.md +63 -0
- package/skills/stacks/auth/authjs/SKILL.md +69 -0
- package/skills/stacks/auth/clerk/SKILL.md +72 -0
- package/skills/stacks/auth/keycloak/SKILL.md +63 -0
- package/skills/stacks/auth/lucia/SKILL.md +56 -0
- package/skills/stacks/auth/passport/SKILL.md +70 -0
- package/skills/stacks/auth/supabase-auth/SKILL.md +66 -0
- package/skills/stacks/baas/amplify/SKILL.md +71 -0
- package/skills/stacks/baas/appwrite/SKILL.md +79 -0
- package/skills/stacks/baas/firebase/SKILL.md +73 -0
- package/skills/stacks/baas/heroku/SKILL.md +71 -0
- package/skills/stacks/backend/actix/SKILL.md +77 -0
- package/skills/stacks/backend/adonisjs/SKILL.md +65 -0
- package/skills/stacks/backend/aspnet-core/SKILL.md +75 -0
- package/skills/stacks/backend/codeigniter/SKILL.md +76 -0
- package/skills/stacks/backend/django/SKILL.md +62 -0
- package/skills/stacks/backend/express/SKILL.md +65 -0
- package/skills/stacks/backend/fastapi/SKILL.md +64 -0
- package/skills/stacks/backend/fastify/SKILL.md +64 -0
- package/skills/stacks/backend/fiber/SKILL.md +68 -0
- package/skills/stacks/backend/flask/SKILL.md +71 -0
- package/skills/stacks/backend/gin/SKILL.md +68 -0
- package/skills/stacks/backend/graphql/SKILL.md +70 -0
- package/skills/stacks/backend/hono/SKILL.md +64 -0
- package/skills/stacks/backend/koa/SKILL.md +63 -0
- package/skills/stacks/backend/laravel/SKILL.md +73 -0
- package/skills/stacks/backend/nestjs/SKILL.md +70 -0
- package/skills/stacks/backend/nginx/SKILL.md +77 -0
- package/skills/stacks/backend/phoenix/SKILL.md +68 -0
- package/skills/stacks/backend/rails/SKILL.md +67 -0
- package/skills/stacks/backend/spring/SKILL.md +70 -0
- package/skills/stacks/backend/spring-boot/SKILL.md +70 -0
- package/skills/stacks/backend/symfony/SKILL.md +77 -0
- package/skills/stacks/container/containerd/SKILL.md +75 -0
- package/skills/stacks/container/docker/SKILL.md +90 -0
- package/skills/stacks/container/podman/SKILL.md +93 -0
- package/skills/stacks/database/cassandra/SKILL.md +74 -0
- package/skills/stacks/database/cockroachdb/SKILL.md +69 -0
- package/skills/stacks/database/dynamodb/SKILL.md +62 -0
- package/skills/stacks/database/mariadb/SKILL.md +71 -0
- package/skills/stacks/database/mongodb/SKILL.md +71 -0
- package/skills/stacks/database/mysql/SKILL.md +72 -0
- package/skills/stacks/database/neon/SKILL.md +68 -0
- package/skills/stacks/database/planetscale/SKILL.md +70 -0
- package/skills/stacks/database/postgresql/SKILL.md +81 -0
- package/skills/stacks/database/redis/SKILL.md +78 -0
- package/skills/stacks/database/sqlite/SKILL.md +70 -0
- package/skills/stacks/database/supabase/SKILL.md +79 -0
- package/skills/stacks/dataviz/chart-js/SKILL.md +72 -0
- package/skills/stacks/dataviz/d3/SKILL.md +77 -0
- package/skills/stacks/dataviz/grafana/SKILL.md +69 -0
- package/skills/stacks/dataviz/plotly/SKILL.md +71 -0
- package/skills/stacks/frontend/alpine/SKILL.md +75 -0
- package/skills/stacks/frontend/angular/SKILL.md +75 -0
- package/skills/stacks/frontend/backbone/SKILL.md +82 -0
- package/skills/stacks/frontend/ember/SKILL.md +85 -0
- package/skills/stacks/frontend/htmx/SKILL.md +73 -0
- package/skills/stacks/frontend/lit/SKILL.md +76 -0
- package/skills/stacks/frontend/preact/SKILL.md +74 -0
- package/skills/stacks/frontend/qwik/SKILL.md +65 -0
- package/skills/stacks/frontend/react/SKILL.md +77 -0
- package/skills/stacks/frontend/solidjs/SKILL.md +75 -0
- package/skills/stacks/frontend/svelte/SKILL.md +70 -0
- package/skills/stacks/frontend/vue/SKILL.md +69 -0
- package/skills/stacks/infra/ansible/SKILL.md +76 -0
- package/skills/stacks/infra/aws/SKILL.md +66 -0
- package/skills/stacks/infra/azure/SKILL.md +72 -0
- package/skills/stacks/infra/circleci/SKILL.md +78 -0
- package/skills/stacks/infra/cloudflare/SKILL.md +65 -0
- package/skills/stacks/infra/fly-io/SKILL.md +63 -0
- package/skills/stacks/infra/gcp/SKILL.md +66 -0
- package/skills/stacks/infra/jenkins/SKILL.md +73 -0
- package/skills/stacks/infra/kubernetes/SKILL.md +64 -0
- package/skills/stacks/infra/netlify/SKILL.md +60 -0
- package/skills/stacks/infra/railway/SKILL.md +63 -0
- package/skills/stacks/infra/tailscale/SKILL.md +65 -0
- package/skills/stacks/infra/terraform/SKILL.md +75 -0
- package/skills/stacks/infra/vagrant/SKILL.md +70 -0
- package/skills/stacks/infra/vercel/SKILL.md +60 -0
- package/skills/stacks/meta/astro/SKILL.md +64 -0
- package/skills/stacks/meta/docusaurus/SKILL.md +71 -0
- package/skills/stacks/meta/eleventy/SKILL.md +69 -0
- package/skills/stacks/meta/gatsby/SKILL.md +63 -0
- package/skills/stacks/meta/hugo/SKILL.md +73 -0
- package/skills/stacks/meta/jekyll/SKILL.md +70 -0
- package/skills/stacks/meta/nextjs/SKILL.md +62 -0
- package/skills/stacks/meta/nuxt/SKILL.md +66 -0
- package/skills/stacks/meta/remix/SKILL.md +67 -0
- package/skills/stacks/meta/sveltekit/SKILL.md +70 -0
- package/skills/stacks/meta/vite/SKILL.md +63 -0
- package/skills/stacks/mobile/android/SKILL.md +77 -0
- package/skills/stacks/mobile/flutter/SKILL.md +77 -0
- package/skills/stacks/mobile/ionic/SKILL.md +72 -0
- package/skills/stacks/mobile/nativescript/SKILL.md +71 -0
- package/skills/stacks/mobile/react-native/SKILL.md +75 -0
- package/skills/stacks/mobile/xamarin/SKILL.md +73 -0
- package/skills/stacks/orm/diesel/SKILL.md +72 -0
- package/skills/stacks/orm/django-orm/SKILL.md +58 -0
- package/skills/stacks/orm/drizzle/SKILL.md +67 -0
- package/skills/stacks/orm/gorm/SKILL.md +73 -0
- package/skills/stacks/orm/knex/SKILL.md +64 -0
- package/skills/stacks/orm/mongoose/SKILL.md +64 -0
- package/skills/stacks/orm/prisma/SKILL.md +64 -0
- package/skills/stacks/orm/sequelize/SKILL.md +65 -0
- package/skills/stacks/orm/sqlalchemy/SKILL.md +71 -0
- package/skills/stacks/orm/typeorm/SKILL.md +70 -0
- package/skills/stacks/queue/bullmq/SKILL.md +69 -0
- package/skills/stacks/queue/celery/SKILL.md +68 -0
- package/skills/stacks/queue/kafka/SKILL.md +66 -0
- package/skills/stacks/queue/nats/SKILL.md +66 -0
- package/skills/stacks/queue/rabbitmq/SKILL.md +64 -0
- package/skills/stacks/queue/redis/SKILL.md +66 -0
- package/skills/stacks/runtime/beam/SKILL.md +72 -0
- package/skills/stacks/runtime/bun/SKILL.md +80 -0
- package/skills/stacks/runtime/deno/SKILL.md +74 -0
- package/skills/stacks/runtime/dotnet/SKILL.md +64 -0
- package/skills/stacks/runtime/jvm/SKILL.md +66 -0
- package/skills/stacks/runtime/node/SKILL.md +70 -0
- package/skills/stacks/runtime/pypy/SKILL.md +69 -0
- package/skills/stacks/runtime/python3/SKILL.md +70 -0
- package/skills/stacks/styling/bootstrap/SKILL.md +74 -0
- package/skills/stacks/styling/bulma/SKILL.md +80 -0
- package/skills/stacks/styling/chakra-ui/SKILL.md +61 -0
- package/skills/stacks/styling/css-modules/SKILL.md +54 -0
- package/skills/stacks/styling/mui/SKILL.md +60 -0
- package/skills/stacks/styling/sass/SKILL.md +63 -0
- package/skills/stacks/styling/shadcn-ui/SKILL.md +58 -0
- package/skills/stacks/styling/styled-components/SKILL.md +62 -0
- package/skills/stacks/styling/tailwind/SKILL.md +59 -0
- package/skills/stacks/styling/unocss/SKILL.md +64 -0
- package/skills/stacks/styling/vanilla-extract/SKILL.md +64 -0
- package/skills/stacks/styling/vuetify/SKILL.md +89 -0
- package/skills/stacks/testing/cypress/SKILL.md +68 -0
- package/skills/stacks/testing/jasmine/SKILL.md +67 -0
- package/skills/stacks/testing/jest/SKILL.md +67 -0
- package/skills/stacks/testing/mocha/SKILL.md +71 -0
- package/skills/stacks/testing/playwright/SKILL.md +68 -0
- package/skills/stacks/testing/puppeteer/SKILL.md +70 -0
- package/skills/stacks/testing/selenium/SKILL.md +70 -0
- package/skills/stacks/testing/vitest/SKILL.md +68 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react
|
|
3
|
+
description: Component-based JavaScript library for building web and native UIs; consult for components, hooks, state, and rendering model.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: frontend
|
|
6
|
+
tags: [react, components, hooks, jsx, ui, spa]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://react.dev/
|
|
9
|
+
- https://github.com/facebook/react
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# React
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
React is a JavaScript library for building user interfaces out of small, composable, stateful components. It uses a declarative model: you describe what the UI should look like for a given state, and React reconciles the DOM (or native views) to match. Read this when building component trees, managing local/shared state, or choosing how to bootstrap a React app.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://react.dev/
|
|
20
|
+
- Repo: https://github.com/facebook/react
|
|
21
|
+
- Install / download: https://react.dev/learn/creating-a-react-app
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
React's docs recommend starting a new app with a framework. The most common scaffolds (copied verbatim from react.dev):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx create-next-app@latest
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx create-react-router@latest
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Note: Create React App is deprecated; see react.dev/learn/creating-a-react-app for current recommendations.
|
|
35
|
+
|
|
36
|
+
## Core concepts
|
|
37
|
+
- **Components** — functions that return JSX describing UI; compose them to build whole interfaces.
|
|
38
|
+
- **JSX** — HTML-like syntax that compiles to `React.createElement` calls; expressions go in `{}`.
|
|
39
|
+
- **Props** — read-only inputs passed from parent to child; never mutate them.
|
|
40
|
+
- **State & hooks** — `useState`, `useEffect`, `useContext`, `useReducer` etc. add memory and side effects to function components.
|
|
41
|
+
- **Rendering & reconciliation** — React re-renders components when state/props change and diffs the result to apply minimal DOM updates.
|
|
42
|
+
- **Keys** — stable identities for list items so React can track elements across renders.
|
|
43
|
+
- **Purity** — components should render as pure functions of their props and state.
|
|
44
|
+
|
|
45
|
+
## Best practices
|
|
46
|
+
- Keep components pure: render based only on props and state, perform side effects in effects/event handlers (react.dev "Keeping Components Pure").
|
|
47
|
+
- Lift shared state up to the closest common ancestor rather than duplicating it.
|
|
48
|
+
- Give list items stable, unique `key` props (not array index when the list can reorder).
|
|
49
|
+
- Prefer composition over inheritance; pass JSX via `children` and props.
|
|
50
|
+
- Use the official React DevTools and the Rules of Hooks (call hooks at the top level, only from React functions).
|
|
51
|
+
|
|
52
|
+
## Common pitfalls
|
|
53
|
+
- Mutating state directly (`state.x = 1`) → create new objects/arrays and call the setter so React detects the change.
|
|
54
|
+
- Calling hooks conditionally or inside loops → always call hooks unconditionally at the top of the component.
|
|
55
|
+
- Overusing `useEffect` for derived data → compute values during render instead; effects are for synchronizing with external systems.
|
|
56
|
+
|
|
57
|
+
## Examples
|
|
58
|
+
```jsx
|
|
59
|
+
import { useState } from 'react';
|
|
60
|
+
|
|
61
|
+
function Counter() {
|
|
62
|
+
const [count, setCount] = useState(0);
|
|
63
|
+
return (
|
|
64
|
+
<button onClick={() => setCount((c) => c + 1)}>
|
|
65
|
+
Clicked {count} times
|
|
66
|
+
</button>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Further reading
|
|
72
|
+
- https://react.dev/learn — official Quick Start and full Learn guide
|
|
73
|
+
- https://react.dev/reference/react — API reference for hooks and components
|
|
74
|
+
|
|
75
|
+
## Related skills
|
|
76
|
+
- ../vue — alternative reactive UI framework
|
|
77
|
+
- ../preact — tiny React-compatible alternative
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: solidjs
|
|
3
|
+
description: Fine-grained reactive UI library with JSX and no virtual DOM; consult for signals, derived state, and Solid/SolidStart apps.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: frontend
|
|
6
|
+
tags: [solidjs, signals, reactivity, jsx, ui]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.solidjs.com/
|
|
9
|
+
- https://github.com/solidjs/solid
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# SolidJS
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
SolidJS is a declarative JavaScript UI library that uses JSX but compiles to fine-grained reactivity instead of a virtual DOM: only the exact DOM nodes affected by a state change are updated. Components run once to set up reactive graphs, which makes updates fast and predictable. Read this when working with signals, derived state, or scaffolding a Solid/SolidStart app.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://docs.solidjs.com/
|
|
20
|
+
- Repo: https://github.com/solidjs/solid
|
|
21
|
+
- Install / download: https://docs.solidjs.com/quick-start
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
Solid's official scaffolder is `create-solid` (see docs.solidjs.com/quick-start). The repo README also documents starting from a template (copied verbatim from github.com/solidjs/solid):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx degit solidjs/templates/js my-app
|
|
28
|
+
cd my-app
|
|
29
|
+
npm i
|
|
30
|
+
npm run dev
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
For TypeScript, use `solidjs/templates/ts` in place of `solidjs/templates/js`.
|
|
34
|
+
|
|
35
|
+
## Core concepts
|
|
36
|
+
- **Signals** — `createSignal` returns a getter/setter pair; reading a signal in a tracked scope subscribes to it.
|
|
37
|
+
- **Fine-grained reactivity** — components run once; only reactive reads re-run when their signals change (no re-render of the whole component).
|
|
38
|
+
- **Derived state** — `createMemo` caches computed values; plain functions can also derive values.
|
|
39
|
+
- **Effects** — `createEffect` runs side effects when its tracked dependencies change.
|
|
40
|
+
- **JSX** — Solid compiles JSX to real DOM nodes and reactive bindings.
|
|
41
|
+
- **Control flow** — `<Show>`, `<For>`, `<Switch>` components handle conditional and list rendering reactively.
|
|
42
|
+
- **Stores** — `createStore` for nested reactive objects.
|
|
43
|
+
|
|
44
|
+
## Best practices
|
|
45
|
+
- Call signal getters inside the JSX/effect where you want reactivity, not destructured once outside tracking scope.
|
|
46
|
+
- Use `<For>` instead of `Array.map` for keyed, efficient list rendering.
|
|
47
|
+
- Use `createMemo` for expensive derived values to avoid recomputation.
|
|
48
|
+
- Keep component bodies setup-only; put repeated logic in effects/memos, since the body runs just once.
|
|
49
|
+
|
|
50
|
+
## Common pitfalls
|
|
51
|
+
- Reading a signal outside a tracked scope → you get a static snapshot; read it where reactivity is needed.
|
|
52
|
+
- Treating components like React (expecting re-renders) → Solid does not re-run component bodies on update.
|
|
53
|
+
- Spreading/destructuring props early → access props lazily to preserve reactivity (or use `splitProps`).
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
```jsx
|
|
57
|
+
import { createSignal } from 'solid-js';
|
|
58
|
+
|
|
59
|
+
function Counter() {
|
|
60
|
+
const [count, setCount] = createSignal(0);
|
|
61
|
+
return (
|
|
62
|
+
<button onClick={() => setCount(count() + 1)}>
|
|
63
|
+
Clicked {count()} times
|
|
64
|
+
</button>
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Further reading
|
|
70
|
+
- https://docs.solidjs.com/guides — guides and concepts
|
|
71
|
+
- https://docs.solidjs.com/solid-start — SolidStart full-stack framework
|
|
72
|
+
|
|
73
|
+
## Related skills
|
|
74
|
+
- ../svelte — compiler-first reactive framework
|
|
75
|
+
- ../react — JSX-based component library
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: svelte
|
|
3
|
+
description: Compiler-first UI framework that converts components to efficient JS with no runtime virtual DOM; consult for Svelte/SvelteKit apps.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: frontend
|
|
6
|
+
tags: [svelte, sveltekit, compiler, reactivity, ui]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://svelte.dev/docs
|
|
9
|
+
- https://github.com/sveltejs/svelte
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Svelte
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Svelte is a UI framework that shifts work to a compile step: instead of shipping a runtime that diffs a virtual DOM, it compiles components into small, imperative JavaScript that surgically updates the DOM. SvelteKit is the official application framework built on top of it (routing, SSR, data loading). Read this when building Svelte components or a SvelteKit app.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://svelte.dev/docs
|
|
20
|
+
- Repo: https://github.com/sveltejs/svelte
|
|
21
|
+
- Install / download: https://svelte.dev/docs/svelte/getting-started
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
The docs recommend SvelteKit; create a project with the `sv` CLI (copied verbatim from svelte.dev/docs/svelte/getting-started):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx sv create myapp
|
|
28
|
+
cd myapp
|
|
29
|
+
npm install
|
|
30
|
+
npm run dev
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Core concepts
|
|
34
|
+
- **Compiler** — Svelte compiles `.svelte` components at build time; there is no runtime virtual DOM.
|
|
35
|
+
- **Components** — `.svelte` files combine `<script>`, markup, and `<style>` (scoped by default).
|
|
36
|
+
- **Runes (Svelte 5)** — `$state`, `$derived`, `$effect`, and `$props` declare reactive state and derived values.
|
|
37
|
+
- **Props** — declared with `$props()` (Svelte 5); passed as attributes from parent.
|
|
38
|
+
- **Bindings** — `bind:value` and event handlers (`onclick`) wire UI to state.
|
|
39
|
+
- **Stores** — shared reactive state across components.
|
|
40
|
+
- **SvelteKit** — filesystem routing, server/client load functions, and SSR/SSG.
|
|
41
|
+
|
|
42
|
+
## Best practices
|
|
43
|
+
- Use runes (`$state`, `$derived`) for reactivity in Svelte 5 rather than the older reactive-label syntax.
|
|
44
|
+
- Keep styles in the component; Svelte scopes them automatically.
|
|
45
|
+
- Use SvelteKit for routing, SSR, and data loading rather than wiring it by hand.
|
|
46
|
+
- Derive values with `$derived` instead of manually keeping copies in sync.
|
|
47
|
+
|
|
48
|
+
## Common pitfalls
|
|
49
|
+
- Mixing Svelte 4 reactive statements (`$:`) with Svelte 5 runes → follow one model per the version you target.
|
|
50
|
+
- Expecting a virtual DOM diffing API → Svelte updates are compiled; think in terms of reactive declarations, not re-renders.
|
|
51
|
+
- Forgetting that component CSS is scoped → use `:global(...)` when you intentionally need global styles.
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
```svelte
|
|
55
|
+
<script>
|
|
56
|
+
let count = $state(0);
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<button onclick={() => count++}>
|
|
60
|
+
Clicked {count} times
|
|
61
|
+
</button>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Further reading
|
|
65
|
+
- https://svelte.dev/docs/svelte/overview — Svelte language docs
|
|
66
|
+
- https://svelte.dev/docs/kit — SvelteKit application framework
|
|
67
|
+
|
|
68
|
+
## Related skills
|
|
69
|
+
- ../vue — reactive SFC-based framework
|
|
70
|
+
- ../solidjs — fine-grained reactive library
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vue
|
|
3
|
+
description: Progressive, incrementally adoptable JavaScript framework for building web UIs; consult for SFCs, reactivity, and composition API.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: frontend
|
|
6
|
+
tags: [vue, reactivity, sfc, composition-api, ui, spa]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://vuejs.org/guide/
|
|
9
|
+
- https://github.com/vuejs/core
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Vue
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Vue is a progressive JavaScript framework for building user interfaces, designed to be incrementally adoptable from a sprinkle of interactivity to full single-page apps. It centers on declarative, reactive rendering and Single-File Components (`.vue`) that co-locate template, script, and styles. Read this when building Vue components, using the Composition API, or scaffolding a Vue project.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://vuejs.org/guide/
|
|
20
|
+
- Repo: https://github.com/vuejs/core
|
|
21
|
+
- Install / download: https://vuejs.org/guide/quick-start.html
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
Scaffold a new project with the official `create-vue` tool (copied verbatim from vuejs.org/guide/quick-start.html):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm create vue@latest
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Core concepts
|
|
31
|
+
- **Reactivity** — `ref()` and `reactive()` create reactive state; the DOM updates automatically when it changes.
|
|
32
|
+
- **Single-File Components (SFC)** — `.vue` files bundle `<template>`, `<script setup>`, and `<style>` together.
|
|
33
|
+
- **Composition API** — `<script setup>` with `ref`, `computed`, `watch`, and lifecycle hooks for organizing logic by concern.
|
|
34
|
+
- **Options API** — alternative object-based component style (`data`, `methods`, `computed`).
|
|
35
|
+
- **Template directives** — `v-if`, `v-for`, `v-bind` (`:`), `v-on` (`@`), `v-model` for two-way binding.
|
|
36
|
+
- **Computed & watchers** — `computed()` for derived cached values; `watch`/`watchEffect` for side effects.
|
|
37
|
+
- **Components & props/emits** — pass data down via props, communicate up via emitted events.
|
|
38
|
+
|
|
39
|
+
## Best practices
|
|
40
|
+
- Prefer the Composition API with `<script setup>` for new projects (recommended in the docs for SFCs).
|
|
41
|
+
- Use `computed` for derived state instead of recomputing in templates or watchers.
|
|
42
|
+
- Always provide a unique `:key` when using `v-for`.
|
|
43
|
+
- Use Pinia (the official state store) for cross-component shared state.
|
|
44
|
+
- Pin the Vue version and use the official Vue DevTools for debugging.
|
|
45
|
+
|
|
46
|
+
## Common pitfalls
|
|
47
|
+
- Destructuring a `reactive()` object loses reactivity → keep the object intact or use `toRefs`.
|
|
48
|
+
- Mutating props inside a child → emit an event or use `v-model` so the parent owns the state.
|
|
49
|
+
- Using `v-if` and `v-for` on the same element → split them; `v-if` has higher precedence and the behavior is discouraged.
|
|
50
|
+
|
|
51
|
+
## Examples
|
|
52
|
+
```vue
|
|
53
|
+
<script setup>
|
|
54
|
+
import { ref } from 'vue';
|
|
55
|
+
const count = ref(0);
|
|
56
|
+
</script>
|
|
57
|
+
|
|
58
|
+
<template>
|
|
59
|
+
<button @click="count++">Clicked {{ count }} times</button>
|
|
60
|
+
</template>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Further reading
|
|
64
|
+
- https://vuejs.org/guide/introduction.html — full introduction and concepts
|
|
65
|
+
- https://vuejs.org/guide/quick-start.html — quick start and tooling
|
|
66
|
+
|
|
67
|
+
## Related skills
|
|
68
|
+
- ../react — alternative component UI library
|
|
69
|
+
- ../svelte — compiler-first reactive framework
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ansible
|
|
3
|
+
description: Ansible is Red Hat's agentless IT automation tool that configures systems and orchestrates deployments via YAML playbooks over SSH; consult when writing playbooks, roles, inventories, tasks, handlers, or using modules and collections to provision, configure, or deploy across many hosts.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [ansible, automation, configuration-management, devops, infrastructure, yaml, playbook]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.ansible.com/
|
|
9
|
+
- https://github.com/ansible/ansible
|
|
10
|
+
- https://docs.ansible.com/projects/ansible/latest/installation_guide/intro_installation.html
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Ansible
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Ansible is an open-source, agentless IT automation engine for configuration management, application deployment, and orchestration. It connects to managed nodes over SSH (or WinRM) and applies idempotent tasks described declaratively in YAML playbooks, requiring no software installed on the targets. Read this when authoring playbooks/roles, defining inventories, or automating multi-host configuration.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://docs.ansible.com/
|
|
21
|
+
- Repo: https://github.com/ansible/ansible
|
|
22
|
+
- Install: https://docs.ansible.com/projects/ansible/latest/installation_guide/intro_installation.html
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
python3 -m pip install --user ansible
|
|
27
|
+
```
|
|
28
|
+
Source: https://docs.ansible.com/projects/ansible/latest/installation_guide/intro_installation.html
|
|
29
|
+
|
|
30
|
+
## Core concepts
|
|
31
|
+
- **Control node** — machine where Ansible runs; managed nodes need only SSH and Python.
|
|
32
|
+
- **Inventory** — list of managed hosts, grouped, in INI or YAML (`-i inventory`).
|
|
33
|
+
- **Playbook** — ordered YAML file mapping plays (host groups) to tasks.
|
|
34
|
+
- **Task** — a single call to a module (e.g. `ansible.builtin.copy`); strives for idempotency.
|
|
35
|
+
- **Module** — reusable unit of work executed on a host; ships in collections.
|
|
36
|
+
- **Role** — packaged, reusable structure of tasks, handlers, vars, and templates.
|
|
37
|
+
- **Handler** — task triggered by `notify`, run once at the end (e.g. restart a service).
|
|
38
|
+
- **Collection** — distributable bundle of modules, roles, and plugins (via Ansible Galaxy).
|
|
39
|
+
|
|
40
|
+
## Best practices
|
|
41
|
+
- Write idempotent tasks so repeated runs converge without side effects (https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_intro.html).
|
|
42
|
+
- Organize reusable automation into roles with a standard directory layout (https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html).
|
|
43
|
+
- Encrypt secrets at rest with Ansible Vault instead of plaintext vars (https://docs.ansible.com/ansible/latest/vault_guide/index.html).
|
|
44
|
+
- Reference modules by fully qualified collection name, e.g. `ansible.builtin.copy` (https://docs.ansible.com/ansible/latest/collections/index.html).
|
|
45
|
+
- Install Galaxy dependencies via `requirements.yml` for reproducibility (https://docs.ansible.com/ansible/latest/galaxy/user_guide.html).
|
|
46
|
+
|
|
47
|
+
## Common pitfalls
|
|
48
|
+
- Using `command`/`shell` for things a module handles → breaks idempotency; prefer the dedicated module.
|
|
49
|
+
- Hardcoding passwords/keys in playbooks → store them in Ansible Vault.
|
|
50
|
+
- Host unreachable due to SSH/key issues → verify with `ansible all -m ping -i inventory`.
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
```yaml
|
|
54
|
+
- name: Ensure nginx is installed and running
|
|
55
|
+
hosts: web
|
|
56
|
+
become: true
|
|
57
|
+
tasks:
|
|
58
|
+
- name: Install nginx
|
|
59
|
+
ansible.builtin.package:
|
|
60
|
+
name: nginx
|
|
61
|
+
state: present
|
|
62
|
+
- name: Start nginx
|
|
63
|
+
ansible.builtin.service:
|
|
64
|
+
name: nginx
|
|
65
|
+
state: started
|
|
66
|
+
enabled: true
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Further reading
|
|
70
|
+
- https://docs.ansible.com/ansible/latest/playbook_guide/index.html — playbook authoring guide
|
|
71
|
+
- https://galaxy.ansible.com/ — Ansible Galaxy collections/roles hub
|
|
72
|
+
- https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html — builtin module index
|
|
73
|
+
|
|
74
|
+
## Related skills
|
|
75
|
+
- ../terraform — provision infrastructure that Ansible then configures
|
|
76
|
+
- ../vagrant — spin up local VMs to test playbooks against
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aws
|
|
3
|
+
description: Amazon Web Services cloud platform and AWS CLI; consult for compute, storage, networking, IAM, and scripting AWS resources.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [cloud, aws, iam, ec2, s3, cli]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.aws.amazon.com/
|
|
9
|
+
- https://github.com/aws/aws-cli
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# AWS (Amazon Web Services)
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
AWS is a broad cloud platform offering compute (EC2, Lambda), storage (S3, EBS), databases, networking (VPC), and identity (IAM), among hundreds of services. The AWS CLI (`aws`) is the unified command-line tool for managing these resources and scripting automation. Read this when you need to provision, manage, or script AWS infrastructure.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://docs.aws.amazon.com/
|
|
20
|
+
- Repo (AWS CLI): https://github.com/aws/aws-cli
|
|
21
|
+
- CLI install: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
Linux (x86_64), copied verbatim from the official install page:
|
|
25
|
+
```bash
|
|
26
|
+
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
|
27
|
+
unzip awscliv2.zip
|
|
28
|
+
sudo ./aws/install
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Core concepts
|
|
32
|
+
- Regions & Availability Zones: resources live in a region, which contains isolated AZs for fault tolerance.
|
|
33
|
+
- IAM: identities (users, roles) and policies that grant least-privilege permissions to AWS actions and resources.
|
|
34
|
+
- EC2 & Lambda: virtual machines for long-running compute vs. event-driven serverless functions.
|
|
35
|
+
- S3: object storage organized into buckets with fine-grained access policies.
|
|
36
|
+
- VPC: a logically isolated virtual network with subnets, route tables, and security groups.
|
|
37
|
+
- Credentials & profiles: the CLI resolves credentials from environment variables, shared config/credentials files, and named profiles.
|
|
38
|
+
|
|
39
|
+
## Best practices
|
|
40
|
+
- Grant least-privilege IAM policies and prefer roles over long-lived access keys (per AWS IAM best practices).
|
|
41
|
+
- Avoid using the account root user for everyday tasks; create scoped IAM identities instead.
|
|
42
|
+
- Scope resources to the correct region and use multiple AZs for high availability.
|
|
43
|
+
- In CI, use short-lived role credentials (e.g. OIDC-assumed roles) rather than embedding static keys.
|
|
44
|
+
|
|
45
|
+
## Common pitfalls
|
|
46
|
+
- Running a CLI command with no/incorrect `--region` or profile → it targets the wrong region or fails to find resources.
|
|
47
|
+
- Over-broad IAM policies (`Action: "*"`) → security risk; scope to specific actions and resources.
|
|
48
|
+
- Public S3 bucket misconfiguration → unintended data exposure; verify bucket policies and Block Public Access.
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
```bash
|
|
52
|
+
# Configure credentials and a default region
|
|
53
|
+
aws configure
|
|
54
|
+
|
|
55
|
+
# List S3 buckets and copy a file
|
|
56
|
+
aws s3 ls
|
|
57
|
+
aws s3 cp ./report.csv s3://my-bucket/report.csv
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Further reading
|
|
61
|
+
- https://docs.aws.amazon.com/cli/latest/userguide/ — AWS CLI user guide
|
|
62
|
+
- https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html — IAM best practices
|
|
63
|
+
|
|
64
|
+
## Related skills
|
|
65
|
+
- ../gcp — comparable hyperscale cloud platform
|
|
66
|
+
- ../kubernetes — container orchestration often run on AWS (EKS)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure
|
|
3
|
+
description: Microsoft Azure is Microsoft's public cloud platform managed via the az CLI; consult when provisioning Azure resources, authenticating with az login, scripting deployments, working with resource groups, ARM/Bicep templates, AKS, App Service, storage accounts, or managing Azure subscriptions from the command line.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [azure, cloud, microsoft, az-cli, devops, infrastructure, iac]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://learn.microsoft.com/en-us/cli/azure/
|
|
9
|
+
- https://github.com/Azure/azure-cli
|
|
10
|
+
- https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Microsoft Azure
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Microsoft Azure is Microsoft's public cloud platform for compute, storage, networking, databases, and managed services. The Azure CLI (`az`) is the cross-platform command-line tool for creating and managing those resources via scripts or interactive commands. Read this when you need to authenticate to Azure, provision or query resources, or automate deployments from the terminal.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://learn.microsoft.com/en-us/cli/azure/
|
|
21
|
+
- Repo: https://github.com/Azure/azure-cli
|
|
22
|
+
- Install: https://learn.microsoft.com/en-us/cli/azure/install-azure-cli
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
# Windows (Windows Package Manager)
|
|
27
|
+
winget install --exact --id Microsoft.AzureCLI
|
|
28
|
+
# then authenticate
|
|
29
|
+
az login
|
|
30
|
+
```
|
|
31
|
+
Source: https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows
|
|
32
|
+
|
|
33
|
+
## Core concepts
|
|
34
|
+
- **Subscription** — billing/management boundary; each resource lives under one subscription (`az account show`).
|
|
35
|
+
- **Resource group** — logical container grouping related resources sharing lifecycle and region.
|
|
36
|
+
- **Resource provider** — service namespace (e.g. `Microsoft.Compute`) that must be registered to use its resources.
|
|
37
|
+
- **ARM / Bicep** — Azure Resource Manager is the deployment/control plane; Bicep is the declarative IaC DSL that compiles to ARM JSON.
|
|
38
|
+
- **Region** — physical datacenter location (e.g. `eastus`) where resources are deployed.
|
|
39
|
+
- **RBAC** — role-based access control assigns roles (Owner, Contributor, Reader) to identities at a scope.
|
|
40
|
+
- **Managed identity** — Azure-managed service principal so resources authenticate without stored secrets.
|
|
41
|
+
- **az login** — interactive (browser/device-code) or service-principal authentication establishing CLI context.
|
|
42
|
+
|
|
43
|
+
## Best practices
|
|
44
|
+
- Use resource groups to align resource lifecycle and apply tags for cost tracking (https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/overview).
|
|
45
|
+
- Prefer managed identities over storing credentials in code or config (https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview).
|
|
46
|
+
- Define infrastructure with Bicep/ARM templates for repeatable, reviewable deployments (https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview).
|
|
47
|
+
- Run `az login --use-device-code` on headless/remote machines where no browser is available (https://learn.microsoft.com/en-us/cli/azure/authenticate-azure-cli).
|
|
48
|
+
- Keep the CLI current with `az upgrade` to get latest commands and fixes (https://learn.microsoft.com/en-us/cli/azure/update-azure-cli).
|
|
49
|
+
|
|
50
|
+
## Common pitfalls
|
|
51
|
+
- Forgetting to set the active subscription on multi-sub accounts → run `az account set --subscription <id>` before creating resources.
|
|
52
|
+
- `az` not found after install on Windows → close and reopen the terminal so PATH refreshes.
|
|
53
|
+
- Resource provider not registered → run `az provider register --namespace Microsoft.<Service>` and wait for it to complete.
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
```bash
|
|
57
|
+
az group create --name myRG --location eastus
|
|
58
|
+
az storage account create \
|
|
59
|
+
--name mystorage$RANDOM \
|
|
60
|
+
--resource-group myRG \
|
|
61
|
+
--location eastus \
|
|
62
|
+
--sku Standard_LRS
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Further reading
|
|
66
|
+
- https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/ — Bicep IaC language reference
|
|
67
|
+
- https://learn.microsoft.com/en-us/cli/azure/reference-index — full `az` command reference
|
|
68
|
+
- https://learn.microsoft.com/en-us/azure/architecture/ — Azure Architecture Center patterns
|
|
69
|
+
|
|
70
|
+
## Related skills
|
|
71
|
+
- ../terraform — provision Azure resources declaratively with the azurerm provider
|
|
72
|
+
- ../ansible — configure Azure VMs and orchestrate post-provisioning
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: circleci
|
|
3
|
+
description: CircleCI is a cloud and self-hosted CI/CD platform configured via a .circleci/config.yml file; consult when defining jobs, workflows, executors, orbs, caching, contexts, or runners, and when debugging pipeline syntax (version 2.1) or build failures.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [circleci, ci-cd, automation, pipeline, devops, infrastructure, yaml]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://circleci.com/docs/
|
|
9
|
+
- https://github.com/CircleCI-Public
|
|
10
|
+
- https://circleci.com/docs/guides/getting-started/getting-started/
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# CircleCI
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
CircleCI is a continuous integration and delivery platform that runs pipelines defined in a single `.circleci/config.yml` file at the root of your repository. It executes jobs in fully isolated cloud executors (Docker, Linux, macOS, Windows) or on self-hosted runners, orchestrated by workflows. Read this when authoring or debugging CircleCI config, wiring up jobs and workflows, or reusing logic with orbs.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://circleci.com/docs/
|
|
21
|
+
- Repo: https://github.com/CircleCI-Public
|
|
22
|
+
- Install: https://circleci.com/docs/guides/getting-started/getting-started/
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```yaml
|
|
26
|
+
# .circleci/config.yml
|
|
27
|
+
version: 2.1
|
|
28
|
+
jobs:
|
|
29
|
+
build:
|
|
30
|
+
docker:
|
|
31
|
+
- image: cimg/base:current
|
|
32
|
+
steps:
|
|
33
|
+
- checkout
|
|
34
|
+
- run: echo "Hello, CircleCI"
|
|
35
|
+
```
|
|
36
|
+
Source: https://circleci.com/docs/guides/getting-started/introduction-to-yaml-configurations/
|
|
37
|
+
|
|
38
|
+
## Core concepts
|
|
39
|
+
- **config.yml** — single YAML file under `.circleci/` defining the entire pipeline; `version: 2.1` is current.
|
|
40
|
+
- **Job** — a collection of `steps` run in a single executor; the unit of work.
|
|
41
|
+
- **Step** — an individual action such as `checkout` or `run`.
|
|
42
|
+
- **Executor** — the environment a job runs in (`docker`, `machine`, `macos`, `windows`).
|
|
43
|
+
- **Workflow** — orchestrates jobs with ordering, fan-out/fan-in, and conditional/parallel execution.
|
|
44
|
+
- **Orb** — reusable, shareable package of config (jobs, commands, executors).
|
|
45
|
+
- **Context** — named, secured set of environment variables shared across projects.
|
|
46
|
+
- **Self-hosted runner** — your own machine executing jobs for the CircleCI control plane.
|
|
47
|
+
|
|
48
|
+
## Best practices
|
|
49
|
+
- Use `version: 2.1` to unlock orbs, reusable commands, and pipeline parameters (https://circleci.com/docs/reference/configuration-reference/).
|
|
50
|
+
- Organize multi-job pipelines with workflows for parallelism and dependencies (https://circleci.com/docs/guides/orchestrate/workflows/).
|
|
51
|
+
- Cache dependencies with `save_cache`/`restore_cache` to speed up builds (https://circleci.com/docs/guides/optimize/caching/).
|
|
52
|
+
- Store secrets in Contexts or project environment variables, never in config (https://circleci.com/docs/guides/security/contexts/).
|
|
53
|
+
- Reuse vetted logic via the orb registry instead of copy-pasting steps (https://circleci.com/developer/orbs).
|
|
54
|
+
|
|
55
|
+
## Common pitfalls
|
|
56
|
+
- Misindented YAML silently breaks the pipeline → validate with the CircleCI CLI (`circleci config validate`) or VS Code extension.
|
|
57
|
+
- Stale caches from an unchanging cache key → include a checksum of the lockfile in the key.
|
|
58
|
+
- Committing secrets into config.yml → move them into Contexts or env vars in project settings.
|
|
59
|
+
|
|
60
|
+
## Examples
|
|
61
|
+
```yaml
|
|
62
|
+
workflows:
|
|
63
|
+
build-and-test:
|
|
64
|
+
jobs:
|
|
65
|
+
- build
|
|
66
|
+
- test:
|
|
67
|
+
requires:
|
|
68
|
+
- build
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Further reading
|
|
72
|
+
- https://circleci.com/docs/reference/configuration-reference/ — full config.yml reference
|
|
73
|
+
- https://circleci.com/developer/orbs — orb registry
|
|
74
|
+
- https://circleci.com/docs/guides/orchestrate/workflows/ — workflows guide
|
|
75
|
+
|
|
76
|
+
## Related skills
|
|
77
|
+
- ../jenkins — self-hosted CI/CD server alternative
|
|
78
|
+
- ../terraform — provision infrastructure invoked from CircleCI jobs
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cloudflare
|
|
3
|
+
description: Cloudflare CDN, DNS, WAF, Workers edge compute, and Tunnels; consult for edge delivery, DNS, and exposing private origins securely.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [cdn, dns, edge, tunnel, workers, waf]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://developers.cloudflare.com/
|
|
9
|
+
- https://github.com/cloudflare/cloudflared
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Cloudflare
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Cloudflare is a global network that sits in front of your sites and services to provide CDN caching, DNS, TLS, a Web Application Firewall, and edge compute (Workers). `cloudflared` additionally creates outbound-only Tunnels so you can expose a local or private origin without opening inbound firewall ports. Read this when you need to accelerate, protect, or securely publish a web service.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://developers.cloudflare.com/
|
|
20
|
+
- Repo (cloudflared): https://github.com/cloudflare/cloudflared
|
|
21
|
+
- Tunnel install methods: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
`cloudflared` is distributed as OS packages and binaries (Homebrew, Debian/RPM, Windows, Docker) rather than a single universal script. On macOS with Homebrew:
|
|
25
|
+
```bash
|
|
26
|
+
brew install cloudflared
|
|
27
|
+
```
|
|
28
|
+
See the repo and docs for Linux package and Docker installs.
|
|
29
|
+
|
|
30
|
+
## Core concepts
|
|
31
|
+
- CDN & caching: edge nodes cache origin responses; cache behavior is controlled by cache rules and response headers.
|
|
32
|
+
- DNS: Cloudflare acts as authoritative DNS; records can be proxied (orange-cloud, traffic flows through Cloudflare) or DNS-only (grey-cloud).
|
|
33
|
+
- WAF & security: managed and custom rules filter malicious requests at the edge before they reach the origin.
|
|
34
|
+
- Workers: serverless JavaScript/Wasm functions that run on the edge close to users.
|
|
35
|
+
- Tunnel (cloudflared): an outbound-only daemon that proxies traffic from Cloudflare's network to your origin, avoiding inbound port exposure.
|
|
36
|
+
- Zero Trust (Access/Gateway): identity-aware policies gate access to applications and networks.
|
|
37
|
+
|
|
38
|
+
## Best practices
|
|
39
|
+
- Proxy (orange-cloud) records you want protected/cached; keep records DNS-only when the service must not route through Cloudflare.
|
|
40
|
+
- Prefer Tunnels over opening inbound firewall ports for private origins, since cloudflared connects outbound only (see Cloudflare One docs).
|
|
41
|
+
- Use cache rules and appropriate `Cache-Control` headers rather than relying on defaults to avoid caching dynamic/private responses.
|
|
42
|
+
- Put authentication-sensitive apps behind Zero Trust Access policies instead of relying on network obscurity.
|
|
43
|
+
|
|
44
|
+
## Common pitfalls
|
|
45
|
+
- Proxying a record that needs the visitor's real IP → the origin sees Cloudflare IPs; read `CF-Connecting-IP` instead of the socket address.
|
|
46
|
+
- Caching authenticated or per-user responses → set proper cache bypass rules or no-store headers.
|
|
47
|
+
- Running a Tunnel without scoping its public hostname/routes → unintended exposure; define ingress rules explicitly.
|
|
48
|
+
|
|
49
|
+
## Examples
|
|
50
|
+
```bash
|
|
51
|
+
# Authenticate cloudflared and create a named tunnel
|
|
52
|
+
cloudflared tunnel login
|
|
53
|
+
cloudflared tunnel create my-app
|
|
54
|
+
|
|
55
|
+
# Route a hostname to the tunnel and run it
|
|
56
|
+
cloudflared tunnel route dns my-app app.example.com
|
|
57
|
+
cloudflared tunnel run my-app
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Further reading
|
|
61
|
+
- https://developers.cloudflare.com/workers/ — edge compute
|
|
62
|
+
- https://developers.cloudflare.com/cloudflare-one/ — Zero Trust and Tunnels
|
|
63
|
+
|
|
64
|
+
## Related skills
|
|
65
|
+
- ../tailscale — alternative private-network/VPN approach for device connectivity
|