SkillAgentSearch skills...

PackRat

PackRat is a versatile adventure planner tailored for outdoor enthusiasts. It simplifies the process of organizing trips from a simple day hike to cross-country journeys.

Install / Use

/learn @PackRat-AI/PackRat

README

PackRat 🎒

PackRat is the ultimate adventure planner designed for those who love to explore the great outdoors. Our app helps users plan and organize their trips with ease, whether it's a weekend camping trip, a day hike, or a cross-country road trip.

With PackRat, you can create and manage trips, discover new destinations, and stay informed with up-to-date weather forecasts. Our app integrates with Mapbox to provide you with accurate maps and directions to your destinations, as well as suggestions for popular outdoor activities based on the location and season of your trip.

So pack your bags, grab your friends, and get ready for your next adventure with PackRat!

[!NOTE] This project is currently in alpha. Please report any issues or bugs you encounter. Thank you for your patience and support!

[!IMPORTANT] This project is still in development and may contain bugs or issues. Please use the app with caution and report any problems you encounter. Thank you for your understanding and cooperation.

Build & CI: Biome Check Check Types Database Migrations

Repository Info: GitHub tag License issues - PackRat

<div align="center">

View Beta Site

</div>

Table of Contents

Overview 🌐

With PackRat, you can:

  • Create and manage trips.
  • Discover new destinations.
  • Stay informed with up-to-date weather forecasts.
  • Access accurate maps and directions with our integration to Mapbox.
  • Get suggestions for popular outdoor activities based on your trip's location and season.

So pack your bags, grab your friends, and get ready for your next adventure with PackRat!

Documentation 📚

[!WARNING] While the app is in alpha, please be aware that there may be bugs or issues. We appreciate your patience and support as we work to improve the app. Data may be lost or corrupted during this time, so please use the app with caution. Thank you for your understanding and cooperation.

<div align="center">

view - Documentation

</div>

Features 🚀

  • Create and manage trips: users can create new trips and manage existing ones by adding details such as dates, locations, and activities.
  • Map integration: PackRat integrates with Mapbox to provide users with accurate maps and directions to their destinations.
  • Activity suggestions: the app suggests popular outdoor activities based on the location and season of the trip.
  • Packing list: users can create and manage packing lists for their trips to ensure they have everything they need.
  • Weather forecast: PackRat provides up-to-date weather forecasts for the trip location to help users prepare accordingly.
  • User authentication: the app uses user authentication to ensure privacy and data security.

Technologies used 💻

PackRat is built using the following modern technologies:

  • React Native + Expo: Cross-platform mobile development with Expo Router
  • Next.js: Server-side rendering for web applications (landing page and guides)
  • Hono.js: Fast, lightweight web framework running on Cloudflare Workers
  • PostgreSQL + Drizzle ORM: Type-safe database operations with Neon serverless database
  • Jotai + TanStack Query: Modern state management and data fetching
  • AI SDK + OpenAI: AI-powered features and content generation
  • Bun: Fast JavaScript runtime and package manager
  • Biome: Modern linting and formatting toolchain
  • TypeScript: Full type safety across the entire stack
  • Tailwind CSS + NativeWind: Utility-first styling for web and mobile
  • Mapbox: Location data platform for mobile and web applications

🗂 Folder layout

The main folders are:

  • apps/ - Applications

    • expo/ - React Native mobile app with Expo Router
      • app/ - App router screens and layouts
      • features/ - Feature-based modules (auth, packs, etc.)
      • components/ - Reusable UI components
      • atoms/ - Jotai atoms for global state
      • providers/ - React context providers
      • lib/ - Utility libraries and configurations
      • assets/ - Images, fonts, and other static assets
    • landing/ - Next.js landing page website
    • guides/ - Next.js documentation and guides site
  • packages/ - Shared packages across apps

    • api/ - Hono.js API server running on Cloudflare Workers
      • src/ - Source code with routes, middleware, and services
      • drizzle/ - Database schema and migrations
      • test/ - API tests
    • ui/ - Shared UI components and design system

🆕 Add new dependencies

Pure JS dependencies

For pure JavaScript libraries that work across all platforms (mobile, web, API):

# Install in the root to share across all apps
bun add lodash

# Or install in specific package if only used there
cd packages/api
bun add dayjs

These dependencies work without platform-specific code and can be safely used in any JavaScript environment.

Native dependencies

For React Native modules that require platform-specific code (Android/iOS):

cd apps/expo
bun add react-native-reanimated

# Don't forget to rebuild after adding native dependencies
bun --cwd apps/expo run expo prebuild --clean

Native dependencies often require additional configuration and may need platform-specific setup. Always check the library's installation guide for React Native.

Mobile app dependencies

For React Native dependencies, install them in the Expo app:

cd apps/expo
bun add react-native-reanimated

API dependencies

For API/server dependencies:

cd packages/api
bun add hono

Web app dependencies

For Next.js apps (landing/guides):

cd apps/landing  # or apps/guides
bun add next

Dependency management

Use ManypKG to check for dependency issues across the monorepo:

bun check:deps
bun fix:deps

Local installation 📲

PackRat is a modern monorepo with mobile, web, and API applications. Follow the steps below to install and run the applications.

Dependencies

  • Bun - Primary package manager and runtime
  • Node.js - Required for some tooling
  • Expo CLI - For mobile development
  • Wrangler CLI - For API deployment
  • GitHub CLI - For authenticating with GitHub packages

GitHub Packages Authentication

PackRat uses private packages from GitHub Package Registry. You need to authenticate to install dependencies:

Local Development

  1. Install GitHub CLI:

    # macOS
    brew install gh
    
    # Windows
    winget install --id GitHub.cli
    
    # Linux - see https://github.com/cli/cli#installation
    
  2. Authenticate with GitHub CLI:

View on GitHub
GitHub Stars32
CategoryDevelopment
Updated2d ago
Forks38

Languages

TypeScript

Security Score

80/100

Audited on Mar 27, 2026

No findings