Feat/add firefly iii cli#241
Open
joyous-coder wants to merge 9 commits intoHKUDS:mainfrom
Open
Conversation
Add Firefly III personal finance management CLI based on CLI-Anything spec. Features: - Account management (list, get, create, update, delete) - Transaction management (list, get, create, update, delete) - Budget, category, tag, bill, piggy bank management - Insights and reports (expense, income, transfer, overview) - Search transactions - Data export (accounts, transactions, budgets, categories) - System information - REPL interactive mode - JSON output support - Preset filtering (default, full, basic, budget, reporting, admin, automation) Technical details: - Stateless CLI mode (no Node residual process issues) - Pure Python implementation - Firefly III REST API v1 integration - Personal Access Token authentication - Python 3.10+ support Closes: resolves memory issues with MCP version by using stateless CLI approach
- Add comprehensive E2E tests for all API endpoints - Add CLI E2E tests for all commands - Fix test assertions to handle different API response formats - Test with real Firefly III instance (v6.6.1) - 37 tests total: 12 unit + 25 E2E (all passing)
Add 100+ new API methods covering: - Budgets, categories, tags, bills, piggy banks (full CRUD) - Autocomplete endpoints (13 types) - Currencies, recurrences, rules, rule groups - Summary, webhooks, charts - Available budgets, object groups, links, attachments - Configuration, preferences, users, user groups - Data operations (bulk, destroy, purge) Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add create/update/delete operations to: - budgets (with limits CRUD) - categories - tags - bills - piggy_banks (with events support) Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
New command groups: - autocomplete: 13 autocomplete endpoints - currencies: CRUD + exchange rates - recurrences: recurring transaction CRUD - rules: rule CRUD + test/execute - rule-groups: rule group CRUD + execute - summary: financial summary reports - webhooks: webhook CRUD + trigger Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- Register all new command groups in CLI entry point - Update SKILL.md with complete API coverage documentation - Add usage examples for all new features Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
- Unit tests: backend method existence, CLI structure, output formatting - E2E tests: all command groups with real Firefly III instance - 93 total test cases covering all new functionality Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Collaborator
|
Thanks for the Firefly III harness. Before merge, the default REPL needs to actually dispatch commands; right now it parses input and prints The harness also needs a |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add Firefly III personal finance management CLI based on CLI-Anything specification. Converts MCP mode to stateless CLI mode to avoid Node residual process issues.
Fixes #
Type of Change
For New Software CLIs (in-repo)
<SOFTWARE>.mdSOP document exists at<software>/agent-harness/<SOFTWARE>.mdSKILL.mdexists atskills/cli-anything-<software>/SKILL.mdSKILL.mdexists atcli_anything/<software>/skills/SKILL.mdcli_anything/<software>/tests/test_core.pyare present and pass without backendcli_anything/<software>/tests/test_full_e2e.pyare presentREADME.mdincludes the new software (with link to harness directory)registry.jsonincludes an entry withsource_url: null(see Contributing guide)repl_skin.pyinutils/is an unmodified copy from the pluginFor New Software CLIs (standalone repo)
pip install <package-name>or apip install git+https://...URLSKILL.mdexists in the external reporegistry.jsonentry includessource_urlpointing to the external reporegistry.jsonentry includesskill_mdwith full URL to the external SKILL.mdinstall_cmdinregistry.jsonworks (tested locally)For Existing CLI Modifications
python3 -m pytest cli_anything/<software>/tests/test_core.py -vpython3 -m pytest cli_anything/<software>/tests/test_full_e2e.py -vregistry.jsonentry is updated if version, description, or requirements changedGeneral Checklist
--jsonflag is supported on any new commandsfeat:,fix:,docs:,test:)Test Results