Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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: 1 addition & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
github: [TU_USUARIO_GITHUB]

github: [Milborne]
3 changes: 1 addition & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,4 @@ body:
id: version
attributes:
label: RepoPulse version
placeholder: v0.1.0

placeholder: v1.1.0
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,3 @@ body:
description: Describe the check, scoring change, or report improvement.
validations:
required: true

3 changes: 1 addition & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
## Summary

-
-

## Checklist

- [ ] Tests were added or updated when needed.
- [ ] Documentation was updated when behavior changed.
- [ ] The change keeps RepoPulse free of paid external service dependencies.

11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weekly

- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
50 changes: 50 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: CI

on:
pull_request:
push:
branches:
- main

permissions:
contents: read

jobs:
test:
name: Lint, test, and build
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: npm

- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint

- name: Check formatting
run: npm run format:check

- name: Run tests
run: npm test

- name: Build action
run: npm run build

- name: Run local action
uses: ./
with:
min-score: 70
fail-on-missing: false
format: json

- name: Verify committed bundle
run: git diff --exit-code dist/index.js
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules/
dist/
coverage/
4 changes: 4 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 110,
"trailingComma": "none"
}
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Changelog

All notable changes to RepoPulse are documented in this file.

## Unreleased

No unreleased changes yet.

## v1.1.0 - 2026-05-21

- Add robust content validation for community files and README sections.
- Add configurable strict mode, exclusions, custom weights, output formats, JSON output, and job summary support.
- Add CI, Dependabot, linting, formatting checks, and expanded tests.

## v1.0.1 - 2026-05-20

- Use a unique Marketplace action name: `RepoPulse Open Source Health Audit`.
- Publish the initial stable action release.

## v1.0.0 - 2026-05-20

- Add the initial RepoPulse GitHub Action.
- Check core community files and README sections.
- Calculate a 0 to 100 repository health score.
- Support `min-score` workflow failure behavior.
1 change: 0 additions & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,3 @@ RepoPulse is built for maintainers and contributors who want clear, practical co
## Enforcement

Maintainers may remove comments, close discussions, or restrict participation when behavior harms the project or its contributors. Serious issues can be reported privately through the security contact listed in SECURITY.md.

55 changes: 44 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,59 @@ Thanks for helping improve RepoPulse.
## Local Setup

```bash
npm install
npm ci
npm run lint
npm run format:check
npm test
npm run build
```

## Development Flow
Use `npm run check` before opening a pull request. It runs linting, formatting checks, tests, and the build. CI runs on Node 24, matching the action runtime declared in `action.yml`.

1. Create a branch for your change.
2. Keep changes focused and easy to review.
3. Add or update tests for scoring, parsing, or reporting behavior.
4. Run `npm test` and `npm run build` before opening a pull request.
5. Update README.md when inputs, scoring, or output changes.
## Project Structure

- `src/checks.ts` defines check metadata, IDs, default weights, and README section aliases.
- `src/audit.ts` validates repository content and calculates scores.
- `src/config.ts` parses action inputs.
- `src/report.ts` renders text, Markdown, and JSON reports.
- `src/index.ts` connects the audit engine to `@actions/core`.
- `tests/` contains fast unit tests with temporary repositories.

## Changing Checks

When adding or changing a check:

1. Add or update the check definition in `src/checks.ts`.
2. Implement validation in `src/audit.ts`.
3. Add focused tests for pass, fail, and edge cases.
4. Update README inputs, scoring, and check ID documentation when behavior changes.
5. Run `npm run build` and commit the updated `dist/index.js`.

Keep checks local and deterministic. Do not add paid APIs or network-dependent behavior.

## Pull Requests

Pull requests should include:

- A short summary of the change.
- Any relevant screenshots or console output for report changes.
- Notes about compatibility or scoring changes.
- a short summary of the user-facing change;
- tests for scoring, parsing, validation, or reporting changes;
- documentation updates for changed inputs, outputs, checks, or release behavior;
- notes about compatibility or scoring changes.

## Dependabot Updates

Dependabot updates should pass CI before merging. For runtime dependency updates, rebuild `dist/index.js` and verify that generated output is committed.

## Release Checklist

RepoPulse does not use paid external APIs. Please keep new checks local and deterministic.
1. Update `CHANGELOG.md`.
2. Confirm `package.json` and `package-lock.json` match the intended version.
3. Run `npm ci`.
4. Run `npm run check`.
5. Run `npm audit --audit-level=moderate`.
6. Commit `dist/index.js` if it changed.
7. Create an immutable tag such as `v1.0.2`.
8. Move the major tag, such as `v1`, to the new release.
9. Publish the GitHub release.

GitHub Marketplace requires the action repository used for publication to not contain workflow files. This repository keeps CI in `.github/workflows` for maintainability. Publish Marketplace releases from a release branch or mirror that omits `.github/workflows` while preserving `action.yml`, `dist/index.js`, docs, and required project files.
Loading