Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
a646f11
progress
superhvarn Sep 24, 2025
60954c7
#3604 new tab
superhvarn Sep 25, 2025
a6d160d
filtering
superhvarn Oct 6, 2025
d404ea8
Merge branch 'develop' into 3604-maintenence---tracking-spending-on-p…
superhvarn Oct 6, 2025
0e5d66f
only considering reimbursement requests
superhvarn Oct 6, 2025
309ee76
linting
superhvarn Oct 6, 2025
22f2487
Merge branch 'develop' into 3604-maintenence---tracking-spending-on-p…
chpy04 Oct 21, 2025
2b97432
progress
superhvarn Oct 29, 2025
fbbc94d
bolt
chpy04 Nov 1, 2025
daffec2
#3661 added seed data for blocked items
rbessin Dec 9, 2025
f2a8a58
#3661 fixed duplication issues
rbessin Dec 10, 2025
48e6654
merge with dev
chpy04 Dec 13, 2025
cf2047d
#3604 finishing touches
superhvarn Dec 19, 2025
c8aa259
#3604 prettier
superhvarn Dec 19, 2025
0275106
Merge branch 'develop' into slack-rr-integrations
chpy04 Dec 21, 2025
3dc5ef3
emphemeral messages
chpy04 Dec 22, 2025
bbee16b
abstract ephemeral msg function
chpy04 Dec 22, 2025
4765adf
optional slack secret
chpy04 Dec 22, 2025
f7d7818
lazy load slack client for testing
chpy04 Dec 23, 2025
ccd5b37
remove unfinished guides
chpy04 Dec 23, 2025
d9883e3
finance hot fix
chpy04 Dec 23, 2025
cf7775d
#3951 duplicate project budget fix
cielbellerose Feb 5, 2026
08547c8
#3951 get team type budget double counting fix
cielbellerose Feb 5, 2026
581aff8
#3942: add dropdown
hayliepedersen Feb 6, 2026
38fbb29
Fix Diff for New Project Change Requests
Peyton-McKee Feb 8, 2026
a19203c
lint
Peyton-McKee Feb 8, 2026
9e964a9
#3942: update select fix styling
hayliepedersen Feb 12, 2026
2813eb3
#3951 date deleted addition
cielbellerose Feb 12, 2026
732540d
Merge pull request #3952 from Northeastern-Electric-Racing/#3951-fina…
chpy04 Feb 14, 2026
f685d99
calendar tab undefined tab title fix
chpy04 Feb 15, 2026
b8c9f3c
making most calendar fields optional to not block users
chpy04 Feb 15, 2026
0d28470
Merge pull request #3963 from Northeastern-Electric-Racing/new-projec…
chpy04 Feb 15, 2026
1a9aa1d
different pie chart groups and accurate finance information
chpy04 Feb 16, 2026
62e0944
slack fails silently so endpoints don't fail bc of external api
chpy04 Feb 18, 2026
188b591
notify teams for events and permissions bug fix
chpy04 Feb 18, 2026
a81ffb6
Merge branch 'documentation' into develop
chpy04 Feb 18, 2026
d2069fd
guest check on event creation bug
chpy04 Feb 18, 2026
12b3c10
#3978 finished building static documentation site
rbessin Feb 18, 2026
3745556
#3978 modified port for documentation site
rbessin Feb 18, 2026
f59e15a
spacing fix
Steph375 Feb 19, 2026
442736b
addin flexible spacing
Steph375 Feb 19, 2026
af21148
merge with documentation
chpy04 Feb 19, 2026
801da27
calendar week view
chpy04 Feb 19, 2026
97716be
Merge branch 'develop' into 3961-overlaping-icon-fix
Steph375 Feb 19, 2026
74648e3
Merge branch 'develop' into 3958-calendar-time-spacing
Steph375 Feb 19, 2026
e2d0ed7
week / month calendar button
chpy04 Feb 20, 2026
b2f9d4b
Merge pull request #3968 from Northeastern-Electric-Racing/#3942-upda…
chpy04 Feb 20, 2026
7fd437e
Merge pull request #3980 from Northeastern-Electric-Racing/3958-calen…
chpy04 Feb 20, 2026
7720083
Merge pull request #3981 from Northeastern-Electric-Racing/3961-overl…
chpy04 Feb 20, 2026
c74f833
Merge branch 'develop' into #3661-Gantt-Chart-Items-Duplicating
chpy04 Feb 21, 2026
99960bd
#3661 unmount arrows when dropdown closes and got rid of duplicate el…
chpy04 Feb 21, 2026
2e13410
Merge pull request #3823 from Northeastern-Electric-Racing/#3661-Gant…
chpy04 Feb 21, 2026
79105b3
scheduling events marks confirmed users as busy during that time
chpy04 Feb 21, 2026
4abc205
Merge branch 'develop' into 3604-maintenence---tracking-spending-on-p…
chpy04 Feb 21, 2026
6d9e8bc
better looking spending bar and shared datagrid
chpy04 Feb 21, 2026
5387479
Merge pull request #3638 from Northeastern-Electric-Racing/3604-maint…
chpy04 Feb 21, 2026
ab4ed5f
merge with dev
chpy04 Feb 21, 2026
7734f80
updated yarn lock with slack dependencies
chpy04 Feb 21, 2026
585e328
slack integrations work with esm and run on start
chpy04 Feb 21, 2026
16563e6
Merge pull request #3839 from Northeastern-Electric-Racing/slack-rr-i…
chpy04 Feb 21, 2026
5e14e68
Merge branch 'develop' into calendar-week-view
chpy04 Feb 21, 2026
f60c8e2
next not last meeting in series for my upcoming meetings
chpy04 Feb 22, 2026
27ea5a6
prettier for weekly calendar view
chpy04 Feb 22, 2026
7211a8e
object destructuring for calendar week view
chpy04 Feb 22, 2026
4cc9863
Merge pull request #3983 from Northeastern-Electric-Racing/calendar-w…
chpy04 Feb 22, 2026
730ac9c
#3978 modified architecture to use docs as the main source of truth
rbessin Feb 24, 2026
de5e220
Merge remote-tracking branch 'origin' into docs-site-setup
rbessin Feb 24, 2026
1606aec
#3978 fixed file formatting issues
rbessin Feb 24, 2026
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
*.env
.agent

# Generated Claude skills (source is docs-site/docs/)
.claude/skills/

npm-debug.log*
yarn-debug.log*
yarn-error.log*
Expand Down
23 changes: 23 additions & 0 deletions docs-site/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Dependencies
node_modules/
/.pnp
.pnp.js

# Production
/build

# Generated files
.docusaurus
.cache-loader
sidebars.js

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
283 changes: 283 additions & 0 deletions docs-site/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,283 @@
# FinishLine Documentation Site

This directory contains the Docusaurus-based documentation site for FinishLine developers.

## Architecture

**Source of Truth:** `docs-site/docs/` contains all developer documentation in standard Docusaurus markdown format.

**Claude AI Integration:** Documentation files flagged with `skill: true` in their frontmatter are automatically synced to `.claude/skills/` for Claude AI to use as context when helping with development.

### Workflow

1. **Developers edit**: `docs-site/docs/` (tracked in Git)
2. **Run sync**: `yarn skills:sync` generates `.claude/skills/` (gitignored)
3. **Claude reads**: `.claude/skills/` to understand the codebase

This approach allows us to:

- Maintain comprehensive documentation for developers
- Selectively sync relevant docs to Claude's skills
- Have docs-only content (deployment, architecture) that Claude doesn't need

## Prerequisites

- Node.js 18 or higher
- Yarn package manager (this project uses Yarn workspaces)

## Setup

The docs-site is part of the FinishLine monorepo workspace. Dependencies are managed from the root:

```bash
# From the FinishLine root directory
yarn install
```

This will install all dependencies for docs-site along with the rest of the project.

## Development

### Running the documentation site locally:

**From the root directory:**

```bash
yarn docs:dev
```

**Or from within docs-site:**

```bash
cd docs-site
yarn start
```

The Docusaurus development server will start at `http://localhost:3002`.

The site will automatically reload when you edit files in `docs/`.

## Building for Production

To create a production build:

**From root:**

```bash
yarn docs:build
```

**Or from docs-site:**

```bash
cd docs-site
yarn build
```

The static site will be generated in the `build/` directory.

To test the production build locally:

```bash
yarn docs:serve
```

## Syncing Skills for Claude

After editing documentation that should be available to Claude:

```bash
yarn skills:sync
```

This command:

1. Scans all files in `docs/` for `skill: true` in frontmatter
2. Transforms them to Claude's SKILL.md format
3. Writes them to `.claude/skills/` (gitignored)

**When to sync:**

- After adding or editing documentation flagged as a skill
- Before using Claude for development (to ensure it has latest context)
- Can be automated in a pre-commit hook if desired

## Project Structure

```
docs-site/
├── docs/ # Source of truth - developer documentation
│ ├── intro.md
│ └── general-practices/
│ ├── backend-endpoints.md
│ └── ...
├── scripts/
│ ├── sync-skills.js # Generate .claude/skills/ from docs/
│ └── generate-sidebar.js # Auto-generate sidebars.js from docs/ structure
├── src/
│ ├── css/
│ │ └── custom.css # Custom styling
│ └── pages/
│ └── index.js # Homepage redirect
├── static/
│ └── img/ # Static assets (logos, favicon)
├── docusaurus.config.js # Docusaurus configuration
├── sidebars.js # Auto-generated sidebar (gitignored)
└── package.json # Dependencies and scripts
```

## Adding New Documentation

### For All Documentation (Developers):

1. **Create a new markdown file** in `docs/`:

```bash
docs/deployment/github-actions.md
```

2. **Add frontmatter:**

```yaml
---
title: GitHub Actions Deployment
description: Guide for deploying FinishLine using GitHub Actions
skill: false # This is docs-only, not a Claude skill
---
```

3. **Test it:**
```bash
yarn docs:dev
```

The sidebar will be automatically generated from the folder structure!

### For Documentation That Should Be a Claude Skill:

1. **Create the markdown file** as above

2. **Use `skill: true` in frontmatter:**

```yaml
---
title: Backend Endpoints
description: Guide for creating API endpoints
skill: true
skill_name: backend-endpoints # Maps to folder name in .claude/skills/
---
```

3. **Sync to Claude:**
```bash
yarn skills:sync
```

The sidebar will be automatically generated!

### Organizing Documentation

The sidebar navigation is **automatically generated** from the `docs/` folder structure:

- **Reorder pages**: Rename files (alphabetical order is used)
- **Create categories**: Create nested folders in `docs/`
- **Change labels**: Folder names become category labels (use hyphens: `my-category`)

The sidebar regenerates automatically when you run `yarn docs:dev` or `yarn docs:build`.

You can also manually regenerate it:
```bash
yarn generate-sidebar
```

## Frontmatter Fields

All documentation files should have frontmatter:

| Field | Required | Purpose | Example |
| ------------- | ------------- | ------------------------------ | ---------------------------------- |
| `title` | Yes | Page title | `Backend Endpoints` |
| `description` | Yes | Page description | `Guide for creating API endpoints` |
| `skill` | Yes | Should sync to Claude? | `true` or `false` |
| `skill_name` | If skill:true | Folder name in .claude/skills/ | `backend-endpoints` |

## Customization

### Navbar and Footer

Edit `docusaurus.config.js` to customize:

- Site title and tagline
- Navbar links
- GitHub repository links
- Production URL

### Styling

Edit `src/css/custom.css` to customize:

- Primary colors (currently set to NER red: #ef4345)
- Dark mode colors
- Font sizes and spacing
- Custom component styles

### Sidebar Navigation

The sidebar is **automatically generated** from the `docs/` folder structure. To customize it:

- **Reorder pages**: Rename files (alphabetical sorting)
- **Create categories**: Create nested folders in `docs/`
- **Change labels**: Folder names become category labels (use hyphens: `my-category`)

The sidebar regenerates each time you run `yarn docs:dev` or `yarn docs:build`.

## Troubleshooting

### Documentation not updating

If your changes aren't appearing:

1. Stop the dev server (Ctrl+C)
2. Clear the cache: `yarn clear`
3. Run `yarn docs:dev` again

### Build errors

Common issues:

- **Node version**: Ensure you're running Node.js 18 or higher
- **Dependencies**: From the root directory, try `rm -rf docs-site/node_modules && yarn install`
- **Port conflict**: Docs run on port 3002. If it's in use, Docusaurus will try another port or you can stop the conflicting process

### Skills not syncing

If `yarn skills:sync` doesn't generate expected skills:

- Verify the doc has `skill: true` in frontmatter
- Verify `skill_name` is set for all docs with `skill: true`
- Check the console output for warnings
- Ensure `.claude/skills/` is gitignored (it will be regenerated)

## Future Enhancements

Potential improvements for future iterations:

- **Public deployment**: Deploy to GitHub Pages or Vercel
- **Search functionality**: Add DocSearch or local search plugin
- **Versioning**: Support documentation for multiple FinishLine versions
- **Interactive components**: Add live code examples or API explorers
- **Automated sync**: Pre-commit hook to run skills:sync automatically

## Contributing

When contributing to the documentation:

1. Edit markdown files in `docs-site/docs/`
2. Test your changes locally with `yarn docs:dev` (sidebar auto-generates)
3. If you edited a skill doc (`skill: true`), run `yarn skills:sync`
4. Ensure the site builds successfully with `yarn docs:build`
5. Submit a PR with your documentation changes

## License

This documentation is part of the FinishLine project, licensed under GNU AGPLv3.
3 changes: 3 additions & 0 deletions docs-site/babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
Loading