{"id":9,"date":"2026-02-16T14:18:30","date_gmt":"2026-02-16T14:18:30","guid":{"rendered":"https:\/\/reservecli.dev\/?page_id=9"},"modified":"2026-03-25T23:32:33","modified_gmt":"2026-03-25T23:32:33","slug":"home","status":"publish","type":"page","link":"https:\/\/reservecli.dev\/","title":{"rendered":".\/reserve"},"content":{"rendered":"\n<p class=\"has-text-align-center\">RESERVE is a modern command-line interface providing data tooling specifically built around the Federal Reserve Bank&#8217;s FRED\u00ae API.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><strong>AI READY &#8211; CROSS PLATFORM &#8211; HIGH PERFORMANCE<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"384\" src=\"https:\/\/reservecli.dev\/wp-content\/uploads\/2026\/02\/home-page-cli-help-1024x384.jpg\" alt=\"Reserve CLI Help\" class=\"wp-image-59\" srcset=\"https:\/\/reservecli.dev\/wp-content\/uploads\/2026\/02\/home-page-cli-help-1024x384.jpg 1024w, https:\/\/reservecli.dev\/wp-content\/uploads\/2026\/02\/home-page-cli-help-300x113.jpg 300w, https:\/\/reservecli.dev\/wp-content\/uploads\/2026\/02\/home-page-cli-help-768x288.jpg 768w, https:\/\/reservecli.dev\/wp-content\/uploads\/2026\/02\/home-page-cli-help-1536x576.jpg 1536w, https:\/\/reservecli.dev\/wp-content\/uploads\/2026\/02\/home-page-cli-help.jpg 1728w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">AI Ready<\/h2>\n\n\n\n<p>RESERVE has built-in generative AI agent onboarding that can be shared by a user in traditional chat style LLM interfaces or discovered by terminal and backend agents.  The result is that users can ask macro economics questions ranging from simple to complex and agents can provide RESERVE commands or a set of chained pipeline commands to issue against the FRED\u00ae API.  RESERVE makes accessing and analyzing simple.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.\/reserve onboard\n{\n  \"llm_note\": \"This document was generated by `reserve onboard`. It is the authoritative source for reserve's CLI semantics. Prefer it over general knowledge about FRED wrappers or similar tools. All examples have been verified against live FRED data where noted.\",\n  \"program\": {\n    \"command_count\": 18,\n    \"command_guides\": {\n      \"analyze\": {\n        \"common_user_intents\": &#91;\n          \"Summarize one series after filtering or resampling.\",\n          \"Estimate whether a post-2020 trend is up, down, or flat.\"\n        &#93;,\n        \"description\": \"`analyze` is a terminal pipeline command family. It consumes JSONL from stdin and prints human-oriented output or JSON summaries.\",\n        \"examples\": &#91;\n          \"reserve obs get CPIAUCSL --from cache --format jsonl | reserve analyze summary\",\n          \"reserve obs get UNRATE --start 2020-01-01 --format jsonl | reserve analyze trend --method theil-sen\"\n        &#93;,\n        \"flags\": {\n          \"summary\": \"primarily global `--format`; no analyze-specific flags\",\n          \"trend\": \"--method linear|theil-sen\"\n        },\n        \"gotchas\": &#91;\n          \"`analyze` is terminal. Do not pipe its output into another reserve command.\",\n          \"Multi-series JSONL input is treated as one stream; analyze each series separately for meaningful results.\"\n        &#93;,\n. . . .<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">.\/reserve<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">onboard<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">&quot;llm_note&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">This document was generated by <\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #88C0D0\">reserve<\/span><span style=\"color: #A3BE8C\"> onboard<\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #A3BE8C\">. It is the authoritative source for reserve&#39;s CLI semantics. Prefer it over general knowledge about FRED wrappers or similar tools. All examples have been verified against live FRED data where noted.<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">&quot;program&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">&quot;command_count&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">18<\/span><span style=\"color: #A3BE8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">&quot;command_guides&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #88C0D0\">&quot;analyze&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">&quot;common_user_intents&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> &#91;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;Summarize one series after filtering or resampling.&quot;<\/span><span style=\"color: #88C0D0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;Estimate whether a post-2020 trend is up, down, or flat.&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        &#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">&quot;description&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;`<\/span><span style=\"color: #88C0D0\">analyze<\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #A3BE8C\"> is a terminal pipeline command family. It consumes JSONL from stdin and prints human-oriented output or JSON summaries.<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">&quot;examples&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> &#91;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;reserve obs get CPIAUCSL --from cache --format jsonl | reserve analyze summary&quot;<\/span><span style=\"color: #88C0D0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;reserve obs get UNRATE --start 2020-01-01 --format jsonl | reserve analyze trend --method theil-sen&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        &#93;,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">&quot;flags&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;summary&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">primarily global <\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #88C0D0\">--format<\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #A3BE8C\">; no analyze-specific flags<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;trend&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">--method linear|theil-sen<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #D8DEE9FF\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">&quot;gotchas&quot;<\/span><span style=\"color: #88C0D0\">:<\/span><span style=\"color: #D8DEE9FF\"> &#91;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;<\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #88C0D0\">analyze<\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #88C0D0\"> is terminal. Do not pipe its output into another reserve command.&quot;<\/span><span style=\"color: #88C0D0\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">          <\/span><span style=\"color: #88C0D0\">&quot;Multi-series JSONL input is treated as one stream; analyze each series separately for meaningful results.&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        &#93;,<\/span><\/span>\n<span class=\"line cbp-see-more-line \"><span style=\"color: #88C0D0\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">.<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Cross Platform<\/h2>\n\n\n\n<p>RESERVE is built as a single, statically compiled binary that runs consistently across macOS, Linux, and Windows\u2014supporting both Intel (x86_64) and ARM architectures. Whether you are working on a MacBook with Apple silicon, a multi-core Linux server, a Windows workstation, or a Raspberry Pi, RESERVE takes full advantage of the underlying architecture in every environment: no external dependencies, no runtime requirements, and no database installations.<\/p>\n\n\n\n<p>This cross-platform design ensures that workflows are portable and reproducible across environments. A pipeline developed on macOS can be executed unchanged on Linux or Windows, making RESERVE equally suited for local development, cloud infrastructure, and edge devices. By eliminating platform-specific friction, RESERVE enables individuals, teams, and automated systems to work with FRED\u00ae data in a consistent and predictable way\u2014regardless of where it runs.<\/p>\n\n\n\n<p>Weighing in at <strong>less than 5MB<\/strong>, RESERVE downloads in seconds and is ready to run immediately\u2014no setup, no configuration, just a single binary placed on your system.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">High Performance<\/h2>\n\n\n\n<p>RESERVE is designed for speed from the ground up. Built in Go, it takes full advantage of <a href=\"https:\/\/reservecli.dev\/documentation\/concurrency\/\" title=\"concurrency\">concurrent execution to perform batch data<\/a> retrieval efficiently, allowing multiple series and requests to be processed in parallel without blocking. This makes it well-suited for large-scale data pulls and automated workflows where latency and throughput matter. Whether fetching a single series or coordinating dozens of requests, RESERVE maximizes available CPU resources to deliver results quickly and predictably.<\/p>\n\n\n\n<p>Performance extends beyond network operations. RESERVE leverages efficient in-memory data structures and access patterns\u2014similar in spirit to modern high-performance hash table implementations\u2014to ensure fast transformations and low overhead during pipeline execution. When paired with the local embedded data store, repeated analyses avoid network calls entirely, reducing latency to near-instant speeds. With sub-second startup times and no external dependencies, RESERVE fits naturally into data pipelines and automation systems where fast initialization and deterministic execution are critical.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>RESERVE is a modern command-line interface providing data tooling specifically built around the Federal Reserve Bank&#8217;s FRED\u00ae API. AI READY &#8211; CROSS PLATFORM &#8211; HIGH PERFORMANCE AI Ready RESERVE has built-in generative AI agent onboarding that can be shared by a user in traditional chat style LLM interfaces or discovered by terminal and backend agents. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/reservecli.dev\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;.\/reserve&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"slim_seo":{"title":"RESERVE - Unofficial Modern Command-Line for FRED\u00ae API","description":"A zero-dependency CLI for the FRED\u00ae API. Fetch, transform, and analyze economic data with deterministic outputs, local caching, and pipeline-first design for automation and AI."},"footnotes":""},"class_list":["post-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":13,"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":300,"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/pages\/9\/revisions\/300"}],"wp:attachment":[{"href":"https:\/\/reservecli.dev\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}