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,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: php
|
|
3
|
+
description: General-purpose server-side scripting language for the web; consult for PHP syntax, OOP, Composer, and install/setup.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [php, server-side, web, scripting, backend]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://www.php.net/docs.php
|
|
9
|
+
- https://github.com/php/php-src
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# PHP
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
PHP is a popular general-purpose scripting language especially suited to web development; it powers a large share of the web from blogs to major sites. Code is embedded in or generated alongside HTML and executed server-side. Read this when building web backends in PHP, working with Composer packages, or setting up a PHP runtime.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://www.php.net/docs.php
|
|
20
|
+
- Repo: https://github.com/php/php-src
|
|
21
|
+
- Install / download: https://www.php.net/downloads
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
The official downloads page shows per-OS instructions. For Debian/Ubuntu it lists, verbatim:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Update the package lists.
|
|
28
|
+
sudo apt update
|
|
29
|
+
|
|
30
|
+
# Install PHP.
|
|
31
|
+
sudo apt install -y php
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Source: https://www.php.net/downloads (current stable versions listed there include 8.5, 8.4, 8.3, 8.2)
|
|
35
|
+
|
|
36
|
+
## Core concepts
|
|
37
|
+
- Request lifecycle — PHP scripts typically run per HTTP request and exit; state does not persist across requests unless stored (session, DB, cache).
|
|
38
|
+
- Types and weak/strict typing — PHP is dynamically typed but supports type declarations and `declare(strict_types=1)` for strict scalar typing.
|
|
39
|
+
- Classes, interfaces, traits, and enumerations — full OOP model; traits share method implementations across classes.
|
|
40
|
+
- Namespaces — organize and disambiguate classes/functions to avoid collisions.
|
|
41
|
+
- Superglobals and predefined variables — `$_GET`, `$_POST`, `$_SESSION`, `$_SERVER` expose request and environment data.
|
|
42
|
+
- Composer — the de facto dependency manager and PSR-4 autoloader for PHP libraries.
|
|
43
|
+
- Errors, exceptions, generators, fibers, and attributes are part of the modern language reference.
|
|
44
|
+
|
|
45
|
+
## Best practices
|
|
46
|
+
- Enable `declare(strict_types=1)` and use type declarations to catch type errors early (see php.net Language Reference: Types).
|
|
47
|
+
- Follow the Security section of the docs: validate and escape all user-submitted data, use prepared statements for databases.
|
|
48
|
+
- Manage dependencies and autoloading with Composer rather than manual `require` chains.
|
|
49
|
+
- Keep PHP on a supported version (php.net lists active versions) and apply security releases promptly.
|
|
50
|
+
|
|
51
|
+
## Common pitfalls
|
|
52
|
+
- Concatenating user input into SQL → use parameterized/prepared statements (PDO or mysqli) to prevent injection.
|
|
53
|
+
- Echoing unescaped user data into HTML → escape output (`htmlspecialchars`) to prevent XSS, per the docs' security guidance.
|
|
54
|
+
- Relying on loose comparison (`==`) where type juggling surprises (e.g. `"0" == false`) → use strict comparison (`===`).
|
|
55
|
+
|
|
56
|
+
## Examples
|
|
57
|
+
```php
|
|
58
|
+
<?php
|
|
59
|
+
declare(strict_types=1);
|
|
60
|
+
|
|
61
|
+
function greet(string $name): string {
|
|
62
|
+
return "Hello, " . htmlspecialchars($name);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
echo greet($_GET['name'] ?? 'world');
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Further reading
|
|
69
|
+
- Language reference: https://www.php.net/docs.php
|
|
70
|
+
- Security considerations: https://www.php.net/docs.php (Security section)
|
|
71
|
+
|
|
72
|
+
## Related skills
|
|
73
|
+
- ../ruby — dynamic scripting language comparison
|
|
74
|
+
- ../../stacks — PHP web frameworks (Laravel, Symfony) consume this language
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: python
|
|
3
|
+
description: Batteries-included, general-purpose dynamic language; consult for core syntax, the standard library, and environments.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [python, cpython, scripting, stdlib, venv]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.python.org/3/
|
|
9
|
+
- https://github.com/python/cpython
|
|
10
|
+
- https://www.python.org/downloads/
|
|
11
|
+
verified: 2026-06-16
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Python
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Python is a high-level, general-purpose programming language emphasizing readability and a large standard library ("batteries included"). It is dynamically typed, garbage-collected, and supports procedural, object-oriented, and functional styles. CPython is the reference implementation. Read this for core syntax, packaging/virtual environments, and standard-library usage.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://docs.python.org/3/
|
|
21
|
+
- Repo (CPython reference implementation): https://github.com/python/cpython
|
|
22
|
+
- Install / download: https://www.python.org/downloads/
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
Download and run the installer for your platform from https://www.python.org/downloads/. Verify the install:
|
|
26
|
+
```bash
|
|
27
|
+
python3 --version
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Core concepts
|
|
31
|
+
- Indentation-defined blocks: whitespace (not braces) delimits code blocks; consistent indentation is syntactically required.
|
|
32
|
+
- Dynamic typing with strong typing: names are bound to objects of any type at runtime, but Python does not silently coerce unrelated types.
|
|
33
|
+
- Everything is an object: functions, classes, and modules are first-class objects; duck typing drives polymorphism.
|
|
34
|
+
- The standard library: a broad set of built-in modules (os, json, pathlib, datetime, itertools, etc.) cover common tasks without third-party packages.
|
|
35
|
+
- Virtual environments: `venv` isolates per-project dependencies from the system interpreter.
|
|
36
|
+
- Iterators, generators, and comprehensions: lazy iteration via `__iter__`/`yield`; concise list/dict/set comprehensions.
|
|
37
|
+
- Exceptions: errors are raised and caught with `try`/`except`/`finally`; use specific exception types.
|
|
38
|
+
|
|
39
|
+
## Best practices
|
|
40
|
+
- Follow PEP 8, the official style guide, for layout, naming, and formatting.
|
|
41
|
+
- Use a virtual environment (`python3 -m venv .venv`) per project so dependencies don't collide with the system Python.
|
|
42
|
+
- Prefer context managers (`with open(...) as f:`) so resources are released deterministically.
|
|
43
|
+
- Catch specific exceptions rather than bare `except:`; let unexpected errors surface.
|
|
44
|
+
|
|
45
|
+
## Common pitfalls
|
|
46
|
+
- Mutable default arguments (`def f(x=[]):`) → the default is created once and shared across calls; use `None` and create inside the function.
|
|
47
|
+
- Mixing tabs and spaces for indentation → causes `TabError`/inconsistent blocks; use spaces consistently (PEP 8 recommends 4 spaces).
|
|
48
|
+
- Relying on dict/iteration order assumptions across versions → insertion order is guaranteed for dicts in modern CPython, but don't depend on set ordering.
|
|
49
|
+
- Installing packages into the system interpreter globally → use a virtual environment to avoid conflicts.
|
|
50
|
+
|
|
51
|
+
## Examples
|
|
52
|
+
```python
|
|
53
|
+
from pathlib import Path
|
|
54
|
+
|
|
55
|
+
def read_lines(path: str) -> list[str]:
|
|
56
|
+
with open(path, encoding="utf-8") as f:
|
|
57
|
+
return [line.rstrip("\n") for line in f]
|
|
58
|
+
|
|
59
|
+
for line in read_lines("data.txt"):
|
|
60
|
+
print(line)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Further reading
|
|
64
|
+
- The Python Tutorial: https://docs.python.org/3/tutorial/
|
|
65
|
+
- PEP 8 style guide: https://peps.python.org/pep-0008/
|
|
66
|
+
|
|
67
|
+
## Related skills
|
|
68
|
+
- (sibling language skills under ../)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: r
|
|
3
|
+
description: R is a free language and environment for statistical computing, data analysis, and graphics, with packages distributed via CRAN; consult when writing R, installing packages, using vectors/data frames, the tidyverse, ggplot2, or producing statistical models, plots, and reproducible analyses.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [r, statistics, data-analysis, cran, tidyverse, ggplot2, vectorized]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://www.r-project.org/
|
|
9
|
+
- https://cran.r-project.org/
|
|
10
|
+
- https://cran.r-project.org/manuals.html
|
|
11
|
+
verified: 2026-06-17
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# R
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
R is a free software environment and language for statistical computing, data analysis, and graphics, maintained by the R Foundation with packages distributed through CRAN. It is vectorized by design and excels at statistical modeling, data manipulation, and visualization. Read this when writing R, installing/using packages, working with data frames and the tidyverse, or producing plots and reproducible analyses.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://www.r-project.org/
|
|
21
|
+
- Repo: https://svn.r-project.org/R/ (official SVN; GitHub mirror at https://github.com/r-devel/r-svn)
|
|
22
|
+
- Install: https://cran.r-project.org/
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```r
|
|
26
|
+
# After installing R from CRAN, install packages from within R:
|
|
27
|
+
install.packages("tidyverse")
|
|
28
|
+
library(tidyverse)
|
|
29
|
+
```
|
|
30
|
+
Download R per https://cran.r-project.org/ ; `install.packages` is the official package-install function (https://cran.r-project.org/manuals.html).
|
|
31
|
+
|
|
32
|
+
## Core concepts
|
|
33
|
+
- **Vectors & vectorization** — the atomic vector is the base type; operations apply element-wise without explicit loops.
|
|
34
|
+
- **Data frames / tibbles** — tabular data with typed columns; the core structure for analysis.
|
|
35
|
+
- **Factors** — categorical variables with defined levels, important for modeling.
|
|
36
|
+
- **Functions & lazy/promise args** — first-class functions; arguments evaluated lazily when used.
|
|
37
|
+
- **The `<-` assignment** — idiomatic assignment operator (vs `=`), plus `%>%`/`|>` pipes for chaining.
|
|
38
|
+
- **CRAN & packages** — `install.packages()` / `library()` pull from the Comprehensive R Archive Network.
|
|
39
|
+
- **Recycling rule** — shorter vectors recycle to match longer ones in arithmetic; a common gotcha.
|
|
40
|
+
- **Formula objects** — `y ~ x` notation drives `lm`, `glm`, and many modeling functions.
|
|
41
|
+
|
|
42
|
+
## Best practices
|
|
43
|
+
- Organize work as projects with `renv` for reproducible package versions (https://cran.r-project.org/web/packages/renv/).
|
|
44
|
+
- Prefer vectorized operations and `apply`/`purrr::map` over explicit `for` loops (https://cran.r-project.org/doc/manuals/r-release/R-intro.html).
|
|
45
|
+
- Use the tidyverse (`dplyr`, `ggplot2`, `tidyr`) for readable data pipelines (https://www.tidyverse.org/).
|
|
46
|
+
- Document analyses in R Markdown / Quarto for reproducibility (https://cran.r-project.org/doc/manuals/r-release/R-exts.html).
|
|
47
|
+
|
|
48
|
+
## Common pitfalls
|
|
49
|
+
- Silent vector recycling producing wrong results → ensure operands have compatible lengths.
|
|
50
|
+
- `stringsAsFactors` and unexpected factor coercion → set explicitly or use `read.csv(..., stringsAsFactors = FALSE)` (default FALSE since R 4.0).
|
|
51
|
+
- Using `=` where `<-` is expected (or vice versa) in calls → use `<-` for assignment, `=` for named arguments.
|
|
52
|
+
|
|
53
|
+
## Examples
|
|
54
|
+
```r
|
|
55
|
+
library(dplyr)
|
|
56
|
+
|
|
57
|
+
mtcars |>
|
|
58
|
+
group_by(cyl) |>
|
|
59
|
+
summarise(mean_mpg = mean(mpg), n = n()) |>
|
|
60
|
+
arrange(desc(mean_mpg))
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Further reading
|
|
64
|
+
- https://cran.r-project.org/manuals.html — official R manuals (Intro, Language Definition, Writing Extensions)
|
|
65
|
+
- https://cran.r-project.org/doc/manuals/r-release/R-intro.html — An Introduction to R
|
|
66
|
+
- https://www.tidyverse.org/ — the tidyverse package collection
|
|
67
|
+
|
|
68
|
+
## Related skills
|
|
69
|
+
- ../clojure — another data-oriented functional language
|
|
70
|
+
- ../haskell — statically typed functional language for comparison
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ruby
|
|
3
|
+
description: Dynamic, object-oriented language focused on developer happiness; consult for Ruby syntax, idioms, gems, and install/setup.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [ruby, dynamic, object-oriented, scripting, gems]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://www.ruby-lang.org/en/documentation/
|
|
9
|
+
- https://github.com/ruby/ruby
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Ruby
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Ruby is an interpreted, dynamic, object-oriented programming language created by Yukihiro "Matz" Matsumoto in 1995, designed to make programmers productive and happy. Everything in Ruby is an object, and the language emphasizes readable, expressive syntax. Read this when writing Ruby scripts, working with gems, or setting up a Ruby toolchain.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://www.ruby-lang.org/en/documentation/
|
|
20
|
+
- Repo: https://github.com/ruby/ruby
|
|
21
|
+
- Install / download: https://www.ruby-lang.org/en/downloads/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
On Windows, the official downloads page recommends RubyInstaller; on macOS and Linux/UNIX it recommends third-party version managers (rbenv and RVM) or the distribution package manager. From the official downloads page, using a version manager:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Linux/UNIX or macOS via rbenv (third-party tool recommended on ruby-lang.org)
|
|
28
|
+
rbenv install 4.0.5
|
|
29
|
+
rbenv global 4.0.5
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Source: https://www.ruby-lang.org/en/downloads/ (current stable listed there is Ruby 4.0.5; substitute the version you need)
|
|
33
|
+
|
|
34
|
+
## Core concepts
|
|
35
|
+
- Everything is an object — integers, strings, and even `nil` respond to methods; there are no primitives.
|
|
36
|
+
- Dynamic typing with duck typing — an object's suitability is determined by the methods it responds to, not its declared class.
|
|
37
|
+
- Blocks, procs, and lambdas — first-class chunks of code passed to methods (e.g. `each`, `map`); the foundation of Ruby iteration.
|
|
38
|
+
- Mixins via modules — share behavior across classes with `include`/`extend` instead of multiple inheritance.
|
|
39
|
+
- Open classes and metaprogramming — classes can be reopened and methods defined at runtime (`define_method`, `method_missing`).
|
|
40
|
+
- Gems and Bundler — RubyGems packages libraries; Bundler resolves and locks dependencies via a `Gemfile`.
|
|
41
|
+
- Exceptions, iterators, closures, and garbage collection are built into the core language.
|
|
42
|
+
|
|
43
|
+
## Best practices
|
|
44
|
+
- Follow a community style guide (RuboCop, Shopify, GitLab, or Airbnb guides are linked from ruby-lang.org) and run RuboCop to enforce it.
|
|
45
|
+
- Use Bundler with a committed `Gemfile.lock` for reproducible dependency installs.
|
|
46
|
+
- Prefer iterators and blocks (`each`, `map`, `select`) over manual index loops for idiomatic, readable code.
|
|
47
|
+
- Use a version manager (rbenv/RVM) so each project can pin a known Ruby version.
|
|
48
|
+
|
|
49
|
+
## Common pitfalls
|
|
50
|
+
- Treating `nil` as falsy-only — in Ruby only `nil` and `false` are falsy; `0` and `""` are truthy. → Test explicitly when you mean numeric/empty.
|
|
51
|
+
- Mutating shared mutable state through reopened classes ("monkey patching") → prefer refinements or composition to limit scope.
|
|
52
|
+
- Forgetting that assignment in blocks can leak or shadow variables → keep block-local variables explicit and small.
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
```ruby
|
|
56
|
+
# Blocks and iterators
|
|
57
|
+
names = ["ada", "grace", "linus"]
|
|
58
|
+
names.map { |n| n.capitalize }.each { |n| puts "Hello, #{n}" }
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Further reading
|
|
62
|
+
- Official documentation hub: https://www.ruby-lang.org/en/documentation/
|
|
63
|
+
- API docs for all versions: https://docs.ruby-lang.org/en/
|
|
64
|
+
|
|
65
|
+
## Related skills
|
|
66
|
+
- ../python — another dynamic, batteries-included scripting language
|
|
67
|
+
- ../php — server-side scripting comparison
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rust
|
|
3
|
+
description: Memory-safe systems language with ownership and no GC; consult for ownership/borrowing, Cargo, and error handling.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [rust, systems, ownership, borrow-checker, cargo]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://doc.rust-lang.org/book/
|
|
9
|
+
- https://github.com/rust-lang/rust
|
|
10
|
+
- https://www.rust-lang.org/tools/install
|
|
11
|
+
verified: 2026-06-16
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Rust
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
Rust is a systems programming language focused on performance, reliability, and productivity. Its type system and ownership model guarantee memory safety and thread safety without a garbage collector, catching whole classes of bugs at compile time. It ships with Cargo (build tool and package manager), rustfmt, Clippy, and rust-analyzer. Read this for ownership/borrowing, error handling, and the Cargo workflow.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs (The Book): https://doc.rust-lang.org/book/
|
|
21
|
+
- Repo: https://github.com/rust-lang/rust
|
|
22
|
+
- Install: https://www.rust-lang.org/tools/install
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Core concepts
|
|
30
|
+
- Ownership: every value has a single owner; when the owner goes out of scope the value is dropped (deterministic deallocation, no GC).
|
|
31
|
+
- Borrowing and references: values can be borrowed immutably (`&T`, many) or mutably (`&mut T`, exactly one at a time); the borrow checker enforces this at compile time.
|
|
32
|
+
- Lifetimes: the compiler tracks how long references are valid to prevent dangling references; most are inferred, some are annotated.
|
|
33
|
+
- Traits: shared behavior defined as traits and implemented for types; the basis for generics and polymorphism.
|
|
34
|
+
- Enums and pattern matching: algebraic data types with `match`; `Option<T>` and `Result<T, E>` replace null and exceptions.
|
|
35
|
+
- Error handling: recoverable errors use `Result` with the `?` operator; unrecoverable errors `panic!`.
|
|
36
|
+
- Cargo: builds, tests, runs, and manages dependencies via `Cargo.toml` from crates.io.
|
|
37
|
+
|
|
38
|
+
## Best practices
|
|
39
|
+
- Let the borrow checker guide design: prefer borrowing over cloning, and restructure data flow rather than reaching for `unsafe`.
|
|
40
|
+
- Use `Result` and the `?` operator for recoverable errors; reserve `panic!`/`unwrap` for truly unrecoverable states or tests.
|
|
41
|
+
- Run `cargo clippy` (the official linter) and `cargo fmt` to keep code idiomatic and consistent.
|
|
42
|
+
- Model invalid states out of existence with enums and the type system instead of runtime checks.
|
|
43
|
+
|
|
44
|
+
## Common pitfalls
|
|
45
|
+
- Reaching for `.unwrap()`/`.expect()` in production paths → propagate with `?` and handle `None`/`Err` explicitly.
|
|
46
|
+
- Fighting the borrow checker by cloning everywhere → often a sign the data ownership/structure needs rethinking.
|
|
47
|
+
- Overusing `unsafe` to bypass the checker → it disables guarantees; isolate and justify any `unsafe` block.
|
|
48
|
+
- Confusing `String` (owned) with `&str` (borrowed slice) → pass `&str` for read-only access, own a `String` when you need to store/grow it.
|
|
49
|
+
|
|
50
|
+
## Examples
|
|
51
|
+
```rust
|
|
52
|
+
use std::fs;
|
|
53
|
+
|
|
54
|
+
fn read_config(path: &str) -> Result<String, std::io::Error> {
|
|
55
|
+
let contents = fs::read_to_string(path)?; // ? propagates the error
|
|
56
|
+
Ok(contents)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
fn main() {
|
|
60
|
+
match read_config("config.toml") {
|
|
61
|
+
Ok(text) => println!("{text}"),
|
|
62
|
+
Err(e) => eprintln!("failed to read config: {e}"),
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Further reading
|
|
68
|
+
- The Rust Programming Language (The Book): https://doc.rust-lang.org/book/
|
|
69
|
+
- Rust by Example: https://doc.rust-lang.org/rust-by-example/
|
|
70
|
+
|
|
71
|
+
## Related skills
|
|
72
|
+
- ../go — another modern compiled systems-adjacent language
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scala
|
|
3
|
+
description: JVM language blending object-oriented and functional programming with strong static typing; consult for syntax and setup.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [scala, jvm, functional, object-oriented, static-typing]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://docs.scala-lang.org/
|
|
9
|
+
- https://github.com/scala/scala
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Scala
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Scala is a statically typed language for the JVM that fuses object-oriented and functional programming, with a powerful type system and concise, expressive syntax. It interoperates with Java libraries and runs on the JVM (with Scala.js and Scala Native as additional targets). Read this when writing Scala, choosing between Scala 2 and 3, or setting up the toolchain.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://docs.scala-lang.org/
|
|
20
|
+
- Repo: https://github.com/scala/scala
|
|
21
|
+
- Install / download: https://www.scala-lang.org/download/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
The official download page recommends `cs setup`, the Scala installer powered by Coursier. Verbatim for Linux (x86-64):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
curl -fL https://github.com/coursier/coursier/releases/latest/download/cs-x86_64-pc-linux.gz | gzip -d > cs && chmod +x cs && ./cs setup
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
macOS (Homebrew), verbatim from the same page:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
brew install coursier/formulas/coursier && cs setup
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Source: https://www.scala-lang.org/download/
|
|
37
|
+
|
|
38
|
+
## Core concepts
|
|
39
|
+
- Everything is an expression — `if`, `match`, and blocks return values; statements are rare.
|
|
40
|
+
- Immutability by default — `val` (immutable) is preferred over `var`; immutable collections are the default.
|
|
41
|
+
- Pattern matching and case classes — destructure and branch on algebraic data with exhaustive `match` expressions.
|
|
42
|
+
- Traits — composable units of behavior mixed into classes, supporting a flexible alternative to single inheritance.
|
|
43
|
+
- Strong static typing with inference — the compiler infers most types while enforcing safety; supports generics and higher-kinded types.
|
|
44
|
+
- Higher-order functions and the collections library — `map`, `flatMap`, `filter`, `fold` enable functional data transformations.
|
|
45
|
+
- Scala 2 vs Scala 3 — Scala 3 is a separate evolution; docs cover both and a migration guide.
|
|
46
|
+
|
|
47
|
+
## Best practices
|
|
48
|
+
- Prefer `val` and immutable collections; reach for `var`/mutable state only when measured and necessary.
|
|
49
|
+
- Use case classes and pattern matching for modeling data and control flow idiomatically.
|
|
50
|
+
- Follow the official Scala style guide (linked from docs.scala-lang.org) for idiomatic code.
|
|
51
|
+
- Install and manage tooling with Coursier (`cs setup`), the recommended installer.
|
|
52
|
+
|
|
53
|
+
## Common pitfalls
|
|
54
|
+
- Overusing mutable `var` and imperative loops → favor immutable values and collection combinators.
|
|
55
|
+
- Non-exhaustive `match` expressions on sealed hierarchies → enable warnings so the compiler flags missing cases.
|
|
56
|
+
- Mixing Scala 2 and Scala 3 assumptions → check which version a feature/library targets (see the migration guide).
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
```scala
|
|
60
|
+
case class Greeter(prefix: String):
|
|
61
|
+
def greet(name: String): String = s"$prefix, ${name.capitalize}"
|
|
62
|
+
|
|
63
|
+
val g = Greeter("Hello")
|
|
64
|
+
List("ada", "grace").map(g.greet).foreach(println)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Further reading
|
|
68
|
+
- Documentation and tour: https://docs.scala-lang.org/
|
|
69
|
+
- Scala 2 to 3 migration: https://docs.scala-lang.org/ (migration guide)
|
|
70
|
+
|
|
71
|
+
## Related skills
|
|
72
|
+
- ../elixir — functional programming on another managed VM
|
|
73
|
+
- ../../stacks — JVM/Scala frameworks (e.g. Akka, Play) build on this language
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swift
|
|
3
|
+
description: Apple-backed, memory-safe, high-performance language for apps and systems; consult for Swift syntax, concurrency, and setup.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [swift, apple, memory-safe, systems, ios]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://www.swift.org/documentation/
|
|
9
|
+
- https://github.com/swiftlang/swift
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Swift
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
Swift is a high-performance, memory-safe systems and application programming language with a clean modern syntax and seamless access to existing C and Objective-C code and frameworks. It powers Apple-platform apps and increasingly server-side and cross-platform software on Linux and Windows. Read this when writing Swift, designing with its concurrency model, or setting up the toolchain.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs: https://www.swift.org/documentation/
|
|
20
|
+
- Repo: https://github.com/swiftlang/swift
|
|
21
|
+
- Install / download: https://www.swift.org/install/
|
|
22
|
+
|
|
23
|
+
## Install / setup
|
|
24
|
+
The official Linux install page recommends Swiftly, the Swift toolchain installer. Verbatim (Bash):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz && \
|
|
28
|
+
tar zxf swiftly-$(uname -m).tar.gz && \
|
|
29
|
+
./swiftly init --quiet-shell-followup && \
|
|
30
|
+
. "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh" && \
|
|
31
|
+
hash -r
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Source: https://www.swift.org/install/linux/ (macOS and Windows installers: https://www.swift.org/install/)
|
|
35
|
+
|
|
36
|
+
## Core concepts
|
|
37
|
+
- Value vs reference types — `struct`/`enum` are value types (copied), `class` is a reference type; choosing correctly shapes behavior and performance.
|
|
38
|
+
- Optionals — the type system encodes the possible absence of a value (`T?`), forcing explicit handling of nil.
|
|
39
|
+
- Protocols and protocol-oriented programming — define capabilities and provide default implementations via extensions.
|
|
40
|
+
- Automatic Reference Counting (ARC) — memory for class instances is managed by reference counts; watch for retain cycles.
|
|
41
|
+
- Error handling — typed `throws`/`try`/`catch` with `Result` for explicit, recoverable error flows.
|
|
42
|
+
- Structured concurrency — `async`/`await`, tasks, and actors provide safe, composable asynchronous and concurrent code.
|
|
43
|
+
|
|
44
|
+
## Best practices
|
|
45
|
+
- Prefer value types (`struct`/`enum`) and immutability (`let`) by default; reach for `class` only when reference semantics are needed.
|
|
46
|
+
- Handle optionals explicitly with `if let`/`guard let` rather than force-unwrapping (`!`).
|
|
47
|
+
- Use protocol extensions to share behavior instead of deep class hierarchies.
|
|
48
|
+
- Manage Swift toolchain versions with Swiftly (the official installer) for reproducible builds.
|
|
49
|
+
|
|
50
|
+
## Common pitfalls
|
|
51
|
+
- Force-unwrapping optionals (`value!`) that can be nil → crashes at runtime; use optional binding or `??` defaults.
|
|
52
|
+
- Strong reference cycles between classes/closures → use `weak`/`unowned` captures to let ARC reclaim memory.
|
|
53
|
+
- Sharing mutable state across concurrent tasks → isolate it inside an `actor` to avoid data races.
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
```swift
|
|
57
|
+
struct Greeter {
|
|
58
|
+
func greet(_ name: String?) -> String {
|
|
59
|
+
guard let name, !name.isEmpty else { return "Hello, world" }
|
|
60
|
+
return "Hello, \(name.capitalized)"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
print(Greeter().greet("ada"))
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Further reading
|
|
68
|
+
- Documentation hub: https://www.swift.org/documentation/
|
|
69
|
+
- Install guides per platform: https://www.swift.org/install/
|
|
70
|
+
|
|
71
|
+
## Related skills
|
|
72
|
+
- ../cpp — the C/C++ systems languages Swift interoperates with
|
|
73
|
+
- ../../stacks — Swift app/server frameworks build on this language
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: typescript
|
|
3
|
+
description: Typed superset of JavaScript that compiles to plain JS; consult for type system, tsconfig, and compiler usage.
|
|
4
|
+
domain: language
|
|
5
|
+
category: language
|
|
6
|
+
tags: [typescript, javascript, types, compiler, tsc]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://www.typescriptlang.org/docs/
|
|
9
|
+
- https://github.com/microsoft/TypeScript
|
|
10
|
+
- https://www.typescriptlang.org/download
|
|
11
|
+
verified: 2026-06-16
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# TypeScript
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
TypeScript is a strongly typed programming language that builds on JavaScript by adding optional static types, then compiles down to plain JavaScript that runs anywhere JavaScript runs. It catches whole classes of errors before runtime and powers richer editor tooling for large-scale applications. Read this when configuring a TypeScript build, designing types, or debugging compiler errors.
|
|
18
|
+
|
|
19
|
+
## Official sources
|
|
20
|
+
- Docs: https://www.typescriptlang.org/docs/
|
|
21
|
+
- Repo: https://github.com/microsoft/TypeScript
|
|
22
|
+
- Install / download: https://www.typescriptlang.org/download
|
|
23
|
+
|
|
24
|
+
## Install / setup
|
|
25
|
+
```bash
|
|
26
|
+
npm install typescript --save-dev
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Core concepts
|
|
30
|
+
- Structural typing: types are compatible based on their shape (members), not their declared name; an object satisfying an interface's members is assignable to it.
|
|
31
|
+
- Type annotations and inference: annotate variables, parameters, and return types, but lean on the compiler's inference where it already knows the type.
|
|
32
|
+
- Interfaces and type aliases: model object shapes and unions; `interface` is open to declaration merging, `type` can express unions, intersections, and mapped types.
|
|
33
|
+
- Generics: write reusable, type-safe components and functions parameterized over types (`Array<T>`, `Promise<T>`).
|
|
34
|
+
- Union, intersection, and literal types: combine types and narrow them with control-flow analysis (type guards) to model precise states.
|
|
35
|
+
- `tsconfig.json`: the project configuration file controlling the compiler — target, module system, `strict` flags, and which files are included.
|
|
36
|
+
- The `tsc` compiler: type-checks and emits JavaScript; type errors do not necessarily block emit unless configured to.
|
|
37
|
+
|
|
38
|
+
## Best practices
|
|
39
|
+
- Enable `strict` mode in `tsconfig.json` — it turns on the full family of strict type-checking options recommended by the docs for catching more bugs.
|
|
40
|
+
- Prefer letting the compiler infer types for locals; annotate public API boundaries (function signatures, exported values) explicitly.
|
|
41
|
+
- Avoid `any`; prefer `unknown` when a value's type is genuinely not known, then narrow it before use.
|
|
42
|
+
- Use union types and discriminated unions plus exhaustiveness checking instead of loose runtime type juggling.
|
|
43
|
+
|
|
44
|
+
## Common pitfalls
|
|
45
|
+
- Treating TypeScript types as runtime values → types are erased at compile time; use runtime checks (`typeof`, validation libraries) for runtime guarantees.
|
|
46
|
+
- Assuming a clean `tsc` build means the JS won't run on errors → by default emit can still occur; use `noEmitOnError` if you want errors to block output.
|
|
47
|
+
- Overusing `any` to silence errors → it disables checking and propagates; prefer `unknown`, generics, or proper narrowing.
|
|
48
|
+
|
|
49
|
+
## Examples
|
|
50
|
+
```typescript
|
|
51
|
+
interface User {
|
|
52
|
+
id: number;
|
|
53
|
+
name: string;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function greet(user: User): string {
|
|
57
|
+
return `Hello, ${user.name}`;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const u: User = { id: 1, name: "Ada" };
|
|
61
|
+
console.log(greet(u));
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Further reading
|
|
65
|
+
- TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/intro.html
|
|
66
|
+
- tsconfig reference: https://www.typescriptlang.org/tsconfig/
|
|
67
|
+
|
|
68
|
+
## Related skills
|
|
69
|
+
- ../javascript — the language TypeScript compiles to
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: authoring-agent-skills
|
|
3
|
+
description: How to author an Agent Skill — a folder + SKILL.md with YAML frontmatter, loaded on demand. Consult when creating or reviewing a skill.
|
|
4
|
+
domain: meta
|
|
5
|
+
category: meta
|
|
6
|
+
tags: [agent-skills, skill-md, frontmatter, claude, authoring]
|
|
7
|
+
official_sources:
|
|
8
|
+
- https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
|
|
9
|
+
- https://github.com/anthropics/skills
|
|
10
|
+
verified: 2026-06-16
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Authoring Agent Skills
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
An Agent Skill is a folder containing a `SKILL.md` file that packages instructions, metadata, and optional resources (scripts, reference docs, templates) that an agent loads automatically when a task is relevant. Skills turn a general-purpose agent into a specialist without bloating the system prompt, because only lightweight metadata is loaded up front. Read this when you need to create a new skill, fix one that is not being discovered, or review a skill's structure against the spec.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
- Docs (overview): https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
|
|
20
|
+
- Docs (authoring best practices): https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
|
|
21
|
+
- Repo (official examples + template + spec): https://github.com/anthropics/skills
|
|
22
|
+
- Open spec: https://agentskills.io/specification
|
|
23
|
+
|
|
24
|
+
## Core concepts
|
|
25
|
+
- **A skill is a directory.** At minimum it holds a top-level `SKILL.md`; optional `scripts/`, `references/`, and `assets/` subfolders carry code and reference material (per the open spec at agentskills.io).
|
|
26
|
+
- **`SKILL.md` = YAML frontmatter + Markdown body.** The frontmatter is metadata for discovery; the body is the procedural instructions the agent follows once the skill activates.
|
|
27
|
+
- **Two required frontmatter fields:** `name` (max 64 chars, lowercase letters/numbers/hyphens, no reserved words `anthropic`/`claude`) and `description` (non-empty, max 1024 chars). Both must avoid XML tags.
|
|
28
|
+
- **Three loading levels (progressive disclosure).** Level 1 metadata (name + description, ~100 tokens) is always loaded at startup; Level 2 is the `SKILL.md` body, loaded only when the skill is triggered; Level 3 is bundled files/scripts, read or executed on demand without consuming context until accessed.
|
|
29
|
+
- **Discovery is description-driven.** At startup only each skill's `name` and `description` enter the system prompt, so the agent decides whether to read the full `SKILL.md` based almost entirely on the description.
|
|
30
|
+
- **Scripts run, not read.** Utility scripts in `scripts/` are executed via bash; only their output enters context, making them more reliable and cheaper than asking the agent to regenerate code.
|
|
31
|
+
|
|
32
|
+
## Best practices
|
|
33
|
+
- Write the `description` in third person and state both *what the skill does* and *when to use it*, including concrete trigger keywords — it is the single most important field for discovery (best-practices guide).
|
|
34
|
+
- Keep the `SKILL.md` body under 500 lines; split deeper material into separate reference files that the body links to (best-practices guide, "Progressive disclosure patterns").
|
|
35
|
+
- Use gerund-form names where it reads naturally (`processing-pdfs`, `analyzing-spreadsheets`); avoid vague names like `helper`, `utils`, or `tools` (best-practices guide, "Naming conventions").
|
|
36
|
+
- Assume the agent is already capable: only add context it does not already have, and challenge each sentence for its token cost (best-practices guide, "Concise is key").
|
|
37
|
+
- Match degrees of freedom to task fragility: high-freedom prose for open-ended work, exact low-freedom commands for fragile/destructive steps (best-practices guide, "Set appropriate degrees of freedom").
|
|
38
|
+
|
|
39
|
+
## Common pitfalls
|
|
40
|
+
- Vague descriptions like "Helps with documents" → write specific descriptions with what + when + keywords so the agent can pick the right skill among many.
|
|
41
|
+
- Windows-style backslash paths in references → always use forward slashes (`scripts/helper.py`); backslashes break on Unix (best-practices guide, "Anti-patterns to avoid").
|
|
42
|
+
- Deeply nested reference chains (`SKILL.md` → `a.md` → `b.md`) → keep all references one level deep from `SKILL.md` so the agent reads complete files instead of partial previews.
|
|
43
|
+
- Using a skill from an untrusted source without auditing it → review every bundled file; a malicious skill can direct the agent to misuse tools or exfiltrate data (overview, "Security considerations").
|
|
44
|
+
|
|
45
|
+
## Examples
|
|
46
|
+
```markdown
|
|
47
|
+
---
|
|
48
|
+
name: processing-pdfs
|
|
49
|
+
description: Extract text and tables from PDF files, fill forms, and merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
# PDF Processing
|
|
53
|
+
|
|
54
|
+
## Quick start
|
|
55
|
+
Use pdfplumber to extract text:
|
|
56
|
+
|
|
57
|
+
import pdfplumber
|
|
58
|
+
with pdfplumber.open("file.pdf") as pdf:
|
|
59
|
+
text = pdf.pages[0].extract_text()
|
|
60
|
+
|
|
61
|
+
## Advanced features
|
|
62
|
+
- Form filling: see references/FORMS.md
|
|
63
|
+
- API reference: see references/REFERENCE.md
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Further reading
|
|
67
|
+
- Best-practices guide (full authoring checklist): https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
|
|
68
|
+
- Agent Skills open specification: https://agentskills.io/specification
|
|
69
|
+
- Official template + example skills: https://github.com/anthropics/skills
|
|
70
|
+
|
|
71
|
+
## Related skills
|
|
72
|
+
- ../progressive-disclosure — how to keep SKILL.md short and push depth into on-demand files
|
|
73
|
+
- ../skill-frontmatter-spec — the exact YAML frontmatter fields and their constraints
|