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,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: firebase
|
|
3
|
+
description: Firebase is Google's Backend-as-a-Service platform (Auth, Firestore, Realtime Database, Cloud Functions, Hosting, Cloud Storage, FCM). Consult when building serverless app backends, adding Google/email auth, syncing NoSQL data in real time, deploying static/SSR hosting, writing Cloud Functions, or using the Firebase CLI/emulator suite.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: baas
|
|
6
|
+
tags: [firebase, baas, google, firestore, auth, serverless, cloud-functions]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://firebase.google.com/docs
|
|
9
|
+
- https://github.com/firebase/firebase-tools
|
|
10
|
+
- https://www.npmjs.com/package/firebase-tools
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Firebase
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Firebase is Google's Backend-as-a-Service platform that bundles authentication, NoSQL databases (Cloud Firestore and the older Realtime Database), serverless Cloud Functions, static/SSR Hosting, Cloud Storage, and messaging behind client SDKs and a single CLI. It removes the need to run your own backend for most app features. Read this when adding auth, real-time data sync, file storage, push notifications, or deploying functions/hosting from the Firebase CLI.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://firebase.google.com/docs
|
|
21
|
+
- Repo: https://github.com/firebase/firebase-tools
|
|
22
|
+
- Install: https://www.npmjs.com/package/firebase-tools
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
npm install -g firebase-tools
|
|
27
|
+
firebase login
|
|
28
|
+
firebase init
|
|
29
|
+
```
|
|
30
|
+
Source: https://firebase.google.com/docs/cli
|
|
31
|
+
|
|
32
|
+
## Core concepts
|
|
33
|
+
- **Project** — top-level container; one project holds all Firebase products and maps to a Google Cloud project.
|
|
34
|
+
- **Cloud Firestore** — scalable document/collection NoSQL DB with real-time listeners and offline cache; preferred over Realtime Database for new apps.
|
|
35
|
+
- **Authentication** — managed identity (email/password, Google, Apple, phone, anonymous, OIDC/SAML) issuing ID tokens verified by Security Rules.
|
|
36
|
+
- **Security Rules** — declarative server-side access control evaluated per request for Firestore, Storage, and Realtime Database.
|
|
37
|
+
- **Cloud Functions** — serverless Node/Python handlers triggered by HTTPS, Firestore/Auth events, schedules, or Pub/Sub.
|
|
38
|
+
- **Hosting** — global CDN for static assets and SSR frameworks (Next.js/Angular), wired to functions via rewrites.
|
|
39
|
+
- **Emulator Suite** — local emulators for Auth, Firestore, Functions, Hosting for offline development and CI.
|
|
40
|
+
|
|
41
|
+
## Best practices
|
|
42
|
+
- Write and test Security Rules first; never rely on client-side checks alone (https://firebase.google.com/docs/rules).
|
|
43
|
+
- Develop against the Emulator Suite before touching production data (https://firebase.google.com/docs/emulator-suite).
|
|
44
|
+
- Model Firestore data for your queries — denormalize and avoid unbounded collection scans (https://firebase.google.com/docs/firestore/data-model).
|
|
45
|
+
- Keep API keys/config public but lock data with Rules and App Check (https://firebase.google.com/docs/app-check).
|
|
46
|
+
|
|
47
|
+
## Common pitfalls
|
|
48
|
+
- Default-open or test-mode Security Rules left in production → leaked/writable data; deploy least-privilege rules before launch.
|
|
49
|
+
- Missing composite indexes for compound queries → query fails at runtime; create the suggested index from the error link.
|
|
50
|
+
- Per-document write contention on hot Firestore documents → throttling; shard counters or distribute writes.
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
```javascript
|
|
54
|
+
import { initializeApp } from "firebase/app";
|
|
55
|
+
import { getFirestore, collection, addDoc } from "firebase/firestore";
|
|
56
|
+
|
|
57
|
+
const app = initializeApp({ projectId: "demo", apiKey: "..." });
|
|
58
|
+
const db = getFirestore(app);
|
|
59
|
+
|
|
60
|
+
await addDoc(collection(db, "messages"), {
|
|
61
|
+
text: "hello",
|
|
62
|
+
createdAt: Date.now(),
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Further reading
|
|
67
|
+
- https://firebase.google.com/docs/firestore — Cloud Firestore guide
|
|
68
|
+
- https://firebase.google.com/docs/functions — Cloud Functions reference
|
|
69
|
+
- https://firebase.google.com/docs/cli — Firebase CLI reference
|
|
70
|
+
|
|
71
|
+
## Related skills
|
|
72
|
+
- ../appwrite — open-source self-hosted BaaS alternative
|
|
73
|
+
- ../amplify — AWS fullstack BaaS with similar auth/data/functions
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: heroku
|
|
3
|
+
description: Heroku is a Git-push Platform-as-a-Service for deploying and running apps (Node, Python, Ruby, Java, Go, PHP) with managed add-ons like Postgres and Redis. Consult when deploying an app via git push, configuring buildpacks/Procfile/dynos, setting config vars, scaling processes, provisioning Postgres/Redis add-ons, or using the Heroku CLI.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: baas
|
|
6
|
+
tags: [heroku, paas, deployment, dynos, buildpacks, postgres, git]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://devcenter.heroku.com/
|
|
9
|
+
- https://github.com/heroku/cli
|
|
10
|
+
- https://devcenter.heroku.com/articles/heroku-cli
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Heroku
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Heroku is a managed Platform-as-a-Service that runs your application code on isolated containers called dynos, deployed by pushing to a Git remote. It detects your language via buildpacks, runs processes declared in a `Procfile`, and offers a marketplace of add-ons (Heroku Postgres, Redis, etc.) so you avoid managing servers. Read this when deploying via `git push heroku`, defining dynos/process types, managing config vars and add-ons, or scaling with the Heroku CLI.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://devcenter.heroku.com/
|
|
21
|
+
- Repo: https://github.com/heroku/cli
|
|
22
|
+
- Install: https://devcenter.heroku.com/articles/heroku-cli
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
heroku login
|
|
27
|
+
heroku create
|
|
28
|
+
git push heroku main
|
|
29
|
+
```
|
|
30
|
+
Source: https://devcenter.heroku.com/articles/getting-started-with-nodejs (install CLI via https://devcenter.heroku.com/articles/heroku-cli)
|
|
31
|
+
|
|
32
|
+
## Core concepts
|
|
33
|
+
- **Dyno** — lightweight isolated container running one process type; scaled horizontally/vertically by dyno type.
|
|
34
|
+
- **Buildpack** — language-specific scripts that detect and compile your app into a runnable slug.
|
|
35
|
+
- **Procfile** — root-level file declaring process types (`web:`, `worker:`) and their start commands.
|
|
36
|
+
- **Config vars** — environment variables set with `heroku config:set`, the standard place for secrets/settings.
|
|
37
|
+
- **Add-ons** — managed services (Heroku Postgres, Heroku Redis, etc.) attached and exposed via config vars.
|
|
38
|
+
- **Release** — immutable deploy unit (slug + config); rolled back with `heroku rollback`.
|
|
39
|
+
- **Stack** — the base OS/runtime image (e.g. `heroku-24`) your dynos run on.
|
|
40
|
+
|
|
41
|
+
## Best practices
|
|
42
|
+
- Store all configuration and secrets in config vars, never in the repo (https://devcenter.heroku.com/articles/config-vars).
|
|
43
|
+
- Build stateless processes following the Twelve-Factor App methodology (https://12factor.net).
|
|
44
|
+
- Run DB migrations in a `release` Procfile phase, not at boot (https://devcenter.heroku.com/articles/release-phase).
|
|
45
|
+
- Provision Heroku Postgres as an add-on instead of an ephemeral local DB (https://devcenter.heroku.com/articles/heroku-postgresql).
|
|
46
|
+
|
|
47
|
+
## Common pitfalls
|
|
48
|
+
- Writing to the dyno's local filesystem → data lost on restart/deploy (ephemeral); use Postgres/S3 add-ons instead.
|
|
49
|
+
- Web process not binding to `$PORT` → boot timeout / R10 error; bind your server to `process.env.PORT`.
|
|
50
|
+
- Free/Eco dynos sleeping or missing a `web` process type → app returns errors; ensure a valid `Procfile`.
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
```procfile
|
|
54
|
+
web: node index.js
|
|
55
|
+
worker: node worker.js
|
|
56
|
+
release: node ./scripts/migrate.js
|
|
57
|
+
```
|
|
58
|
+
```bash
|
|
59
|
+
heroku config:set NODE_ENV=production
|
|
60
|
+
heroku addons:create heroku-postgresql:essential-0
|
|
61
|
+
heroku ps:scale web=2
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Further reading
|
|
65
|
+
- https://devcenter.heroku.com/categories/deployment — deployment methods and Git workflow
|
|
66
|
+
- https://devcenter.heroku.com/articles/dynos — dyno types, scaling, and lifecycle
|
|
67
|
+
- https://devcenter.heroku.com/articles/procfile — Procfile and process types reference
|
|
68
|
+
|
|
69
|
+
## Related skills
|
|
70
|
+
- ../firebase — BaaS with managed hosting and functions
|
|
71
|
+
- ../amplify — AWS fullstack hosting + backend platform
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: actix
|
|
3
|
+
description: Powerful, fast Rust web framework (actix-web) on Tokio with HTTP/1 and HTTP/2, routing, and middleware; consult when building Rust HTTP services.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: backend
|
|
6
|
+
tags: [rust, actix-web, tokio, http, web-framework]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://actix.rs/docs/
|
|
9
|
+
- https://github.com/actix/actix-web
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Actix Web
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
actix-web is a powerful, pragmatic, and extremely fast web framework for Rust. It supports HTTP/1.x and HTTP/2, streaming and pipelining, powerful request routing with optional macros, and comprehensive middleware. Built on Tokio and running on stable Rust, it ranks among the fastest web frameworks in TechEmpower benchmarks. Read this when building Rust HTTP APIs and services.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://actix.rs/docs/
|
|
20
|
+
- Repo: https://github.com/actix/actix-web
|
|
21
|
+
- Install / download: https://actix.rs/docs/getting-started/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
cargo new hello-world
|
|
26
|
+
cd hello-world
|
|
27
|
+
```
|
|
28
|
+
```toml
|
|
29
|
+
# Cargo.toml — add the dependency (requires a recent stable Rust)
|
|
30
|
+
[dependencies]
|
|
31
|
+
actix-web = "4"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Core concepts
|
|
35
|
+
- App & HttpServer: an `App` registers routes and shared state; `HttpServer` binds an address and runs the app, often across multiple worker threads.
|
|
36
|
+
- Handlers (extractors): async functions whose typed arguments (path, query, JSON, state) are extracted from the request automatically.
|
|
37
|
+
- Routing: route macros (`#[get("/path")]`) or builder methods (`.route(...)`, `.service(...)`) map paths and methods to handlers.
|
|
38
|
+
- Application state: shared data wrapped in `web::Data<T>` injected into handlers; it must be thread-safe.
|
|
39
|
+
- Middleware: wraps handlers for cross-cutting concerns (logging, auth, compression) via the `wrap` API.
|
|
40
|
+
- Responders: handler return types implementing `Responder` are converted into HTTP responses.
|
|
41
|
+
|
|
42
|
+
## Best practices
|
|
43
|
+
- Pin `actix-web = "4"` and use a recent stable Rust toolchain as the docs require (https://actix.rs/docs/getting-started/).
|
|
44
|
+
- Share state with `web::Data` instead of globals so it is cleanly injected and thread-safe.
|
|
45
|
+
- Use typed extractors (Json, Path, Query) so deserialization and validation happen at the boundary.
|
|
46
|
+
- Add the Logger middleware and structured error handling rather than panicking in handlers.
|
|
47
|
+
|
|
48
|
+
## Common pitfalls
|
|
49
|
+
- Doing blocking work directly in an async handler → blocks the worker; offload with `web::block` or an async client.
|
|
50
|
+
- Expecting non-Send state to be shared across workers → `App` state must be thread-safe; wrap shared data in `web::Data`.
|
|
51
|
+
- Confusing the actor framework `actix` with the web framework `actix-web` → for web servers depend on `actix-web`.
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
```rust
|
|
55
|
+
use actix_web::{get, App, HttpServer, Responder};
|
|
56
|
+
|
|
57
|
+
#[get("/")]
|
|
58
|
+
async fn hello() -> impl Responder {
|
|
59
|
+
"Hello, World!"
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#[actix_web::main]
|
|
63
|
+
async fn main() -> std::io::Result<()> {
|
|
64
|
+
HttpServer::new(|| App::new().service(hello))
|
|
65
|
+
.bind(("127.0.0.1", 8080))?
|
|
66
|
+
.run()
|
|
67
|
+
.await
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Further reading
|
|
72
|
+
- https://actix.rs/docs/getting-started/ — Getting started
|
|
73
|
+
- https://actix.rs/docs/extractors/ — Type-safe extractors
|
|
74
|
+
|
|
75
|
+
## Related skills
|
|
76
|
+
- ../gin — comparable high-performance framework in Go
|
|
77
|
+
- ../aspnet-core — cross-platform compiled-language web framework (.NET)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: adonisjs
|
|
3
|
+
description: TypeScript-first full-stack Node MVC framework with testing, ORM, and official packages; consult when building AdonisJS web apps or API servers.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: backend
|
|
6
|
+
tags: [nodejs, typescript, adonisjs, mvc, web-framework]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.adonisjs.com/
|
|
9
|
+
- https://github.com/adonisjs/core
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# AdonisJS
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
AdonisJS is a TypeScript-first web framework for building web apps and API servers on Node.js. It ships a full-stack MVC structure with testing support, modern tooling, and an ecosystem of official packages, emphasizing ergonomics and speed. Read this when building or maintaining an AdonisJS backend.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://docs.adonisjs.com/
|
|
20
|
+
- Repo: https://github.com/adonisjs/core
|
|
21
|
+
- Install / download: https://docs.adonisjs.com/guides/getting-started/installation
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
# Requires Node.js >= 24.x and npm >= 11.x
|
|
26
|
+
npm init adonisjs@latest [project-name]
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Core concepts
|
|
30
|
+
- IoC container & providers: services are registered via providers and resolved from a dependency-injection container.
|
|
31
|
+
- Routing & controllers: routes in `start/routes.ts` map URLs to controller methods; route groups apply shared prefixes and middleware.
|
|
32
|
+
- Middleware: composable request handlers run before route handlers for cross-cutting concerns (auth, body parsing).
|
|
33
|
+
- Lucid ORM: the official Active Record-style ORM with models, migrations, and query building.
|
|
34
|
+
- HttpContext: the per-request object (`ctx`) exposing request, response, and session passed to controllers.
|
|
35
|
+
- Config & environment: typed configuration and validated environment variables via the framework's config system.
|
|
36
|
+
|
|
37
|
+
## Best practices
|
|
38
|
+
- Use the official starter and ecosystem packages (auth, Lucid, validation) rather than ad-hoc libraries, since they integrate with the IoC container (https://docs.adonisjs.com/guides/getting-started/installation).
|
|
39
|
+
- Keep controllers thin and move logic into services resolved from the container.
|
|
40
|
+
- Use Lucid migrations for schema changes so databases stay reproducible.
|
|
41
|
+
- Validate request input with the built-in validator before using it.
|
|
42
|
+
|
|
43
|
+
## Common pitfalls
|
|
44
|
+
- Running on an unsupported Node version → the installer requires Node.js >= 24.x and npm >= 11.x; upgrade before installing.
|
|
45
|
+
- Bypassing the IoC container by instantiating services manually → register and resolve them so dependencies and lifecycles are managed.
|
|
46
|
+
- Skipping input validation → validate with the framework's validator instead of trusting raw request data.
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
```ts
|
|
50
|
+
// start/routes.ts
|
|
51
|
+
import router from '@adonisjs/core/services/router'
|
|
52
|
+
|
|
53
|
+
router.get('/users/:id', async ({ params }) => {
|
|
54
|
+
return { id: params.id }
|
|
55
|
+
})
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Further reading
|
|
59
|
+
- https://docs.adonisjs.com/guides/getting-started/installation — Installation
|
|
60
|
+
- https://docs.adonisjs.com/guides/basics/routing — Routing
|
|
61
|
+
- https://lucid.adonisjs.com/ — Lucid ORM
|
|
62
|
+
|
|
63
|
+
## Related skills
|
|
64
|
+
- ../laravel — the PHP framework AdonisJS's conventions are often compared to
|
|
65
|
+
- ../fiber — Express-lineage framework in Go
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aspnet-core
|
|
3
|
+
description: Cross-platform, open-source .NET web framework for cloud apps, web APIs, and Blazor; consult when building or maintaining ASP.NET Core backends.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: backend
|
|
6
|
+
tags: [dotnet, csharp, aspnet-core, web-api, web-framework]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://learn.microsoft.com/aspnet/core/
|
|
9
|
+
- https://github.com/dotnet/aspnetcore
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# ASP.NET Core
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
ASP.NET Core is a cross-platform, open-source .NET framework for building modern cloud-based web applications on Windows, macOS, or Linux. It supports web apps, REST/Minimal APIs, gRPC, real-time apps with SignalR, and the Blazor frontend model. Read this when building .NET HTTP services or web apps. Requires the .NET SDK.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://learn.microsoft.com/aspnet/core/
|
|
20
|
+
- Repo: https://github.com/dotnet/aspnetcore
|
|
21
|
+
- Install / download: https://learn.microsoft.com/aspnet/core/getting-started (SDK: https://dotnet.microsoft.com/download/dotnet)
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
# Install the latest .NET SDK first (https://dotnet.microsoft.com/download/dotnet)
|
|
26
|
+
|
|
27
|
+
# Create a Blazor Web App
|
|
28
|
+
dotnet new blazor -o BlazorSample
|
|
29
|
+
cd BlazorSample
|
|
30
|
+
|
|
31
|
+
# Run with hot reload
|
|
32
|
+
dotnet watch
|
|
33
|
+
```
|
|
34
|
+
```bash
|
|
35
|
+
# Or create a Razor Pages web app
|
|
36
|
+
dotnet new webapp -o RazorPagesSample
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Core concepts
|
|
40
|
+
- Host & startup: `WebApplication.CreateBuilder` configures services and the request pipeline; `app.Run()` starts the server.
|
|
41
|
+
- Middleware pipeline: ordered components process each request/response (routing, auth, static files); order matters.
|
|
42
|
+
- Dependency injection: a built-in DI container registers services with lifetimes (singleton, scoped, transient) consumed via constructor injection.
|
|
43
|
+
- Routing & endpoints: Minimal APIs, controllers, and Razor Pages map URLs to handlers via endpoint routing.
|
|
44
|
+
- Configuration & options: layered configuration (appsettings.json, env vars, user secrets) bound to strongly typed options.
|
|
45
|
+
- Blazor & Razor: component-based UI (Blazor) and the Razor syntax mixing HTML with C# for server-rendered pages.
|
|
46
|
+
|
|
47
|
+
## Best practices
|
|
48
|
+
- Use `dotnet watch` during development for hot reload of markup and code (https://learn.microsoft.com/aspnet/core/getting-started).
|
|
49
|
+
- Register dependencies in the DI container and inject them rather than constructing them manually.
|
|
50
|
+
- Order middleware deliberately; place routing, authentication, and authorization in the documented sequence.
|
|
51
|
+
- Use the configuration/options system and user secrets for settings instead of hardcoding values.
|
|
52
|
+
|
|
53
|
+
## Common pitfalls
|
|
54
|
+
- Misordering middleware (e.g. authorization before routing) → requests bypass or mishandle auth; follow the documented pipeline order.
|
|
55
|
+
- Choosing the wrong project template → `dotnet new blazor` scaffolds Blazor, `dotnet new webapp` scaffolds Razor Pages; pick what matches your app.
|
|
56
|
+
- Storing secrets in appsettings.json committed to source control → use user secrets in development and a secret store in production.
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
```csharp
|
|
60
|
+
var builder = WebApplication.CreateBuilder(args);
|
|
61
|
+
var app = builder.Build();
|
|
62
|
+
|
|
63
|
+
app.MapGet("/ping", () => "pong");
|
|
64
|
+
|
|
65
|
+
app.Run();
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Further reading
|
|
69
|
+
- https://learn.microsoft.com/aspnet/core/getting-started — Get started
|
|
70
|
+
- https://learn.microsoft.com/aspnet/core/tutorials/min-web-api — Minimal API tutorial
|
|
71
|
+
- https://learn.microsoft.com/aspnet/core/fundamentals/ — Fundamentals (DI, middleware, configuration)
|
|
72
|
+
|
|
73
|
+
## Related skills
|
|
74
|
+
- ../actix — high-performance compiled-language web framework (Rust)
|
|
75
|
+
- ../laravel — full-stack web framework alternative (PHP)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: codeigniter
|
|
3
|
+
description: CodeIgniter 4 — a small, fast PHP MVC framework for building web apps and APIs with minimal configuration. Consult when scaffolding a CodeIgniter 4 app starter, defining routes and controllers, using the Query Builder or models, building RESTful resources, or running the spark CLI and server.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: backend
|
|
6
|
+
tags: [codeigniter, php, mvc, composer, rest, query-builder, backend]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://codeigniter.com/user_guide/
|
|
9
|
+
- https://github.com/codeigniter4/CodeIgniter4
|
|
10
|
+
- https://codeigniter.com/user_guide/installation/installing_composer.html
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# CodeIgniter
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
CodeIgniter 4 is a lightweight PHP MVC framework prized for a small footprint, fast performance, and near-zero configuration. It provides routing, controllers, models with a fluent Query Builder, validation, and the `spark` CLI without imposing heavy conventions. Read this when building a small-to-mid PHP app or API where you want explicit control and minimal boilerplate.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://codeigniter.com/user_guide/
|
|
21
|
+
- Repo: https://github.com/codeigniter4/CodeIgniter4
|
|
22
|
+
- Install: https://codeigniter.com/user_guide/installation/installing_composer.html
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
composer create-project codeigniter4/appstarter project-root
|
|
27
|
+
cd project-root && php spark serve
|
|
28
|
+
```
|
|
29
|
+
Source: https://codeigniter.com/user_guide/installation/installing_composer.html (creates `project-root` with the latest framework as a dependency; `spark serve` starts the dev server on :8080).
|
|
30
|
+
|
|
31
|
+
## Core concepts
|
|
32
|
+
- **MVC structure** — `app/Controllers`, `app/Models`, `app/Views` hold the application code.
|
|
33
|
+
- **Routing** — `app/Config/Routes.php` maps URLs to controller methods; auto-routing is opt-in.
|
|
34
|
+
- **Controllers** — extend `BaseController`; return strings, views, or responses.
|
|
35
|
+
- **Models & Entities** — extend `CodeIgniter\Model` for CRUD, validation, and result hydration.
|
|
36
|
+
- **Query Builder** — chainable, DB-agnostic query API via `$this->db->table(...)`.
|
|
37
|
+
- **spark CLI** — `php spark` runs migrations, generators, the dev server, and custom commands.
|
|
38
|
+
- **Filters** — request/response middleware (auth, CSRF, CORS) configured in `Config\Filters`.
|
|
39
|
+
- **Environment config** — `.env` plus `app/Config/*` classes; set `CI_ENVIRONMENT`.
|
|
40
|
+
|
|
41
|
+
## Best practices
|
|
42
|
+
- Disable auto-routing and define explicit routes for security (https://codeigniter.com/user_guide/incoming/routing.html).
|
|
43
|
+
- Use `ResourceController`/`ResourcePresenter` for RESTful endpoints (https://codeigniter.com/user_guide/incoming/restful.html).
|
|
44
|
+
- Configure the database and base URL via `.env`, keep it out of version control (https://codeigniter.com/user_guide/general/configuration.html).
|
|
45
|
+
- Use the Model layer and validation rather than raw queries for user input (https://codeigniter.com/user_guide/models/model.html).
|
|
46
|
+
|
|
47
|
+
## Common pitfalls
|
|
48
|
+
- Leaving auto-routing (legacy) enabled exposes unintended methods → set routing to defined routes only.
|
|
49
|
+
- Wrong `baseURL` in `app/Config/App.php`/`.env` breaks asset and redirect URLs → set it correctly per environment.
|
|
50
|
+
- Forgetting `CI_ENVIRONMENT=production` leaves verbose error output on → set it for prod.
|
|
51
|
+
|
|
52
|
+
## Examples
|
|
53
|
+
```php
|
|
54
|
+
namespace App\Controllers;
|
|
55
|
+
|
|
56
|
+
use CodeIgniter\RESTful\ResourceController;
|
|
57
|
+
|
|
58
|
+
class Users extends ResourceController
|
|
59
|
+
{
|
|
60
|
+
protected $modelName = \App\Models\UserModel::class;
|
|
61
|
+
protected $format = 'json';
|
|
62
|
+
|
|
63
|
+
public function show($id = null)
|
|
64
|
+
{
|
|
65
|
+
return $this->respond($this->model->find($id));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Further reading
|
|
71
|
+
- https://codeigniter.com/user_guide/intro/index.html — framework overview and welcome
|
|
72
|
+
- https://codeigniter.com/user_guide/database/query_builder.html — Query Builder reference
|
|
73
|
+
|
|
74
|
+
## Related skills
|
|
75
|
+
- ../symfony — heavier, component-based PHP framework
|
|
76
|
+
- ../nginx — front CodeIgniter with Nginx + PHP-FPM
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: django
|
|
3
|
+
description: Full-featured, batteries-included Python web framework with ORM, admin, and auth; consult for rapid, secure server-rendered apps and APIs.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: backend
|
|
6
|
+
tags: [django, python, orm, mvc, web-framework, backend]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.djangoproject.com/en/stable/
|
|
9
|
+
- https://github.com/django/django
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Django
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design — "the web framework for perfectionists with deadlines." It ships batteries-included: an ORM, automatic admin site, authentication, forms, templating, and security defaults. Read this when building data-driven Python web apps or APIs where you want strong conventions and built-in tooling.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://docs.djangoproject.com/en/stable/
|
|
20
|
+
- Repo: https://github.com/django/django
|
|
21
|
+
- Install: https://docs.djangoproject.com/en/stable/topics/install/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
python -m pip install Django
|
|
26
|
+
```
|
|
27
|
+
On Windows the docs show `py -m pip install Django`. (Source: https://docs.djangoproject.com/en/stable/topics/install/)
|
|
28
|
+
|
|
29
|
+
## Core concepts
|
|
30
|
+
- **Projects vs apps** — a project is the deployable site; apps are reusable, focused components registered in `INSTALLED_APPS`.
|
|
31
|
+
- **MTV pattern** — Django's take on MVC: Models (data), Templates (presentation), Views (request handling).
|
|
32
|
+
- **ORM & migrations** — models map to DB tables; `makemigrations` / `migrate` evolve the schema.
|
|
33
|
+
- **URLconf & views** — `urls.py` routes paths to view functions/classes that return `HttpResponse`.
|
|
34
|
+
- **Admin site** — an auto-generated CRUD interface for registered models.
|
|
35
|
+
- **Settings & middleware** — central `settings.py` config plus a middleware stack for cross-cutting request/response processing.
|
|
36
|
+
|
|
37
|
+
## Best practices
|
|
38
|
+
- Run `makemigrations` and `migrate` to manage schema changes; never edit the database schema out of band (https://docs.djangoproject.com/en/stable/topics/migrations/).
|
|
39
|
+
- Keep secrets and environment-specific values out of source; review the deployment checklist before going live (https://docs.djangoproject.com/en/stable/howto/deployment/checklist/).
|
|
40
|
+
- Use the ORM's `select_related` / `prefetch_related` to avoid N+1 queries (https://docs.djangoproject.com/en/stable/topics/db/optimization/).
|
|
41
|
+
- Rely on built-in protections (CSRF, XSS escaping, SQL parameterization) rather than rolling your own (https://docs.djangoproject.com/en/stable/topics/security/).
|
|
42
|
+
|
|
43
|
+
## Common pitfalls
|
|
44
|
+
- Running with `DEBUG = True` in production → leaks tracebacks and settings; set `DEBUG = False` and configure `ALLOWED_HOSTS` (https://docs.djangoproject.com/en/stable/ref/settings/#debug).
|
|
45
|
+
- Triggering N+1 queries by iterating querysets that lazily hit related objects → use `select_related`/`prefetch_related` to batch the joins.
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
```python
|
|
49
|
+
# views.py
|
|
50
|
+
from django.http import HttpResponse
|
|
51
|
+
|
|
52
|
+
def index(request):
|
|
53
|
+
return HttpResponse("Hello, world.")
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Further reading
|
|
57
|
+
- https://docs.djangoproject.com/en/stable/intro/tutorial01/ — official tutorial
|
|
58
|
+
- https://docs.djangoproject.com/en/stable/howto/deployment/checklist/ — deployment checklist
|
|
59
|
+
|
|
60
|
+
## Related skills
|
|
61
|
+
- ../flask — lighter-weight Python alternative
|
|
62
|
+
- ../fastapi — async, typed Python API framework
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: express
|
|
3
|
+
description: Minimal, unopinionated, ubiquitous Node.js web framework with middleware and routing; consult for lightweight HTTP servers and APIs.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: backend
|
|
6
|
+
tags: [express, nodejs, http, middleware, routing, backend]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://expressjs.com/
|
|
9
|
+
- https://github.com/expressjs/express
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Express
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Express is a fast, unopinionated, minimalist web framework for Node.js. It provides a thin layer of routing and middleware over Node's HTTP server, leaving structure and architecture to the developer. Read this when you want a small, well-understood foundation for an HTTP server or API, or when working under a framework (like NestJS) that uses Express underneath.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://expressjs.com/
|
|
20
|
+
- Repo: https://github.com/expressjs/express
|
|
21
|
+
- Install: https://expressjs.com/en/starter/installing.html
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
npm install express
|
|
26
|
+
```
|
|
27
|
+
The starter guide first creates a project with `mkdir myapp`, `cd myapp`, then `npm init`. (Source: https://expressjs.com/en/starter/installing.html)
|
|
28
|
+
|
|
29
|
+
## Core concepts
|
|
30
|
+
- **Application** — `express()` creates an app you configure with routes, middleware, and settings.
|
|
31
|
+
- **Middleware** — functions with the `(req, res, next)` signature that run in order; the backbone of Express (parsing, auth, logging).
|
|
32
|
+
- **Routing** — `app.get()`, `app.post()`, and `express.Router()` map HTTP methods + paths to handlers.
|
|
33
|
+
- **Request / Response** — `req` and `res` objects expose params, query, body, and response helpers (`res.json`, `res.status`, `res.send`).
|
|
34
|
+
- **Error-handling middleware** — special middleware with four args `(err, req, res, next)` catches errors.
|
|
35
|
+
|
|
36
|
+
## Best practices
|
|
37
|
+
- Order middleware deliberately; body parsers and auth must run before the routes that depend on them (https://expressjs.com/en/guide/using-middleware.html).
|
|
38
|
+
- Split routes into `express.Router()` modules for maintainability (https://expressjs.com/en/guide/routing.html).
|
|
39
|
+
- Define a single error-handling middleware last to centralize failures (https://expressjs.com/en/guide/error-handling.html).
|
|
40
|
+
- Follow the production best-practices guide (use a reverse proxy, set `NODE_ENV=production`, handle exceptions) (https://expressjs.com/en/advanced/best-practice-performance.html).
|
|
41
|
+
|
|
42
|
+
## Common pitfalls
|
|
43
|
+
- In Express 4, async handler rejections were not caught automatically; Express 5 now forwards rejected promises to the error handler, so verify which major version you target (https://expressjs.com/en/guide/migrating-5.html).
|
|
44
|
+
- Express 5 changed path matching: bare `*` wildcards must be named (e.g. `/*splat`) and several legacy methods/signatures were removed (`app.del`, `res.send(body, status)`); review the migration guide before upgrading (https://expressjs.com/en/guide/migrating-5.html).
|
|
45
|
+
|
|
46
|
+
## Examples
|
|
47
|
+
```javascript
|
|
48
|
+
const express = require('express');
|
|
49
|
+
const app = express();
|
|
50
|
+
|
|
51
|
+
app.get('/', (req, res) => {
|
|
52
|
+
res.send('Hello World');
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
app.listen(3000);
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Further reading
|
|
59
|
+
- https://expressjs.com/en/guide/migrating-5.html — Express 4 → 5 migration
|
|
60
|
+
- https://expressjs.com/en/advanced/best-practice-security.html — security best practices
|
|
61
|
+
|
|
62
|
+
## Related skills
|
|
63
|
+
- ../fastify — higher-performance alternative
|
|
64
|
+
- ../koa — successor framework from the original Express team
|
|
65
|
+
- ../nestjs — opinionated framework built on Express by default
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fastapi
|
|
3
|
+
description: Modern async, type-hint-driven Python API framework with automatic validation and OpenAPI docs; consult for high-performance typed APIs.
|
|
4
|
+
domain: stack
|
|
5
|
+
category: backend
|
|
6
|
+
tags: [fastapi, python, async, pydantic, openapi, backend]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://fastapi.tiangolo.com/
|
|
9
|
+
- https://github.com/fastapi/fastapi
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# FastAPI
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
FastAPI is a modern, high-performance Python web framework for building APIs using standard Python type hints. Type annotations drive request parsing, validation (via Pydantic), and automatic interactive documentation (Swagger UI and ReDoc) generated from OpenAPI. Read this when building typed, async-capable APIs where automatic validation and docs save significant boilerplate.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://fastapi.tiangolo.com/
|
|
20
|
+
- Repo: https://github.com/fastapi/fastapi
|
|
21
|
+
- Install: https://fastapi.tiangolo.com/#installation
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
```bash
|
|
25
|
+
pip install "fastapi[standard]"
|
|
26
|
+
```
|
|
27
|
+
The docs note the quotes around `"fastapi[standard]"` are needed so the command works in all terminals. (Source: https://fastapi.tiangolo.com/#installation)
|
|
28
|
+
|
|
29
|
+
## Core concepts
|
|
30
|
+
- **Path operations** — decorators like `@app.get("/")` declare routes on a `FastAPI()` app.
|
|
31
|
+
- **Type hints → validation** — function parameter and Pydantic model types define and validate request bodies, query/path params automatically.
|
|
32
|
+
- **Pydantic models** — declare request/response schemas as Python classes; FastAPI validates and serializes against them.
|
|
33
|
+
- **Dependency injection** — `Depends()` injects reusable dependencies (auth, DB sessions, params) into path operations.
|
|
34
|
+
- **Async support** — define handlers as `async def` to use `await` for non-blocking I/O.
|
|
35
|
+
- **Automatic docs** — OpenAPI schema plus Swagger UI (`/docs`) and ReDoc (`/redoc`) are generated from your types.
|
|
36
|
+
|
|
37
|
+
## Best practices
|
|
38
|
+
- Model request and response bodies with Pydantic so validation and serialization are declarative (https://fastapi.tiangolo.com/tutorial/body/).
|
|
39
|
+
- Use `Depends()` for shared concerns (DB sessions, auth) instead of repeating logic in each endpoint (https://fastapi.tiangolo.com/tutorial/dependencies/).
|
|
40
|
+
- Use `async def` for I/O-bound handlers, but keep blocking calls out of the event loop (run them in a threadpool) (https://fastapi.tiangolo.com/async/).
|
|
41
|
+
- Set explicit `response_model` types to control and document output shapes (https://fastapi.tiangolo.com/tutorial/response-model/).
|
|
42
|
+
|
|
43
|
+
## Common pitfalls
|
|
44
|
+
- Running blocking/synchronous I/O directly inside an `async def` endpoint → blocks the event loop and kills concurrency; use `def` handlers (run in a threadpool) or async-native libraries (https://fastapi.tiangolo.com/async/).
|
|
45
|
+
- Returning ORM/raw objects without a `response_model` → may leak fields or fail serialization; declare a Pydantic response model.
|
|
46
|
+
|
|
47
|
+
## Examples
|
|
48
|
+
```python
|
|
49
|
+
from fastapi import FastAPI
|
|
50
|
+
|
|
51
|
+
app = FastAPI()
|
|
52
|
+
|
|
53
|
+
@app.get("/")
|
|
54
|
+
async def read_root():
|
|
55
|
+
return {"Hello": "World"}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Further reading
|
|
59
|
+
- https://fastapi.tiangolo.com/tutorial/ — full tutorial
|
|
60
|
+
- https://fastapi.tiangolo.com/deployment/ — deployment guide
|
|
61
|
+
|
|
62
|
+
## Related skills
|
|
63
|
+
- ../flask — lighter Python microframework
|
|
64
|
+
- ../django — batteries-included Python framework
|