This project uses GitHub Actions for CI/CD and AI-powered automation.
- Trigger: Push to main/master, PRs
- What: Builds the library and demo, runs TypeScript checks across Node 20/22/24
- Trigger: Push to main/master, manual
- What: Builds the Vite demo app and deploys to GitHub Pages
- Trigger: GitHub Release published, or manual with version bump selector
- What: Builds the library and publishes
@fiojs/react-circular-sliderto npm with provenance
The independent Publish Angular package workflow (publish-angular.yml) publishes @fiojs/ng-circular-slider from master. It has its own version bump selector and builds the Angular distribution before publishing. Its publishing token must also allow the Angular package.
- Trigger: Issue labeled
ai-fix, or manual with issue number - What: Reads the issue, sends source code + issue context to an AI model, applies suggested fixes, verifies the build, and opens a PR
- Flow:
- New issue opened → auto-triage adds
ai-fixlabel for bugs - AI agent analyzes the issue against the full source code
- AI returns file patches → applied to a branch
- Build is verified
- PR is opened linking to the issue
- Bot comments on the issue with status
- New issue opened → auto-triage adds
- Trigger: Weekly (Monday 09:00 UTC), or manual
- What: AI reviews the codebase and suggests one focused improvement (performance, a11y, type safety, cleanup)
- Safeguard: Skips if there's already an open AI improvement PR
- Trigger: New issue opened
- What: Analyzes issue title/body and auto-adds labels (
bug,enhancement,accessibility,typescript,ai-fix)
| Secret | Required For | How to Get |
|---|---|---|
NPM_TOKEN |
npm publish; must allow writing @fiojs/react-circular-slider |
npm tokens |
ANTHROPIC_API_KEY |
AI workflows (default) | Anthropic Console |
OPENAI_API_KEY |
AI workflows (alternative) | OpenAI Platform |
The publishing npm account must have access to the fiojs organization. A token scoped only to the previous @fseehawer package cannot publish the new package. The first public release is @fiojs/react-circular-slider@3.3.8.
| Variable | Default | Description |
|---|---|---|
AI_PROVIDER |
anthropic |
AI provider: anthropic or openai |
All four demos are built by npm run build-demo on Node 24.15+. React is at the site root, with Angular, Vue, and Web Component demos in their own subdirectories. The Angular 22 Signal Forms demo has its own dependencies under angular/demo, separate from the backward-compatible library compiler. CI runs geometry, server-rendering, browser, and installed-consumer checks. See FRAMEWORKS.md for installation, development, and independent release commands.
- Go to Settings → Pages
- Keep Source set to Deploy from a branch, using
gh-pagesand/ (root), to support thenpm run gh-pagesscript. - Go to Settings → Environments → github-pages. Under Deployment branches and tags, choose Selected branches and tags and allow the branches
masterandgh-pages.
These environment rules also allow the existing GitHub Actions workflow to deploy from master. Without them, Pages only accepts deployments from its configured source branch, and the workflow fails even when the script deployment succeeds.
- Add secrets in your repo: Settings → Secrets and variables → Actions → New repository secret
- Add variables (optional): Settings → Secrets and variables → Actions → Variables tab
- Enable GitHub Pages using the source branch and environment rules above
- Push to master — CI and demo deployment will run automatically
All workflows support workflow_dispatch (manual trigger) from the Actions tab:
- AI Issue Fixer: Enter an issue number to analyze
- AI Improve: Run on-demand instead of waiting for the weekly schedule
- Publish: Select a version bump type (patch/minor/major)
- Deploy Demo: Re-deploy the demo page
The AI agent (.github/scripts/ai-agent.js) works in two modes:
Issue opened → Read issue + comments → Bundle source code →
AI analyzes & returns JSON patches → Apply patches → Verify build → Open PR
Weekly schedule → Bundle source code → AI suggests improvement →
Apply patches → Verify build → Open PR
The agent supports both Anthropic (Claude) and OpenAI (GPT-4o) as backends, configured via the AI_PROVIDER repository variable.