Skip to content

feat(cli): bounty subcommand with program config system#372

Open
syu-toutousai wants to merge 2 commits into
KeygraphHQ:mainfrom
syu-toutousai:feat/bounty-subcommand
Open

feat(cli): bounty subcommand with program config system#372
syu-toutousai wants to merge 2 commits into
KeygraphHQ:mainfrom
syu-toutousai:feat/bounty-subcommand

Conversation

@syu-toutousai

Copy link
Copy Markdown

Summary

Implements both issues in the Bug Bounty Mode epic:

Program Config System

  • ProgramConfig, StoredProgram, BountyConfig types
  • Fetches bounty program page from URL or file
  • LLM-based structured program parser
  • Persists/loads programs to ~/.shannon/programs/

Bounty CLI Subcommand

  • bounty start and bounty list commands
  • Wires scope rules from parsed program into PipelineInput as focus/avoid patterns
  • Injects _bounty-mode.txt prompt partial into agent context
  • Displays active campaign info in startup output

Worker Changes

  • Added BountyConfig type and bountyConfig field on PipelineInput
  • _bounty-mode.txt bounty mode behavior instructions

CLI Changes

  • Registered bounty command dispatch and help text
  • Added bountyConfig to WorkerOptions

Payment Info

PayPal: n6085530@gmail.com
SOL: 4txJLwLpzn1EHjsco11HxwDuTRa2ZRzqyyJgkJLBYid2
ETH: 0x0Ea690E8694F99FCB24958D0d0582576c4b51b5C

Closes #364
Closes #365

- Add ProgramConfig types, fetcher, LLM parser, and local store
- Implement bounty start/list/--help CLI subcommand
- Add _bounty-mode.txt prompt for careful bug bounty scanning
- Add BountyConfig type to PipelineInput in shared.ts
- Wire bounty config through Docker env for worker injection
- Update CLI help and dispatch to include bounty command
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cli): ./shannon bounty subcommand + scope injection + bounty-mode prompt feat(cli): program config system — fetch, parse, store

1 participant