-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
BLUECARBONS Digital Agency edited this page Jul 3, 2026
·
1 revision
- Node.js ≥ 22.5.0
- pnpm (
corepack enablethencorepack prepare pnpm@9.15.4 --activate) - A GitHub account with push access (or a fork)
git clone https://github.com/bluecarbons/agentic-rss-parser.git
cd agentic-rss-parser
pnpm install
pnpm test # must be 61 passing before you startmain ← always green, deployable
└── sprint-N-pN-description ← feature / fix branch
└── chore/description ← non-functional changes
└── docs/description ← documentation only
- Branch from
main - Write code + tests
- Run
pnpm testandpnpm lint— both must pass - Open a PR against
main - Squash-merge with a conventional commit title
<type>(<scope>): <short description>
Closes #<issue>
Types: feat, fix, chore, docs, test, refactor, perf
Examples:
fix(storage): honour item.processedAt in markProcessed
feat(parser): add maxItems config to runAgenticParser
docs(wiki): add Storage Adapters page
-
pnpm testpasses (61/61) -
pnpm lintpasses - New behaviour has at least one test
- No timing-dependent tests (use
processedAtbackdate pattern) - TypeScript declarations updated if public API changed (
src/index.d.ts) -
package.jsonversion bumped if releasing (semver: patch/minor/major)
This project follows Semantic Versioning:
| Change | Bump |
|---|---|
| Bug fixes, internal refactors | patch (1.4.0 → 1.4.1) |
| New backwards-compatible API | minor (1.4.0 → 1.5.0) |
| Breaking changes | major (1.4.0 → 2.0.0) |
import { createStorage } from 'agentic-rss-parser';
const storage = createStorage('./data/rss-agent.db');
const { deletedItems, deletedAnalyses } = storage.pruneOlderThan(30); // 30-day TTL
console.log(`Pruned ${deletedItems} items, ${deletedAnalyses} analyses`);
storage.close();Run this as a scheduled job (cron, GitHub Actions scheduled workflow, etc.) to keep the DB size bounded.
# 1. Bump version in package.json
# 2. Update CHANGELOG.md
# 3. Commit and push to main
# 4. Publish
pnpm release:pnpm # publishes to npm via pnpm
# or
pnpm release:npmpnpm update
pnpm test # verify nothing broke- Add the provider string to
SUPPORTED_PROVIDERSin bothsrc/adapters/provider.jsandsrc/mcp/server.js - Add a dispatch branch in
createAnalyzer() - Add the value to the
providerenum insrc/index.d.ts - Add a test in an appropriate test file
- Document it in
wiki/Configuration.mdandwiki/API-Reference.md