Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f0966db
Initial commit
ra-jeev Aug 24, 2025
45c0aa9
chore: rename workspace to serptools, and lint fixes
ra-jeev Aug 24, 2025
9eb70c2
chore: fix lint error in the original template
ra-jeev Aug 24, 2025
7899e88
chore: add needed shadcn components
ra-jeev Aug 24, 2025
b4d0d6a
chore: make serptools multi-word
ra-jeev Aug 24, 2025
99a03d0
chore: rename web to tools, and create files app
ra-jeev Aug 24, 2025
e8b84d6
chore: fix the source path in global css
ra-jeev Aug 26, 2025
33b58a0
feat: create ui-next package with reusable app components
ra-jeev Aug 26, 2025
6b9bbe8
chore: update dependencies and test ui-next integration
ra-jeev Aug 26, 2025
36511bb
chore: change default theme to light
ra-jeev Aug 27, 2025
bdbda55
chore: add container utility class
ra-jeev Aug 27, 2025
0ec72cf
chore: add tools homepage and related components
ra-jeev Aug 27, 2025
fc8507e
chore: add all components, pages, libs etc for individual tools
ra-jeev Aug 28, 2025
91d8155
chore: add dependencies for tools app
ra-jeev Aug 28, 2025
8e42069
chore: serve tools app on tools basePath
ra-jeev Aug 28, 2025
a160cc3
chore: remove /tools path prefix from its data file
ra-jeev Aug 28, 2025
55a30e4
chore: add data files for files app
ra-jeev Aug 28, 2025
8421d57
chore: add more data files
ra-jeev Aug 28, 2025
05abda9
chore: even more data files
ra-jeev Aug 28, 2025
b4041ef
chore: add components, pages, and lib for files app
ra-jeev Aug 28, 2025
943f35b
chore: add dependencies for files app
ra-jeev Aug 28, 2025
25843de
chore: serve files app with files basePath
ra-jeev Aug 28, 2025
23dba87
chore: replace Link with anchor tag in ToolsLinkHub component
ra-jeev Aug 28, 2025
0a0b29f
chore: fix eslint rule for missing pages in ui-next package
ra-jeev Aug 29, 2025
25090e7
chore: add global env to turbo.json
ra-jeev Aug 29, 2025
f2a1540
chore: rename ui-next to app-core
ra-jeev Aug 29, 2025
845b5bd
chore: move shared tools.json to app-core package
ra-jeev Aug 29, 2025
67490e6
Merge remote-tracking branch 'base/main' into turbo-monorepo
ra-jeev Aug 30, 2025
ccb3f56
fix: app header links
ra-jeev Sep 1, 2025
e2c6b23
fix: incorrect link paths for files and tools apps
ra-jeev Sep 1, 2025
c0f6cc5
build: add static export and trailing slashes to next config
ra-jeev Sep 1, 2025
8da7ab7
ci: add a deploy workflow for static export
ra-jeev Sep 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
10 changes: 10 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// This configuration only applies to the package manager root.
/** @type {import("eslint").Linter.Config} */
module.exports = {
ignorePatterns: ["apps/**", "packages/**"],
extends: ["@serp-tools/eslint-config/library.js"],
parser: "@typescript-eslint/parser",
parserOptions: {
project: true,
},
};
3 changes: 0 additions & 3 deletions .eslintrc.json

This file was deleted.

58 changes: 21 additions & 37 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,61 @@
name: Deploy Next.js site to Pages
name: Deploy to GitHub Pages

on:
# Runs on pushes targeting the main branch
push:
branches:
- main

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 10
run_install: false
- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Install Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'
cache: "pnpm"

- name: Install dependencies
run: pnpm install

- name: Build apps
run: pnpm build

- name: Setup Pages
id: setup_pages
id: pages
uses: actions/configure-pages@v5

- name: Restore cache
uses: actions/cache@v4
with:
path: |
.next/cache
# Generate a new cache whenever packages or source files change.
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
# If source files changed but packages didn't, rebuild from a prior cache.
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/pnpm-lock.yaml') }}-

- name: Build with Next.js
run: pnpm run build
- name: Prepare deployment artifact
run: |
mkdir -p _site/tools _site/files
cp -r apps/tools/out/* _site/tools/
cp -r apps/files/out/* _site/files/
# Add a .nojekyll file to the root of the site to prevent Jekyll from running
touch _site/.nojekyll

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v4
with:
path: ./out
path: _site

deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
Expand Down
75 changes: 26 additions & 49 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,61 +1,38 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
# Dependencies
node_modules
.pnp
.pnp.js
.yarn/install-state.gz

# testing
/coverage
# Local env files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# next.js
/.next/
/out/
# Testing
coverage

# production
/build
# Turbo
.turbo

# misc
.DS_Store
*.pem
# Vercel
.vercel

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Build Outputs
.next/
out/
build
dist

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
# Debug
npm-debug.log*

# Coders in Flow
.codersinflow
.vscode
.env
# Misc
.DS_Store
*.pem

# Coders in Flow
.venv
.codex
out
dist
*.vsix
.claude
CLAUDE.md
.claude/
.files
.files/
.git
*.log
*.tmp
__pycache__
*.pyc
.env.local
.next
.github
next-env.d.ts
7 changes: 0 additions & 7 deletions .husky/pre-commit

This file was deleted.

File renamed without changes.
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"tailwindCSS.experimental.configFile": "packages/ui/src/styles/globals.css"
}
32 changes: 31 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,31 @@
# SERP Tools
# shadcn/ui monorepo template

This template is for creating a monorepo with shadcn/ui.

## Usage

```bash
pnpm dlx shadcn@latest init
```

## Adding components

To add components to your app, run the following command at the root of your `web` app:

```bash
pnpm dlx shadcn@latest add button -c apps/web
```

This will place the ui components in the `packages/ui/src/components` directory.

## Tailwind

Your `tailwind.config.ts` and `globals.css` are already set up to use the components from the `ui` package.

## Using components

To use the components in your app, import them from the `ui` package.

```tsx
import { Button } from "@serp-tools/ui/components/button";
```
Loading