GitHub - nijigeyisi/go-pack: Offline outing checklist generator for casual trips. · GitHub
Skip to content

nijigeyisi/go-pack

Repository files navigation

go-pack

go-pack is an offline-first checklist generator for casual outings: camping, hiking, family days out, beach trips, park picnics, city walks, dog park meetups, and short hikes with kids.

The first version is deliberately small. Pick a scenario, duration, weather and transport conditions, and who is coming. The app generates a grouped checklist, a shareable URL, a prefilled feedback issue link, and a Markdown copy you can paste into notes, chat, or a trip plan.

Demo Screenshot

Live demo: https://nijigeyisi.github.io/go-pack/

go-pack checklist generator

Try In 60 Seconds

Open one checklist, scan it for a real outing, then use Send Feedback in the app if anything is missing, noisy, or unclear.

Quick Start

npm install
npm run dev

Run tests:

npm test

Build the static site:

npm run build

Preview the production build:

npm run preview

What It Generates

The current rule set supports:

  • Camping checklists for shelter, camp light, and camp safety.
  • Hiking checklists for route access, shoes, trailhead checks, and weather conditions.
  • Family outing reminders for children, snacks, separation plans, and comfort items.
  • Beach day reminders for sunscreen, towels, tide checks, and swim warnings.
  • Park picnic reminders for food, blankets, cleanup, rain, and group needs.
  • City walk reminders for transit, route screenshots, public restroom planning, and late return transport.
  • Dog park meetup reminders for leash, water, waste bags, park rules, and backup exit planning.
  • Short hike with kids reminders for route screenshots, snacks, water reserves, simple first aid, and meetup rules.

Every checklist can include:

  • Must-pack items.
  • Optional items.
  • Pre-departure checks.
  • Safety reminders.
  • High-priority markers for items that are painful or risky to miss.
  • Shareable checklist URLs that restore the selected scenario, duration, conditions, participants, and adult count.
  • Prefilled GitHub feedback issues that include the current share URL and checklist context.
  • Copyable Markdown output.

See examples/family-rainy-picnic.md for a sample export.

Project Status

This is an early v0.6 project. The goal is to collect real feedback from people planning small outings, then turn repeated feedback into better rules and templates.

Useful feedback includes:

  • Missing items for a scenario.
  • Items that are too specific or too vague.
  • Safety reminders that should be promoted to high priority.
  • New outing scenarios that would help real users.

Want to test it with friends or family? See docs/feedback-request.md. Tried it already? Open an outing feedback issue.

See CHANGELOG.md for release history and docs/roadmap.md for the current feedback-driven roadmap.

Contributing Rules

See CONTRIBUTING.md for the full contribution guide.

If you are trying the app before contributing code, the fastest path is to open a feedback issue from the app's Send Feedback link. It includes the current checklist URL and selected context automatically.

Checklist rules live in src/domain/rules.ts.

A rule is a typed object:

{
  id: "condition-rain-shell",
  label: "Rain shell or poncho",
  category: "must-pack",
  priority: "high",
  conditions: ["rain"]
}

Prefer reusable modifiers over copied scenario lists. For example, a rain item should usually use conditions: ["rain"] instead of being duplicated for camping, hiking, and picnic.

Good rule changes are:

  • Specific enough to help a person pack.
  • General enough to apply across similar outings.
  • Safe and conservative.
  • Covered by a generator test when they change behavior.

Development

npm install
npm test
npm run build

The rule engine is in src/domain/generator.ts and has focused tests in src/domain/generator.test.ts. The React UI is in src/App.tsx with smoke tests in src/App.test.tsx.

GitHub Pages Deployment

This app builds to static files in dist/.

One simple deployment path:

  1. Run npm run build.
  2. Push the repository to GitHub.
  3. In repository settings, enable Pages.
  4. Configure Pages to publish the static build output using your preferred workflow.

Because Vite is configured with base: "./", the built files can be served from a project subpath such as https://username.github.io/go-pack/.

License

MIT