RepoPulse is a modern dashboard for monitoring, managing, and triggering CI/CD pipelines and Renovate PRs across multiple repositories in Azure DevOps.
It provides a beautiful, unified UI for DevOps teams to track repository health, automate dependency updates, and manage build pipelines.
-
Repository Dashboard:
- View all configured repositories and their pipeline status.
- Trigger CI pipelines for individual repositories or all at once.
- Direct links to repository pages and build pipelines.
-
Renovate PR Management:
- List and manage Renovate bot pull requests across all repositories.
- Publish (activate) draft PRs with a single click.
- See affected repositories for each PR, with direct links to PRs and build pipelines.
- Trigger builds for any repository directly from the PR card.
-
Settings & Configuration:
- View and edit all configuration (Azure DevOps, repositories, Renovate) via a user-friendly form.
- Download or copy your config as JSON.
- Add/remove repositories and update pipeline settings without leaving the UI.
-
Status Indicators:
- Visual status badges for build and PR states (success, failed, running, etc.).
- Tooltips and icons for quick status recognition.
- Configuration is now stored securely in your browser's localStorage.
- You must import a config.json file or create one manually via the Settings page.
- Your configuration is private and never leaves your browser unless you explicitly download or share it.
How to get started:
- On first launch, you will be prompted to import a
config.jsonor create one manually. - You can always download, edit, or re-import your config from the Settings page.
- The config is only accessible to you and is not exposed to the public or to the server.
Example config:
{
"azureDevOps": {
"baseUrl": "https://dev.azure.com/your-org",
"organization": "your-org",
"personalAccessToken": "<YOUR_PERSONAL_ACCESS_TOKEN>"
},
"repositories": [
{
"name": "Repo1",
"url": "/your-org/your-project/_git/Repo1",
"pipelineId": "123",
"branch": "main",
"project": "Project1"
},
{
"name": "Repo2",
"url": "/your-org/your-project/_git/Repo2",
"pipelineId": "456",
"branch": "develop",
"project": "Project2"
}
],
"renovate": {
"botName": "renovate[bot]"
}
}- baseUrl: Your Azure DevOps base URL (usually
https://dev.azure.com/your-org) - personalAccessToken: Required for all API calls. Never expose this in production frontend code!
- repositories: List of repos to manage, with their pipeline IDs and default branches.
- renovate: Renovate bot settings.
Do NOT expose your Personal Access Token (PAT) in production frontend code.
Azure DevOps REST APIs do not support CORS, so all API calls requiring a PAT must be proxied through a secure backend.
-
Clone the repository:
git clone https://github.com/mberrishdev/repo-pulse cd repo-pulse -
Install dependencies:
npm install
-
Configure your Azure DevOps and repositories:
- Edit
public/config.jsonwith your organization, project, PAT, and repositories.
- Edit
-
Start the development server:
npm run dev
-
Open http://localhost:5173 in your browser.
-
Repositories:
Monitor and trigger CI pipelines for all configured repositories. -
Renovate:
Manage Renovate PRs, publish drafts, and trigger builds for affected repositories. -
Settings:
Edit, add, or remove repositories and Azure DevOps settings. Download or copy your config.
-
Add/Remove Repositories:
Use the Settings page to manage your repository list and pipeline settings. -
Change Azure DevOps Settings:
Update organization, project, or PAT in the Settings page. -
Edit Renovate Settings:
Enable/disable Renovate integration and set the bot name.
- You must use a backend to proxy Azure DevOps API calls.
This app is designed for internal/dev use or with a secure backend proxy.
MIT
If you have questions or need help, open an issue or contact the maintainer.
The app will be available at [http://localhost:5050](http://localhost:5050).
---