Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 1.49 KB

CONTRIBUTING.md

File metadata and controls

47 lines (31 loc) · 1.49 KB

Contributing

CLI is intended to be easy to fork and customize.

Local Setup

git clone https://github.com/<your-username>/cli-ticker.git && cd cli-ticker && ./cli run

Requirements:

  • macOS
  • Xcode Command Line Tools
  • Python 3 with Pillow, only for ./cli icons

Every project command goes through ./cli (./cli help lists them). Before opening a pull request, run:

./cli test && ./cli build

See docs/customizing.md for the project layout.

Development Notes

  • The working app is the Objective-C/AppKit target in Sources/CLITickerObjC/main.m.
  • InventoryService owns local package-manager scanning.
  • MenuController owns the menu bar UI and launch/report actions.
  • Logos live in Assets/Logos.
  • App/menu icons are generated by scripts/generate_icon_assets.py.

Versioning

The version lives only in the VERSION file. The Makefile, the app bundle, and the Release workflow all read it. To release, bump VERSION on main, then push the matching tag (git tag v$(./cli version) && git push origin v$(./cli version)). The Release workflow fails if the tag and VERSION disagree, and CI fails if VERSION is behind the latest release.

Pull Requests

Good first improvements:

  • Add support for more package managers.
  • Add more agent-tool aliases and icons.
  • Improve report formatting.
  • Add signed/notarized release automation.
  • Add opt-in remote release feeds.

Please keep scanning behavior privacy-preserving and local-first by default.