Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
d5994f6
epic-stack updater script
goodeats Oct 26, 2025
81253c2
fix the existing note image replacement (#1025)
wonu Jul 27, 2025
bc0a9b6
updated script
goodeats Oct 26, 2025
b3f7fb7
Added react-router-devtools to epic-stack (#1004)
AlemTuzlak May 5, 2025
a9083ad
updated script
goodeats Oct 26, 2025
622061b
043 decision (#1006)
AlemTuzlak May 6, 2025
b933e41
epic stack pr 1006
goodeats Oct 26, 2025
c808dd7
update dev tools
goodeats Oct 26, 2025
799992d
Version bump for react-router-devtools (#1008)
AlemTuzlak May 8, 2025
d2da495
name
goodeats Oct 26, 2025
fff4bb2
refactored to lib
goodeats Oct 26, 2025
40585cd
sorting commits
goodeats Oct 26, 2025
2b8c74b
update lib
goodeats Oct 26, 2025
becd0e2
package update
andrelandgraf May 27, 2025
e43d786
Update resend.svg (#1027)
anukmathew Jul 31, 2025
e7716a3
update
goodeats Oct 26, 2025
ad8632f
update
goodeats Oct 26, 2025
17188b4
enhance package conflict resolution
goodeats Oct 26, 2025
fd99a82
update
goodeats Oct 26, 2025
bc0e239
cli
goodeats Oct 26, 2025
de7e819
update
goodeats Oct 26, 2025
48a40b3
update
goodeats Oct 26, 2025
9a42850
update
goodeats Oct 26, 2025
2fd237d
chore: update reactrouter version (#1031)
mohammedzamakhan Aug 20, 2025
36d6c44
fix: restore Epic Stack tracking configuration
goodeats Oct 26, 2025
5f22685
update
goodeats Oct 26, 2025
f6df9b4
update packages
goodeats Oct 26, 2025
bd5e603
tests
goodeats Oct 26, 2025
1aaeda9
new scripts
goodeats Oct 26, 2025
8d3e410
changes
kettanaito Aug 25, 2025
aa60659
changes
goodeats Oct 26, 2025
9a5842c
update
goodeats Oct 26, 2025
8091db6
update
goodeats Oct 26, 2025
2a13ec1
fix: prevent user avatar from shrinking (#1035)
kettanaito Aug 25, 2025
d843ea5
update
goodeats Oct 26, 2025
efa92ea
Add seed database command to getting started doc (#1042)
denyomonogatari Sep 29, 2025
a346699
prevent assets fallthrough (#1045)
nichtsam Oct 2, 2025
748d226
cli
goodeats Oct 26, 2025
b7738cf
Fix note image duplication on navigate (#1047)
damiensedgwick Oct 7, 2025
a793d77
update head
goodeats Oct 26, 2025
23befdc
lint:fix
goodeats Oct 26, 2025
f127eb7
eslint
goodeats Oct 26, 2025
df70c83
fix types
goodeats Oct 26, 2025
0b6de25
update
goodeats Oct 26, 2025
43318ce
playwright
goodeats Oct 26, 2025
346b467
update
goodeats Oct 26, 2025
99e7644
fix
goodeats Oct 26, 2025
7c562a1
fix
goodeats Oct 26, 2025
91e7a41
fix
goodeats Oct 26, 2025
3a0d95e
sentry
goodeats Oct 26, 2025
a0e0d78
Add DEBUG PAT logging throughout test execution flow
goodeats Oct 26, 2025
9d83a54
Fix Sentry integration issues causing test failures
goodeats Oct 26, 2025
529bd22
update
goodeats Oct 26, 2025
c3a5a07
Fix server startup timeout in Playwright tests
goodeats Oct 26, 2025
d328907
Fix path-to-regexp wildcard pattern compatibility
goodeats Oct 26, 2025
dcf43f9
Fix path-to-regexp compatibility with named parameters
goodeats Oct 26, 2025
2960a5d
update
goodeats Oct 26, 2025
29e0de0
update
goodeats Oct 26, 2025
86ace50
Fix express-rate-limit IPv6 handling with ipKeyGenerator helper
goodeats Oct 26, 2025
043f232
Optimize Playwright config for CI: increase workers to 4, reduce retr…
goodeats Oct 26, 2025
46f3728
Remove excessive DEBUG logs from CI - remove DEBUG:* env and debug co…
goodeats Oct 26, 2025
b295cfc
Remove all DEBUG PAT console logs from monitoring.ts
goodeats Oct 26, 2025
79d4ecb
Remove all DEBUG PAT logs from test utilities
goodeats Oct 26, 2025
3d1bd62
Reduce workers to 2 to address test flakiness
goodeats Oct 26, 2025
4ec0ae8
Revert workers back to 1 for test stability
goodeats Oct 26, 2025
7b5eec8
skip tests
goodeats Oct 26, 2025
3ac23f9
.repos
goodeats Nov 22, 2025
3be5366
fix: configure ESLint and TypeScript for .repos.example files
goodeats Nov 22, 2025
fbfbaad
updated deploy
goodeats Nov 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .cursor/rules/golden-rules.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ Follow these rules when you prepare your responses:
- Feel free to ask questions first if you are confused or feel like it is important to bring up something before implementing.
- Feel free to ask follow-up questions after completing changes.


### Code Implementation Guidelines

Follow these rules when you write code:
Expand All @@ -38,4 +37,5 @@ Follow these rules when you write code:

## Finally

- At the end of each answer in the chat add "Golden Rules Applied 🫡" so the user knows you followed these rules.
- Sacrifice grammar for the sake of concision.
- At the end of each answer in the chat add "Golden Rules Applied 🫡" so the user knows you followed these rules.
184 changes: 184 additions & 0 deletions .cursor/rules/repo-examples.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
---
description: Rules for using example repositories from .repos/ directory for reference implementations
globs:
alwaysApply: true
---
# Example Repositories for Reference Implementations

This rule governs how to use the `.repos/` directory for cloning and referencing example repositories when implementing features.

## Purpose

When working on features or patterns, reference implementations from other projects can be helpful. The `.repos/` directory contains cloned repositories that demonstrate patterns, architectures, or implementations you want to reference.

## Workflow for AI Assistants

When working on a feature or pattern:

1. **Check the catalog first**: Search `.repos/catalog.csv` to see if relevant examples already exist
2. **Search the web if needed**: If no suitable examples exist, proactively suggest searching GitHub/GitLab for relevant repositories
3. **Clone and catalog**: When a useful repo is found, clone it and add it to the catalog using `catalogRepo()` from `.repos.example/repo-catalog.ts`
4. **Log usage**: Whenever you reference code from a cloned repo, log the interaction using `logRepoUsage()` from `.repos.example/repo-log.ts`

## Proactive Behavior

You should:

- **Proactively suggest** searching the web for relevant repository examples when the user is implementing features
- **Recommend cloning** helpful repositories into `.repos/` for future reference
- **Automatically catalog** repositories when they are cloned (see Repository Catalog section)
- **Log usage** whenever you reference code from cloned repositories (see Usage Logging section)
- **Reference the catalog** to find existing examples before suggesting new clones

## Repository Catalog

The repository catalog (`.repos/catalog.csv`) maintains metadata about each cloned repository for easy discovery and organization.

### Catalog Fields

- **dir**: Repository directory name
- **repoUrl**: Full Git URL for cloning
- **commitSha**: Git commit SHA when cloned (optional)
- **version**: Version/tag if applicable (optional)
- **dateAdded**: UTC timestamp when added to catalog
- **languages**: Array of programming languages used (e.g., `['TypeScript', 'JavaScript']`)
- **libraryType**: Type of repository:
- `component-library`: UI component libraries
- `framework`: Frameworks or meta-frameworks
- `utility`: Utility libraries or tools
- `full-project`: Complete applications
- `example`: Example implementations
- `boilerplate`: Starter templates
- `other`: Other types
- **isFullProject**: Boolean indicating if it's a complete application vs library/component
- **license**: License type (e.g., `MIT`, `Apache-2.0`) (optional)
- **creator**: Author/creator name or GitHub username (optional)
- **description**: Brief description of what the repo demonstrates (optional)
- **tags**: Additional tags for categorization (e.g., `['react', 'tailwind', 'ui-components']`) (optional)

### Using the Catalog Programmatically

```typescript
import { catalogRepo, readRepoCatalog, findReposByCriteria } from '.repos.example/repo-catalog'

// Catalog a newly cloned repository
catalogRepo({
dir: 'shadcn-ui',
repoUrl: 'https://github.com/shadcn-ui/ui.git',
commitSha: 'abc123...',
languages: ['TypeScript', 'TSX'],
libraryType: 'component-library',
isFullProject: false,
license: 'MIT',
creator: 'shadcn',
description: 'Re-usable components built with Radix UI and Tailwind CSS',
tags: ['react', 'tailwind', 'radix-ui', 'components'],
})

// Read all catalog entries
const allRepos = readRepoCatalog()

// Find repositories by criteria
const reactRepos = findReposByCriteria({
languages: ['TypeScript'],
libraryType: 'component-library',
tags: ['react'],
})
```

## Usage Logging

The usage log (`.repos/usage-log.csv`) tracks each time a repository is referenced, providing a history of what was useful for specific features.

### Usage Log Fields

- **timestamp**: UTC timestamp of when the repo was accessed
- **dir**: The repository directory name
- **action**: What action was taken (`clone`, `read`, `copy`, `reference`, `search`)
- **description**: Explanation of why the repo was used
- **repoUrl**: Git URL for re-cloning (optional)
- **filePath**: Specific file referenced (optional)
- **context**: What feature/task was being worked on (optional)

### Using the Usage Log Programmatically

```typescript
import { logRepoUsage } from '.repos.example/repo-log'

// Example: When cloning a new repo
logRepoUsage({
dir: 'shadcn-ui',
action: 'clone',
description: 'Cloned to reference button component implementation',
repoUrl: 'https://github.com/shadcn-ui/ui.git',
context: 'Building custom button component',
})

// Example: When reading/referencing a file
logRepoUsage({
dir: 'shadcn-ui',
action: 'read',
description: 'Referenced button.tsx for styling patterns',
repoUrl: 'https://github.com/shadcn-ui/ui.git',
filePath: 'components/ui/button.tsx',
context: 'Implementing button variants',
})

// Example: When copying code patterns
logRepoUsage({
dir: 'example-crud-app',
action: 'copy',
description: 'Copied data table pagination logic',
repoUrl: 'https://github.com/example/crud-app.git',
filePath: 'app/components/DataTable.tsx',
context: 'Adding pagination to dashboard table',
})

// Example: When referencing a repo for patterns/architecture
logRepoUsage({
dir: 'example-repo',
action: 'reference',
description: 'Used for implementing data table patterns',
repoUrl: 'https://github.com/example/repo.git',
filePath: 'src/components/Table.tsx',
context: 'Building dashboard data table',
})
```

### Available Actions

- `clone`: Repository was cloned
- `read`: Repository or file was read/referenced
- `copy`: Code was copied or adapted
- `reference`: Repository was referenced for patterns/architecture
- `search`: Repository was searched for specific patterns

## Cloning Repositories

When cloning repositories:

1. Clone into the `.repos/` directory:

```bash
cd .repos
git clone https://github.com/example/repo-name.git
```

2. After cloning, automatically catalog the repository using `catalogRepo()`

3. Log the clone action using `logRepoUsage()` with action `'clone'`

## Important Notes

- The `.repos/` directory is git-ignored, so cloned repositories won't be committed to your project
- The usage log (`.repos/usage-log.csv`) is git-ignored
- The catalog (`.repos/catalog.csv`) is git-ignored
- Use `.repos.example` as a template (this directory is checked into git)
- The setup script will copy `.repos.example` to `.repos` if it doesn't exist

## Enforcement

- Always check the catalog before suggesting new repository clones
- Always catalog newly cloned repositories
- Always log usage when referencing code from `.repos/` repositories
- Proactively suggest searching for example repositories when implementing new features
3 changes: 3 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,14 @@ jobs:

- name: 📊 Upload report
uses: actions/upload-artifact@v4
# Upload report even if tests fail or are canceled, so we can debug issues from artifacts
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
# Don't warn if report doesn't exist (e.g., tests were canceled before report generation)
if-no-files-found: ignore

container:
name: 📦 Prepare Container
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,6 @@ node_modules
# generated files
/app/components/ui/icons
.react-router/

# clone repos here to use as examples for coding with an LLM
.repos
Loading
Loading