Personal development toolkit and reusable code registry organized by domain with interactive CLI interfaces and preference caching.
dev:check-code-quality- Interactive TypeScript, ESLint, and Prettier runnerdev:clean- Clean project artifacts and build outputsdev:verify-software- Verify development environment and tool versions
eas:build- Interactive EAS build automation with platform/profile selectioneas:submit- App store submission with platform/profile selectioneas:update- Over-the-air updates with channel and messaging options
linear:start-clockify-timer- Start Clockify timer for Linear issues with workspace/project selection and smart caching
media:accelerate-video- Interactive video acceleration with FFmpeg, supports audio inclusion choice and speed multiplier with preference cachingmedia:normalize-episode-names- Normalize TV episode filenames using OpenRouter LLM with Russian translation supportmedia:play-twitch-stream- Interactive Twitch stream launcher with OAuth device flow, fetches followed channels, filters live streams, and launches via streamlinkmedia:recursively-hardlink- Create hardlinks for media files to save disk space
Reusable GitHub Actions workflows for CI/CD automation. Copy into your .github/workflows/ directory.
eas-preview-deploy.yml- Automatic EAS preview builds for PRs with fingerprint-based caching, OTA updates, and PR comments with QR codes
eas.json- EAS deployment configurationeslint.config.mjs- ESLint rules with React and import sortingprettier.config.mjs- Code formatting configuration with shell script and Tailwind CSS support
Utility functions and modules for common development tasks. Copy and paste into your projects as needed.
arrays.ts- Array utilities:toggleStringItem,randomArrayItem,randomArrayItems,dedupeByKeycolors.ts-getContrastingColorreturns black or white based on background brightness (supports hex and rgb)objects.ts- Object utilities:getObjPath,isObjEmpty, type-safegetObjectKeys/Values/Entries,pickBy,removeNullishValues,omit,getRootLevelObjectprovider-registry.tsx- Compose multiple React providers without deep nesting, with conditional inclusion and typed propssafe-try-catch.ts-safeResolveandsafeExecfunctions for error handling without try/catch blocks, returning{ ok, value }result objects
Pre-configured library instances and setup patterns. Ready-to-use configurations for common libraries and frameworks.
mmkv.ts- Pre-configured MMKV instance for React Native persistent storage
Custom service implementations and extensions. Reusable service patterns for common application needs.
storage.ts- Type-safe persistent storage service with imperative and reactive APIs built on MMKV
Reusable React components for common UI patterns and functionality. Copy and paste into your React/React Native projects as needed.
AspectImage.tsx- Expo Image wrapper that displays images at natural aspect ratio with optional max width/height constraintsMeasuringView.tsx- React Native View wrapper that measures its layout and passes dimensions to a render function childQueryState.tsx- React component that handles different states of single or multiple Tanstack Query results with customizable UI for loading, error, empty, and success states
Reusable React hooks for common patterns and functionality. Copy and paste into your React/React Native projects as needed.
useAppState.ts- React Native hook for tracking app state (active/background/inactive) with transition callbacksuseAuthorization.tsx- Authorization context system with hook and component for role/permission-based UI rendering with AND/OR logic supportuseDebouncedValue.ts- Debounce a value with configurable delay, leading mode, force update, and cancel (adapted from Mantine)useMultiCountPress.ts- React hook for detecting multiple consecutive presses within a time threshold (useful for debug modes, secret features, etc.)useQueryRefreshControlProps.ts- React hook that provides RefreshControl props for automatically refetching React Query queries on pull-to-refreshuseScreenPreventRemove.ts- React Navigation hook to prevent screen unmounting based on conditions (unsaved changes, loading states, etc.)
dev-eas.md- Complete guide to Expo Application Services (EAS) including builds, submissions, OTA updates, and deployment workflowsdev-environment-setup.md- Step-by-step environment setup guide for React Native development including tools, languages, and IDEsdev-push-notifications.md- Comprehensive guide to push notification concepts and implementation approaches for React Native apps
Scripts are standalone and can be run independently. Install dependencies as needed.
# .mjs scripts can be run without dependencies
npx zx --install ./scripts/script-name.mjs
# .ts scripts can be run via tsx
npx tsx ./scripts/script-name.ts
# Shell scripts can be run directly
./scripts/script-name.sh