Skip to content

feat: add crypto-market-movers template#262

Open
ngisaiah wants to merge 1 commit into
Lamatic:mainfrom
ngisaiah:crypto-market-movers
Open

feat: add crypto-market-movers template#262
ngisaiah wants to merge 1 commit into
Lamatic:mainfrom
ngisaiah:crypto-market-movers

Conversation

@ngisaiah

@ngisaiah ngisaiah commented Jul 17, 2026

Copy link
Copy Markdown

PR Checklist

1. Select Contribution Type

  • Kit (kits/<category>/<kit-name>/)
  • Bundle (bundles/<bundle-name>/)
  • Template (templates/<template-name>/)

2. General Requirements

  • PR is for one project only (no unrelated changes)
  • No secrets, API keys, or real credentials are committed
  • Folder name uses kebab-case and matches the flow ID
  • All changes are documented in README.md (purpose, setup, usage)

3. File Structure (Check what applies)

  • lamatic.config.ts present with valid metadata (name, description, tags, steps, author) — repo uses lamatic.config.ts, not config.json
  • Flow is a self-contained .ts file in flows/ (current repo convention — not the legacy config.json/inputs.json/meta.json per-flow folder structure)
  • N/A — .env.example only required for kits/bundles; this is a template with no env vars
  • No hand-edited flow node graph (genuine Lamatic Studio export)

4. Validation

  • N/A — templates have no apps/, nothing to npm install/npm run dev; flow validated via Lamatic Studio
  • PR title is clear (feat: add crypto-market-movers template)
  • GitHub Actions workflows pass
  • All CodeRabbit review comments addressed and resolved
  • No unrelated files or projects modified

Summary

  • Scheduled agent that pulls the top 100 cryptocurrencies from CoinGecko, deterministically ranks the five largest 24-hour gainers and losers in code, and uses an LLM to summarize the results into a daily Markdown report.
  • Ranking/filtering is handled by plain deterministic code (not the LLM) to avoid numerical hallucination risk; the LLM only formats the pre-ranked data.
  • Supersedes feat: add crypto-market-movers template #212 — same contribution, opened from a clean branch (single commit, no unrelated merge history).

Test plan

  • Verified null/invalid numeric fields (current_price, price_change_percentage_24h, total_volume) are correctly excluded from ranking via Number.isFinite strict checks (no Number() coercion of null into 0).
  • Confirmed diff is scoped to kits/crypto-market-movers/ only (10 files, 597 insertions).
  • Added the crypto-market-movers scheduled agent kit and supporting configuration.
  • Added documentation describing the daily CoinGecko market-movers reporting workflow, limitations, and guardrails.
  • Added default constitution and LLM prompts enforcing factual, data-only Markdown reporting without speculation or financial advice.
  • Added a deterministic ranking script that validates finite numeric fields and selects the five largest 24-hour gainers and losers.
  • Added model configuration for the generative text node.
  • Added the flow definition:
    • cron trigger runs daily at 9:00 AM America/New_York.
    • api node fetches the top 100 USD cryptocurrencies from CoinGecko.
    • code node validates, normalizes, and ranks market data.
    • llm node formats the pre-ranked results into the required Markdown report.
    • addNode provides a downstream attachment point.
  • Added local development ignores for Lamatic state, dependencies, and environment files.

Scheduled agent that pulls the top 100 cryptocurrencies from CoinGecko,
deterministically ranks the five largest 24-hour gainers and losers in
code, and uses an LLM to summarize the results into a daily report.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

:robot_face: AgentKit Structural Validation

New Contributions Detected

  • Template: kits/crypto-market-movers

Check Results

Check Status
No edits to existing kits ✅ Pass
Required root files present ✅ Pass
Flow .ts files present ✅ Pass
lamatic.config.ts valid ✅ Pass
No changes outside kits/ ✅ Pass

🎉 All checks passed! This contribution follows the AgentKit structure.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

Changes

The kit adds a scheduled CoinGecko workflow that validates and ranks market data in code, then formats the results through a constrained LLM report-generation step.

Crypto Market Movers pipeline

Layer / File(s) Summary
Kit contract and configuration
kits/crypto-market-movers/.gitignore, kits/crypto-market-movers/README.md, kits/crypto-market-movers/agent.md, kits/crypto-market-movers/constitutions/default.md, kits/crypto-market-movers/lamatic.config.ts
Defines the kit’s architecture, operating constraints, documentation, template metadata, and ignored local files.
Deterministic market ranking
kits/crypto-market-movers/scripts/crypto-market-movers_code-node-672_code.ts
Validates and normalizes CoinGecko data, selects the top five gainers and losers, formats values, and returns the ranked result object.
LLM report contract
kits/crypto-market-movers/prompts/*, kits/crypto-market-movers/model-configs/*
Configures the text model and specifies the fixed Markdown output format and data-handling restrictions.
Scheduled flow orchestration
kits/crypto-market-movers/flows/crypto-market-movers.ts
Connects the scheduled trigger, CoinGecko API request, ranking code node, LLM node, and downstream target through exported flow metadata, references, nodes, and edges.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title concisely names the crypto-market-movers template and matches the main change.
Description check ✅ Passed The description covers the checklist sections, summarizes the change, and explains the repo-specific deviations.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant