Skip to content

Commit f25b25a

Browse files
committed
chore: standardize README, add CLAUDE.md, CI workflow, dependabot
- Rewrite README with proper badges, remove emojis and license/contributing sections - Add CLAUDE.md with project overview and architecture - Add CI workflow (claudelint, ESLint, build) - Add dependabot.yml for npm and GitHub Actions updates - Add .prettierignore for claudelint cache
1 parent a03ce72 commit f25b25a

5 files changed

Lines changed: 145 additions & 106 deletions

File tree

.github/dependabot.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: 'npm'
4+
directory: '/'
5+
schedule:
6+
interval: 'weekly'
7+
day: 'monday'
8+
time: '09:00'
9+
timezone: 'America/Los_Angeles'
10+
labels:
11+
- 'dependencies'
12+
groups:
13+
npm_and_yarn:
14+
patterns:
15+
- '*'
16+
open-pull-requests-limit: 10
17+
18+
- package-ecosystem: 'github-actions'
19+
directory: '/'
20+
schedule:
21+
interval: 'weekly'
22+
day: 'monday'
23+
time: '09:00'
24+
timezone: 'America/Los_Angeles'
25+
labels:
26+
- 'dependencies'
27+
- 'github-actions'
28+
groups:
29+
github-actions:
30+
patterns:
31+
- '*'

.github/workflows/ci.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [master]
6+
pull_request:
7+
branches: [master]
8+
9+
jobs:
10+
ci:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Validate CLAUDE.md
17+
run: npx claude-code-lint@latest
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '18'
23+
cache: 'npm'
24+
25+
- name: Install dependencies
26+
run: npm ci
27+
28+
- name: Run ESLint
29+
run: npx eslint . --ext .js,.jsx
30+
31+
- name: Build
32+
run: npm run build

.prettierignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
node_modules
2+
.next
3+
build
4+
dist
5+
coverage
6+
*.lock
7+
package-lock.json
8+
.claudelint-cache

CLAUDE.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Hikearound Web
2+
3+
## Project Overview
4+
5+
Next.js web app for Hikearound. Provides server-rendered hike pages with search, maps, and internationalization.
6+
7+
**Tech Stack**: Next.js 12, React 17, Firebase, Algolia, SCSS, Storybook, Sentry
8+
9+
## Development
10+
11+
```bash
12+
npm run dev # Start dev server
13+
npm run build # Production build
14+
npm run storybook # Component explorer (port 6006)
15+
```
16+
17+
## Architecture
18+
19+
- **Pages Router**: All routes in `pages/` directory (Next.js 12 pages router)
20+
- **Components**: Reusable UI in `components/`, organized by feature
21+
- **Layouts**: Page wrappers in `layouts/`
22+
- **Styling**: SCSS modules in `scss/` and `styles/`
23+
- **Config**: Firebase, Algolia, Sentry setup in `config/` and `lib/`
24+
- **i18n**: Translations via next-i18next
25+
26+
## Code Style
27+
28+
- ESLint with Airbnb config
29+
- Prettier inline config (4-space indent, single quotes, trailing commas)
30+
- JSX uses single quotes
31+
32+
## Environment Setup
33+
34+
Copy `env.local.tmp` to `.env.local` and fill in API keys for Firebase, Algolia, Sentry, Cloudinary, and Prismic.
35+
36+
## Related Repositories
37+
38+
- [hikearound-app](https://github.com/hikearound/hikearound-app) - iOS client
39+
- [hikearound-cloud-functions](https://github.com/hikearound/hikearound-cloud-functions) - Cloud Functions backend

README.md

Lines changed: 35 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,135 +1,64 @@
11
# Hikearound Web
22

3-
A React-based web application serving as a companion to the Hikearound iOS app. This project is built with Next.js and provides a modern, responsive web interface for hikers to discover and share trails.
3+
[![CI](https://github.com/hikearound/hikearound-web/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/hikearound/hikearound-web/actions/workflows/ci.yml)
4+
[![Next.js](https://img.shields.io/badge/Next.js-12-000000?logo=nextdotjs&logoColor=white)](https://nextjs.org)
5+
[![React](https://img.shields.io/badge/React-17-61DAFB?logo=react&logoColor=white)](https://reactjs.org)
6+
[![License: ISC](https://img.shields.io/badge/License-ISC-blue?logo=opensourceinitiative&logoColor=white)](LICENSE)
47

5-
## Features
6-
7-
- 🚀 Modern React-based web application
8-
- ⚡ Next.js framework for server-side rendering
9-
- 🌐 Internationalization support (i18n)
10-
- 🔥 Firebase integration
11-
- 🔍 Algolia search integration
12-
- 🐛 Sentry error tracking
13-
- 📱 Responsive design for all devices
14-
15-
## Prerequisites
8+
A Next.js web app for discovering and sharing curated hiking trails.
169

17-
- Node.js 18.x
18-
- npm package manager
19-
20-
## Installation
21-
22-
1. Clone the repository:
10+
## Features
2311

24-
```bash
25-
git clone https://github.com/pdugan20/hikearound-web.git
26-
cd hikearound-web
27-
```
12+
- Server-rendered hike pages with SEO metadata
13+
- Algolia-powered search
14+
- Interactive Apple MapKit integration
15+
- Firebase backend integration
16+
- Internationalization (i18n)
17+
- Storybook component library
18+
- Sentry error tracking
2819

29-
2. Install dependencies:
20+
## Getting Started
3021

3122
```bash
23+
# Install dependencies
3224
npm install
33-
```
3425

35-
3. Set up environment variables:
36-
37-
```bash
26+
# Set up environment
3827
cp env.local.tmp .env.local
39-
```
28+
# Fill in your API keys
4029

41-
Then fill in your environment variables in the `.env.local` file.
42-
43-
## Development
44-
45-
To start the development server:
46-
47-
```bash
30+
# Start dev server
4831
npm run dev
4932
```
5033

51-
The application will be available at `http://localhost:3000`.
52-
53-
## Storybook
54-
55-
This project uses Storybook for component development and documentation. To run Storybook:
56-
57-
```bash
58-
npm run storybook
59-
```
60-
61-
Storybook will be available at `http://localhost:6006`.
34+
Open [http://localhost:3000](http://localhost:3000) to view the app.
6235

63-
### Writing Stories
64-
65-
Stories are located in the `stories` directory alongside their components. Each story file should:
66-
67-
- Use the `.stories.js` extension
68-
- Export a default object with component metadata
69-
- Include one or more stories that showcase different states of the component
70-
71-
Example story structure:
72-
73-
```jsx
74-
import React from 'react';
75-
import { MyComponent } from './MyComponent';
76-
77-
export default {
78-
title: 'Components/MyComponent',
79-
component: MyComponent,
80-
};
81-
82-
export const Default = () => <MyComponent />;
83-
export const WithProps = () => <MyComponent prop1='value' />;
84-
```
85-
86-
## Building for Production
87-
88-
To create a production build:
89-
90-
```bash
91-
npm run build
92-
```
93-
94-
To start the production server:
36+
## Development
9537

9638
```bash
97-
npm run start
39+
npm run dev # Start dev server
40+
npm run build # Production build
41+
npm run storybook # Component explorer (port 6006)
9842
```
9943

10044
## Project Structure
10145

102-
```
46+
```text
10347
hikearound-web/
10448
├── components/ # Reusable React components
105-
├── pages/ # Next.js pages and API routes
106-
├── public/ # Static assets
107-
├── styles/ # Global styles and SCSS
108-
├── utils/ # Utility functions
49+
├── config/ # Configuration files
10950
├── constants/ # Application constants
11051
├── layouts/ # Page layouts
111-
├── lib/ # Library code and configurations
112-
└── config/ # Configuration files
52+
├── lib/ # Library code and integrations
53+
├── pages/ # Next.js pages and API routes
54+
├── public/ # Static assets
55+
├── scss/ # SCSS stylesheets
56+
├── stories/ # Storybook stories
57+
├── styles/ # Global styles
58+
└── utils/ # Utility functions
11359
```
11460

115-
## Technologies Used
116-
117-
- Next.js 12.x
118-
- React 17.x
119-
- Firebase
120-
- Algolia Search
121-
- Sentry
122-
- SCSS
123-
- i18next
124-
125-
## Contributing
126-
127-
1. Fork the repository
128-
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
129-
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
130-
4. Push to the branch (`git push origin feature/amazing-feature`)
131-
5. Open a Pull Request
132-
133-
## License
61+
## Related
13462

135-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
63+
- [hikearound-app](https://github.com/hikearound/hikearound-app) - iOS client
64+
- [hikearound-cloud-functions](https://github.com/hikearound/hikearound-cloud-functions) - Cloud Functions backend

0 commit comments

Comments
 (0)