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,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fly-io
|
|
3
|
+
description: Run full-stack apps and databases on a global edge using flyctl and Fly Machines; consult for deploys, regions, and scaling.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [hosting, edge, containers, deploy, flyctl, global]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://fly.io/docs/
|
|
9
|
+
- https://github.com/superfly/flyctl
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Fly.io
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Fly.io runs your app as containers (Fly Machines) on hardware in many regions, placing instances close to users worldwide. It deploys apps, databases, and background workers driven by the `flyctl` CLI and a `fly.toml` config. Read this when you need to deploy a containerized full-stack app with low latency across regions.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://fly.io/docs/
|
|
20
|
+
- Repo (flyctl): https://github.com/superfly/flyctl
|
|
21
|
+
- Install: https://fly.io/docs/flyctl/install/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
curl -L https://fly.io/install.sh | sh
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Core concepts
|
|
29
|
+
- Fly Machines: fast-starting micro-VMs running your container image; the unit of compute you deploy and scale.
|
|
30
|
+
- `fly.toml`: per-app configuration declaring services, ports, regions, health checks, and scaling.
|
|
31
|
+
- Regions: apps run in chosen regions; Fly's edge routes each request to a nearby instance.
|
|
32
|
+
- Volumes: persistent local disks attached to a Machine for stateful workloads.
|
|
33
|
+
- Apps & deploys: `fly deploy` builds/pushes an image and rolls Machines to the new release.
|
|
34
|
+
- Private networking: apps in an organization share a private IPv6 (6PN) network for service-to-service traffic.
|
|
35
|
+
|
|
36
|
+
## Best practices
|
|
37
|
+
- Define health checks in `fly.toml` so rolling deploys only shift traffic to healthy Machines.
|
|
38
|
+
- Co-locate stateful storage (volumes/databases) in the same region as the app instances that use them to avoid cross-region latency.
|
|
39
|
+
- Use secrets (`fly secrets set`) for credentials instead of baking them into the image or committing them.
|
|
40
|
+
- Scale by region to match where your users are rather than over-provisioning a single region.
|
|
41
|
+
|
|
42
|
+
## Common pitfalls
|
|
43
|
+
- Assuming volumes follow the app across regions → a volume is pinned to one region/Machine; plan placement and replication.
|
|
44
|
+
- Forgetting health checks → a broken release can receive traffic before failing.
|
|
45
|
+
- Treating Machines as long-lived pets → they can be recreated; persist state in volumes or external databases.
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
```bash
|
|
49
|
+
# Authenticate, scaffold config, and deploy
|
|
50
|
+
fly auth login
|
|
51
|
+
fly launch
|
|
52
|
+
fly deploy
|
|
53
|
+
|
|
54
|
+
# Store a secret used by the app at runtime
|
|
55
|
+
fly secrets set DATABASE_URL=postgres://...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Further reading
|
|
59
|
+
- https://fly.io/docs/reference/configuration/ — fly.toml reference
|
|
60
|
+
- https://fly.io/docs/volumes/ — persistent volumes
|
|
61
|
+
|
|
62
|
+
## Related skills
|
|
63
|
+
- ../railway — similar deploy-anything platform for apps and databases
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gcp
|
|
3
|
+
description: Google Cloud Platform and the gcloud CLI; consult for compute, storage, networking, IAM, and scripting GCP resources.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [cloud, gcp, gcloud, iam, compute, cli]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://cloud.google.com/docs
|
|
9
|
+
- https://cloud.google.com/sdk/docs/install
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# GCP (Google Cloud Platform)
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Google Cloud Platform offers compute (Compute Engine, Cloud Run, GKE), storage (Cloud Storage), databases, networking, and IAM across Google's global infrastructure. The Google Cloud CLI (`gcloud`, part of the Google Cloud SDK) is the unified tool for managing and scripting these resources. Read this when you need to provision, manage, or automate GCP infrastructure.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://cloud.google.com/docs
|
|
20
|
+
- CLI install: https://cloud.google.com/sdk/docs/install
|
|
21
|
+
- Note: the gcloud CLI / Google Cloud SDK is a Google-distributed product without a single canonical public source repo; install from the official download above. The GoogleCloudPlatform GitHub org (https://github.com/GoogleCloudPlatform) hosts samples and tooling such as the cloud-sdk-docker image.
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
Linux, copied verbatim from the official install page:
|
|
25
|
+
```bash
|
|
26
|
+
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz
|
|
27
|
+
tar -xf google-cloud-cli-linux-x86_64.tar.gz
|
|
28
|
+
./google-cloud-sdk/install.sh
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Core concepts
|
|
32
|
+
- Projects: the top-level container for resources, billing, and permissions; nearly everything belongs to a project.
|
|
33
|
+
- IAM: roles and policies binding members (users, service accounts) to permissions on resources.
|
|
34
|
+
- Service accounts: non-human identities used by workloads to call GCP APIs.
|
|
35
|
+
- Regions & zones: resources are deployed to zones within regions for locality and redundancy.
|
|
36
|
+
- Compute options: Compute Engine (VMs), Cloud Run (containers, serverless), and GKE (managed Kubernetes).
|
|
37
|
+
- gcloud config: the active project, account, and region/zone are stored in a CLI configuration.
|
|
38
|
+
|
|
39
|
+
## Best practices
|
|
40
|
+
- Set the active project/region in your gcloud config (or pass `--project`) so commands target the intended resources.
|
|
41
|
+
- Grant least-privilege IAM roles and use service accounts for workloads instead of personal credentials (per GCP IAM docs).
|
|
42
|
+
- Use Workload Identity / short-lived credentials for CI rather than downloading long-lived service-account key files.
|
|
43
|
+
- Separate environments into distinct projects to isolate billing, quotas, and blast radius.
|
|
44
|
+
|
|
45
|
+
## Common pitfalls
|
|
46
|
+
- Forgetting to set the active project → commands fail or hit the wrong project.
|
|
47
|
+
- Downloading and committing service-account JSON keys → credential leakage; prefer keyless/short-lived auth.
|
|
48
|
+
- Over-broad primitive roles (Owner/Editor) → use predefined or custom least-privilege roles instead.
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
```bash
|
|
52
|
+
# Authenticate and select the active project
|
|
53
|
+
gcloud auth login
|
|
54
|
+
gcloud config set project my-project-id
|
|
55
|
+
|
|
56
|
+
# List compute instances
|
|
57
|
+
gcloud compute instances list
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Further reading
|
|
61
|
+
- https://cloud.google.com/sdk/gcloud — gcloud command reference
|
|
62
|
+
- https://cloud.google.com/iam/docs — IAM documentation
|
|
63
|
+
|
|
64
|
+
## Related skills
|
|
65
|
+
- ../aws — comparable hyperscale cloud platform
|
|
66
|
+
- ../kubernetes — container orchestration often run on GCP (GKE)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: jenkins
|
|
3
|
+
description: Jenkins is an open-source automation server for building, testing, and deploying software via CI/CD pipelines; consult when configuring Jenkinsfile pipelines, declarative vs scripted syntax, agents/nodes, plugins, stages, credentials, or running a Jenkins controller in Docker.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [jenkins, ci-cd, automation, pipeline, devops, infrastructure, build]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://www.jenkins.io/doc/
|
|
9
|
+
- https://github.com/jenkinsci/jenkins
|
|
10
|
+
- https://www.jenkins.io/doc/book/installing/
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Jenkins
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Jenkins is a self-hosted, open-source automation server that orchestrates continuous integration and continuous delivery (CI/CD) pipelines. Pipelines are defined as code in a `Jenkinsfile` and executed across a controller and distributed agents, with thousands of plugins extending its capabilities. Read this when you need to author pipelines, configure build agents, manage credentials, or stand up a Jenkins instance.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://www.jenkins.io/doc/
|
|
21
|
+
- Repo: https://github.com/jenkinsci/jenkins
|
|
22
|
+
- Install: https://www.jenkins.io/doc/book/installing/
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
docker run --name jenkins --restart=on-failure --detach \
|
|
27
|
+
--publish 8080:8080 --publish 50000:50000 \
|
|
28
|
+
--volume jenkins-data:/var/jenkins_home \
|
|
29
|
+
jenkins/jenkins:lts-jdk21
|
|
30
|
+
```
|
|
31
|
+
Source: https://www.jenkins.io/doc/book/installing/docker/
|
|
32
|
+
|
|
33
|
+
## Core concepts
|
|
34
|
+
- **Controller** — central Jenkins server that stores config, schedules builds, and dispatches work to agents.
|
|
35
|
+
- **Agent (node)** — worker machine/container that executes build steps; isolates workloads from the controller.
|
|
36
|
+
- **Pipeline** — end-to-end automated process defined in a `Jenkinsfile` (declarative or scripted Groovy).
|
|
37
|
+
- **Stage / step** — `stage` groups related work; `step` is a single task (e.g. `sh 'make'`).
|
|
38
|
+
- **Job/project** — a configured unit of work (freestyle, pipeline, or multibranch).
|
|
39
|
+
- **Plugin** — installable extension adding integrations, tools, and pipeline steps.
|
|
40
|
+
- **Credentials** — securely stored secrets injected into builds via the Credentials plugin.
|
|
41
|
+
- **Executor** — a slot on a node that runs one build at a time.
|
|
42
|
+
|
|
43
|
+
## Best practices
|
|
44
|
+
- Define pipelines as code in a versioned `Jenkinsfile` rather than configuring jobs in the UI (https://www.jenkins.io/doc/book/pipeline/).
|
|
45
|
+
- Prefer the Declarative Pipeline syntax for readability and built-in validation (https://www.jenkins.io/doc/book/pipeline/syntax/).
|
|
46
|
+
- Run builds on agents, keeping the controller free of heavy workloads (https://www.jenkins.io/doc/book/using/using-agents/).
|
|
47
|
+
- Store secrets in the Credentials store and reference via `credentials()`/`withCredentials` (https://www.jenkins.io/doc/book/using/using-credentials/).
|
|
48
|
+
- Pin the LTS release line and update plugins regularly for stability and security (https://www.jenkins.io/doc/book/managing/plugins/).
|
|
49
|
+
|
|
50
|
+
## Common pitfalls
|
|
51
|
+
- Running heavy builds on the controller → configure dedicated agents and set controller executors to 0.
|
|
52
|
+
- Hardcoding secrets in the Jenkinsfile → use the Credentials plugin and masked bindings.
|
|
53
|
+
- Losing config on container restart → mount a persistent volume at `/var/jenkins_home`.
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
```groovy
|
|
57
|
+
pipeline {
|
|
58
|
+
agent any
|
|
59
|
+
stages {
|
|
60
|
+
stage('Build') { steps { sh 'make' } }
|
|
61
|
+
stage('Test') { steps { sh 'make test' } }
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Further reading
|
|
67
|
+
- https://www.jenkins.io/doc/book/pipeline/syntax/ — Declarative & Scripted pipeline syntax reference
|
|
68
|
+
- https://plugins.jenkins.io/ — official plugin index
|
|
69
|
+
- https://www.jenkins.io/doc/book/security/ — securing a Jenkins instance
|
|
70
|
+
|
|
71
|
+
## Related skills
|
|
72
|
+
- ../circleci — managed CI/CD alternative using YAML config
|
|
73
|
+
- ../ansible — provision and configure Jenkins agents
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kubernetes
|
|
3
|
+
description: Container orchestration for deploying, scaling, and managing containerized apps; consult for Pods, Deployments, Services, and kubectl.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [kubernetes, k8s, containers, orchestration, kubectl, cncf]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://kubernetes.io/docs/
|
|
9
|
+
- https://github.com/kubernetes/kubernetes
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Kubernetes
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Kubernetes (K8s) is an open-source system, hosted by the CNCF, for automating the deployment, scaling, and management of containerized applications across a cluster of hosts. It exposes a declarative API where you describe desired state and controllers continuously reconcile actual state toward it. Read this when you need to run, scale, or operate containerized workloads on a cluster.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://kubernetes.io/docs/
|
|
20
|
+
- Repo: https://github.com/kubernetes/kubernetes
|
|
21
|
+
- Install tools: https://kubernetes.io/docs/tasks/tools/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
Install `kubectl` on Linux, copied verbatim from the official install page:
|
|
25
|
+
```bash
|
|
26
|
+
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
|
|
27
|
+
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Core concepts
|
|
31
|
+
- Pod: the smallest deployable unit, wrapping one or more containers that share network and storage.
|
|
32
|
+
- Deployment: declares a desired replica count and manages rolling updates of stateless Pods via ReplicaSets.
|
|
33
|
+
- Service: a stable network endpoint and load balancer for a set of Pods selected by labels.
|
|
34
|
+
- ConfigMap & Secret: inject non-secret config and sensitive data into Pods separately from images.
|
|
35
|
+
- Namespace: a virtual cluster partition for isolating and scoping resources.
|
|
36
|
+
- Controllers & reconciliation: control loops continuously drive actual state toward declared desired state.
|
|
37
|
+
- Ingress: rules for routing external HTTP(S) traffic to Services.
|
|
38
|
+
|
|
39
|
+
## Best practices
|
|
40
|
+
- Manage resources declaratively with version-controlled manifests applied via `kubectl apply`, not imperative one-off edits.
|
|
41
|
+
- Set resource requests and limits on containers so the scheduler can place Pods and prevent noisy-neighbor exhaustion (per the docs).
|
|
42
|
+
- Define liveness and readiness probes so Kubernetes restarts unhealthy Pods and only routes traffic to ready ones.
|
|
43
|
+
- Store sensitive values in Secrets (and a real secrets manager) rather than baking them into images or ConfigMaps.
|
|
44
|
+
|
|
45
|
+
## Common pitfalls
|
|
46
|
+
- Omitting resource requests/limits → unschedulable Pods or nodes overcommitted and OOM-killed.
|
|
47
|
+
- Missing readiness probe → traffic is sent to Pods before they can serve, causing errors during rollouts.
|
|
48
|
+
- Treating Secrets as encrypted by default → base64 is encoding, not encryption; enable encryption at rest and restrict RBAC access.
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
```bash
|
|
52
|
+
# Apply a manifest and inspect the rollout
|
|
53
|
+
kubectl apply -f deployment.yaml
|
|
54
|
+
kubectl get pods -n my-namespace
|
|
55
|
+
kubectl rollout status deployment/my-app -n my-namespace
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Further reading
|
|
59
|
+
- https://kubernetes.io/docs/concepts/ — concepts overview
|
|
60
|
+
- https://kubernetes.io/docs/reference/kubectl/ — kubectl reference
|
|
61
|
+
|
|
62
|
+
## Related skills
|
|
63
|
+
- ../aws — managed Kubernetes via EKS
|
|
64
|
+
- ../gcp — managed Kubernetes via GKE
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: netlify
|
|
3
|
+
description: Managed hosting for web apps with Git deploys, functions, and edge; consult for deploys, redirects, env vars, and the Netlify CLI.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [hosting, serverless, frontend, deploy, cli, jamstack]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.netlify.com/
|
|
9
|
+
- https://github.com/netlify/cli
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Netlify
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Netlify is a managed platform for building and hosting web apps, providing Git-connected continuous deployment, serverless and edge functions, and per-deploy preview URLs. It targets static sites and frontend frameworks plus their attached backend functions. Read this when you need to deploy a web app, configure redirects/headers, or drive deploys with the CLI.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://docs.netlify.com/
|
|
20
|
+
- Repo (CLI): https://github.com/netlify/cli
|
|
21
|
+
- CLI install: https://docs.netlify.com/cli/get-started/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
npm install -g netlify-cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Core concepts
|
|
29
|
+
- Continuous deployment: connecting a Git repo triggers a build and deploy on each push.
|
|
30
|
+
- Deploy previews: pull requests/branches get isolated preview URLs before merging to production.
|
|
31
|
+
- Functions: serverless (and edge) functions deployed alongside the site for backend logic.
|
|
32
|
+
- `netlify.toml`: project configuration for build settings, redirects, headers, and function paths.
|
|
33
|
+
- Redirects & rewrites: rule-based routing (including SPA fallback and proxying) defined in config or a `_redirects` file.
|
|
34
|
+
- Environment variables: configured per site/context (production, deploy-preview, branch) and used during build and at runtime.
|
|
35
|
+
|
|
36
|
+
## Best practices
|
|
37
|
+
- Keep build, publish directory, redirects, and headers in `netlify.toml` so configuration is versioned with the code.
|
|
38
|
+
- For CI environments, install the CLI as a local dev dependency (`npm install netlify-cli --save-dev`) rather than relying on a global install (per the docs).
|
|
39
|
+
- Use an SPA catch-all redirect (`/* /index.html 200`) for client-side routed apps so deep links resolve.
|
|
40
|
+
- Scope environment variables to the correct deploy context to avoid leaking production secrets into previews.
|
|
41
|
+
|
|
42
|
+
## Common pitfalls
|
|
43
|
+
- Missing SPA redirect → client-side routes 404 on direct navigation.
|
|
44
|
+
- Setting a wrong publish directory → the build succeeds but the deployed site is empty or shows the wrong root.
|
|
45
|
+
- Expecting functions to hold state between invocations → they are stateless and short-lived; use external storage.
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
```bash
|
|
49
|
+
# Authenticate, link the repo, and deploy to production
|
|
50
|
+
netlify login
|
|
51
|
+
netlify link
|
|
52
|
+
netlify deploy --prod
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Further reading
|
|
56
|
+
- https://docs.netlify.com/routing/redirects/ — redirects and rewrites
|
|
57
|
+
- https://docs.netlify.com/functions/overview/ — functions overview
|
|
58
|
+
|
|
59
|
+
## Related skills
|
|
60
|
+
- ../vercel — comparable managed frontend hosting platform
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: railway
|
|
3
|
+
description: Deploy apps, databases, and services with Git-driven builds; consult for services, variables, environments, and the Railway CLI.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [hosting, paas, deploy, database, cli]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.railway.com/
|
|
9
|
+
- https://github.com/railwayapp/cli
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Railway
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Railway is a platform-as-a-service for deploying applications, databases, and supporting services from a Git repo or template, with minimal infrastructure configuration. It groups resources into projects and environments and provisions managed databases (Postgres, Redis, etc.) alongside your app. Read this when you need to stand up an app plus its backing services quickly.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://docs.railway.com/
|
|
20
|
+
- Repo (CLI): https://github.com/railwayapp/cli
|
|
21
|
+
- CLI install: https://docs.railway.com/guides/cli
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
npm i -g @railway/cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Core concepts
|
|
29
|
+
- Project: the top-level container that groups related services and environments.
|
|
30
|
+
- Service: a deployable unit (your app, a worker, or a managed database) within a project.
|
|
31
|
+
- Environments: isolated copies of a project's services (e.g. production, staging) with their own variables.
|
|
32
|
+
- Variables: environment variables per service/environment, including auto-injected connection strings from linked databases.
|
|
33
|
+
- Deployments: builds triggered from Git pushes or the CLI, producing a running instance with logs.
|
|
34
|
+
- Plugins/databases: managed datastores provisioned into a project and connected via reference variables.
|
|
35
|
+
|
|
36
|
+
## Best practices
|
|
37
|
+
- Use separate environments for staging and production rather than reusing one environment for both.
|
|
38
|
+
- Reference database connection details via Railway-provided variables instead of hardcoding credentials.
|
|
39
|
+
- Link the local project with the CLI (`railway link`) so commands and `railway run` use the right environment's variables.
|
|
40
|
+
- Keep service config and variables in Railway/version-controlled config rather than ad hoc dashboard edits where possible.
|
|
41
|
+
|
|
42
|
+
## Common pitfalls
|
|
43
|
+
- Hardcoding a database URL instead of using the injected reference variable → breaks when the database is recreated or rotated.
|
|
44
|
+
- Running commands against the wrong environment → unlink/relink or confirm the active environment before deploying.
|
|
45
|
+
- Forgetting the CLI requires Node.js 16+ for the npm install method (per the docs).
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
```bash
|
|
49
|
+
# Authenticate, link a project, and deploy
|
|
50
|
+
railway login
|
|
51
|
+
railway link
|
|
52
|
+
railway up
|
|
53
|
+
|
|
54
|
+
# Run a local command with the project's env vars injected
|
|
55
|
+
railway run npm start
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Further reading
|
|
59
|
+
- https://docs.railway.com/guides/variables — variables and references
|
|
60
|
+
- https://docs.railway.com/guides/environments — environments
|
|
61
|
+
|
|
62
|
+
## Related skills
|
|
63
|
+
- ../fly-io — similar deploy platform for apps and databases
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tailscale
|
|
3
|
+
description: Zero-config WireGuard mesh VPN; consult for private networking, ACLs, subnet routing, and secure device-to-device connectivity.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [vpn, wireguard, networking, mesh, zero-trust]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://tailscale.com/kb/
|
|
9
|
+
- https://github.com/tailscale/tailscale
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Tailscale
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Tailscale builds a private mesh network ("tailnet") between your devices using the WireGuard protocol, with automatic NAT traversal and key distribution handled by a coordination server. It removes the need to manually configure WireGuard keys, firewall holes, or a central VPN concentrator. Read this when you need secure, encrypted connectivity between machines, services, or users without exposing public ports.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://tailscale.com/kb/
|
|
20
|
+
- Repo: https://github.com/tailscale/tailscale
|
|
21
|
+
- Install / download: https://tailscale.com/download
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
curl -fsSL https://tailscale.com/install.sh | sh
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Core concepts
|
|
29
|
+
- Tailnet: the private network of all devices logged into your Tailscale account/organization; each device gets a stable 100.x.y.z address.
|
|
30
|
+
- WireGuard data plane: traffic is end-to-end encrypted directly between peers; the coordination server only brokers keys and metadata, not user traffic.
|
|
31
|
+
- NAT traversal: Tailscale establishes direct peer connections where possible and falls back to encrypted DERP relays when direct paths are blocked.
|
|
32
|
+
- ACLs: a centrally managed policy file defines which devices and identity groups may reach which others, defaulting to deny.
|
|
33
|
+
- Subnet routers: a node can advertise routes so the tailnet reaches non-Tailscale hosts (e.g. an on-prem subnet or cloud VPC).
|
|
34
|
+
- Exit nodes: a node can route all internet traffic for other devices, acting like a traditional full-tunnel VPN egress.
|
|
35
|
+
- MagicDNS: assigns memorable DNS names to devices so you connect by hostname instead of IP.
|
|
36
|
+
|
|
37
|
+
## Best practices
|
|
38
|
+
- Define least-privilege ACLs rather than relying on the default "allow all" tailnet policy (see Tailscale KB on access control).
|
|
39
|
+
- Use tagged ACL identities (`tag:server`) for servers and CI nodes instead of personal user logins, so access survives staff changes.
|
|
40
|
+
- Apply key expiry and device approval for sensitive tailnets to limit the blast radius of a leaked node.
|
|
41
|
+
- Prefer ephemeral nodes for short-lived/CI workloads so stale devices do not accumulate in the tailnet.
|
|
42
|
+
|
|
43
|
+
## Common pitfalls
|
|
44
|
+
- Forgetting to enable IP forwarding and `--advertise-routes` on a subnet router → the advertised subnet is unreachable; routes must also be approved in the admin console.
|
|
45
|
+
- Leaving devices with non-expiring keys → revoking access later is harder; set key expiry per the docs.
|
|
46
|
+
- Assuming all connections are direct → behind strict NATs traffic relays through DERP, adding latency; check `tailscale status` for the relay indicator.
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
```bash
|
|
50
|
+
# Bring a node onto the tailnet
|
|
51
|
+
sudo tailscale up
|
|
52
|
+
|
|
53
|
+
# Advertise a local subnet so the tailnet can reach it
|
|
54
|
+
sudo tailscale up --advertise-routes=10.0.0.0/24
|
|
55
|
+
|
|
56
|
+
# Inspect connectivity and peer relay status
|
|
57
|
+
tailscale status
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Further reading
|
|
61
|
+
- https://tailscale.com/kb/1019/subnets/ — subnet routers
|
|
62
|
+
- https://tailscale.com/kb/1018/acls/ — access control policy
|
|
63
|
+
|
|
64
|
+
## Related skills
|
|
65
|
+
- ../cloudflare — alternative for tunnels and zero-trust access to private services
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: terraform
|
|
3
|
+
description: Terraform is HashiCorp's declarative infrastructure-as-code tool using HCL to provision cloud and on-prem resources; consult when writing .tf configs, managing state, using providers/modules, planning and applying changes, or working with variables, outputs, and remote backends.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [terraform, iac, hashicorp, hcl, devops, infrastructure, provisioning]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://developer.hashicorp.com/terraform/docs
|
|
9
|
+
- https://github.com/hashicorp/terraform
|
|
10
|
+
- https://developer.hashicorp.com/terraform/install
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Terraform
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Terraform is HashiCorp's infrastructure-as-code tool that lets you define cloud and on-prem infrastructure declaratively in HashiCorp Configuration Language (HCL). It computes an execution plan to reach the desired state and applies it through provider plugins, tracking real-world resources in a state file. Read this when authoring `.tf` configuration, managing state, or running the plan/apply lifecycle.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://developer.hashicorp.com/terraform/docs
|
|
21
|
+
- Repo: https://github.com/hashicorp/terraform
|
|
22
|
+
- Install: https://developer.hashicorp.com/terraform/install
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
brew tap hashicorp/tap
|
|
27
|
+
brew install hashicorp/tap/terraform
|
|
28
|
+
```
|
|
29
|
+
Source: https://developer.hashicorp.com/terraform/install
|
|
30
|
+
|
|
31
|
+
## Core concepts
|
|
32
|
+
- **HCL** — declarative configuration language used in `.tf` files to describe resources.
|
|
33
|
+
- **Provider** — plugin (e.g. `aws`, `azurerm`) that maps HCL to a target API.
|
|
34
|
+
- **Resource** — a single infrastructure object (`resource "aws_instance" "web" {}`).
|
|
35
|
+
- **State** — recorded mapping of config to real resources (`terraform.tfstate`); source of truth for diffs.
|
|
36
|
+
- **Plan / apply** — `plan` previews changes; `apply` enacts them to converge to desired state.
|
|
37
|
+
- **Module** — reusable, parameterized grouping of resources for composition.
|
|
38
|
+
- **Variable / output** — inputs (`variable`) and exported values (`output`) for configurability.
|
|
39
|
+
- **Backend** — where state is stored (local, S3, Terraform Cloud) enabling remote/locked state.
|
|
40
|
+
|
|
41
|
+
## Best practices
|
|
42
|
+
- Store state remotely with locking (e.g. S3 + DynamoDB, Terraform Cloud) for team safety (https://developer.hashicorp.com/terraform/language/backend).
|
|
43
|
+
- Always review `terraform plan` output before `apply` (https://developer.hashicorp.com/terraform/cli/commands/plan).
|
|
44
|
+
- Pin provider and module versions with constraints to ensure reproducible runs (https://developer.hashicorp.com/terraform/language/providers/requirements).
|
|
45
|
+
- Structure reusable infrastructure as modules with explicit inputs/outputs (https://developer.hashicorp.com/terraform/language/modules).
|
|
46
|
+
- Run `terraform fmt` and `terraform validate` in CI before merging (https://developer.hashicorp.com/terraform/cli/commands/fmt).
|
|
47
|
+
|
|
48
|
+
## Common pitfalls
|
|
49
|
+
- Committing `terraform.tfstate` (often with secrets) to git → use a remote backend and gitignore local state.
|
|
50
|
+
- Manual ("click-ops") changes drift from config → run `terraform plan` to detect drift and reconcile.
|
|
51
|
+
- Unpinned versions cause surprise upgrades → set `required_providers` and `required_version` constraints.
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
```hcl
|
|
55
|
+
terraform {
|
|
56
|
+
required_providers {
|
|
57
|
+
aws = { source = "hashicorp/aws", version = "~> 5.0" }
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
provider "aws" { region = "us-east-1" }
|
|
62
|
+
|
|
63
|
+
resource "aws_s3_bucket" "data" {
|
|
64
|
+
bucket = "my-app-data-bucket"
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Further reading
|
|
69
|
+
- https://developer.hashicorp.com/terraform/language — HCL language reference
|
|
70
|
+
- https://registry.terraform.io/ — providers and modules registry
|
|
71
|
+
- https://developer.hashicorp.com/terraform/cli/commands — full CLI command reference
|
|
72
|
+
|
|
73
|
+
## Related skills
|
|
74
|
+
- ../ansible — configure resources after Terraform provisions them
|
|
75
|
+
- ../azure — target cloud provisioned with the azurerm provider
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vagrant
|
|
3
|
+
description: Vagrant is HashiCorp's tool for building and managing reproducible virtual machine development environments via a Vagrantfile; consult when configuring boxes, providers (VirtualBox/libvirt/Hyper-V), provisioners, synced folders, networking, or running vagrant up/ssh/destroy.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: infra
|
|
6
|
+
tags: [vagrant, hashicorp, virtualization, devops, infrastructure, vm, dev-environment]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://developer.hashicorp.com/vagrant/docs
|
|
9
|
+
- https://github.com/hashicorp/vagrant
|
|
10
|
+
- https://developer.hashicorp.com/vagrant/install
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Vagrant
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Vagrant is HashiCorp's command-line tool for building and managing portable, reproducible virtual machine environments. A single `Vagrantfile` describes the box, provider, networking, and provisioning so any team member can run `vagrant up` to get an identical dev environment. Read this when configuring local VMs, defining provisioners, or scripting the VM lifecycle.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://developer.hashicorp.com/vagrant/docs
|
|
21
|
+
- Repo: https://github.com/hashicorp/vagrant
|
|
22
|
+
- Install: https://developer.hashicorp.com/vagrant/install
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
# macOS via Homebrew
|
|
27
|
+
brew tap hashicorp/tap
|
|
28
|
+
brew install hashicorp/tap/hashicorp-vagrant
|
|
29
|
+
```
|
|
30
|
+
Source: https://developer.hashicorp.com/vagrant/install
|
|
31
|
+
|
|
32
|
+
## Core concepts
|
|
33
|
+
- **Vagrantfile** — Ruby-based config (one per project) describing how to build and provision the VM.
|
|
34
|
+
- **Box** — packaged base image (e.g. `hashicorp/bionic64`) used as the VM starting point.
|
|
35
|
+
- **Provider** — virtualization backend that runs the VM (VirtualBox, libvirt, Hyper-V, VMware).
|
|
36
|
+
- **Provisioner** — installs/configures software on `up` (shell, Ansible, Chef, Puppet, Docker).
|
|
37
|
+
- **Synced folder** — host directory mounted into the guest (defaults to project dir at `/vagrant`).
|
|
38
|
+
- **Box lifecycle** — `vagrant up` creates/boots, `ssh` connects, `halt` stops, `destroy` removes.
|
|
39
|
+
- **Networking** — forwarded ports, private (host-only), or public (bridged) networks.
|
|
40
|
+
- **Multi-machine** — define several VMs in one Vagrantfile via `config.vm.define`.
|
|
41
|
+
|
|
42
|
+
## Best practices
|
|
43
|
+
- Commit the `Vagrantfile` to version control so environments are reproducible (https://developer.hashicorp.com/vagrant/docs/vagrantfile).
|
|
44
|
+
- Use provisioners to bake setup into the box rather than manual SSH steps (https://developer.hashicorp.com/vagrant/docs/provisioning).
|
|
45
|
+
- Pin box versions to avoid unexpected base-image changes (https://developer.hashicorp.com/vagrant/docs/boxes/versioning).
|
|
46
|
+
- Source boxes from the official Vagrant Cloud catalog (https://portal.cloud.hashicorp.com/vagrant/discover).
|
|
47
|
+
- Keep provider-specific tweaks in a `config.vm.provider` block for portability (https://developer.hashicorp.com/vagrant/docs/providers).
|
|
48
|
+
|
|
49
|
+
## Common pitfalls
|
|
50
|
+
- `vagrant` not on PATH after install on Windows → log out and back in so PATH refreshes.
|
|
51
|
+
- Slow or failing synced folders on VirtualBox → enable NFS or rsync for large codebases.
|
|
52
|
+
- Stale VM state after Vagrantfile edits → run `vagrant reload --provision` to re-apply.
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
```ruby
|
|
56
|
+
Vagrant.configure("2") do |config|
|
|
57
|
+
config.vm.box = "hashicorp/bionic64"
|
|
58
|
+
config.vm.network "forwarded_port", guest: 80, host: 8080
|
|
59
|
+
config.vm.provision "shell", inline: "apt-get update && apt-get install -y nginx"
|
|
60
|
+
end
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Further reading
|
|
64
|
+
- https://developer.hashicorp.com/vagrant/docs/vagrantfile — Vagrantfile reference
|
|
65
|
+
- https://developer.hashicorp.com/vagrant/docs/provisioning — provisioners guide
|
|
66
|
+
- https://portal.cloud.hashicorp.com/vagrant/discover — public box catalog
|
|
67
|
+
|
|
68
|
+
## Related skills
|
|
69
|
+
- ../ansible — provision Vagrant VMs with playbooks
|
|
70
|
+
- ../terraform — provision real infrastructure beyond local VMs
|