Class: Fp::Commands::Help
Overview
fp help
Instance Method Summary collapse
Methods inherited from Base
Constructor Details
This class inherits a constructor from Fp::Commands::Base
Instance Method Details
#run(_args) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/fp/commands/help.rb', line 7 def run(_args) puts <<~HELP fp - FeatureParity CLI for agents USAGE fp <command> [flags] COMMANDS projects List projects you have access to surfaces --project <slug> List surfaces for a project list --project <slug> List active requirements show <slug> --project <slug> Show requirement details propose --project <slug> ... Propose a new requirement (as draft) report <slug> --project <slug>... Report evidence for a requirement matrix --project <slug> Show the parity matrix profile add|list Manage named profiles config set|get|unset|list Manage global settings setup Interactive first-time setup version Show version help Show this help GLOBAL FLAGS --json Output as JSON envelope --profile <name> Use a named profile -p <name> Alias for --profile --api-url <url> Override API URL for this command AUTHENTICATION Set FP_API_KEY environment variable, or use a profile: export FP_API_KEY=fp_... fp projects Or run interactive setup (validates key and saves profile): fp setup fp setup --api-key fp_... --non-interactive Or add a named profile manually: fp profile add galen --api-key fp_... fp --profile galen projects FP_PROFILE=galen fp projects If both FP_API_KEY and a profile are set, FP_API_KEY wins. EXAMPLES # First-time setup (interactive) fp setup # Non-interactive setup for CI/automation fp setup --api-key fp_... --profile ci-agent --non-interactive # List projects fp projects # List requirements for a project fp list --project stowzilla # Show gaps (requirements without evidence) fp list --project stowzilla --gaps --surface customer_android # Show a specific requirement fp show print_container_qr --project stowzilla # Propose a new requirement (creates as draft) fp propose --project stowzilla \\ --slug print_container_qr \\ --name "Print QR code on container label" \\ --why "Customers scan to track containers" \\ --required api,customer_android,customer_ios \\ --acceptance "QR code is printed and scannable" # Report evidence for a requirement fp report print_container_qr --project stowzilla \\ --surface customer_android \\ --file app/src/test/java/PrintQrTest.kt \\ --repo stowzilla/customer-android \\ --pr https://github.com/stowzilla/customer-android/pull/123 \\ --work-item https://app.fizzy.do/123/cards/456 \\ --title "prints a QR code onto the container label" # Show the parity matrix fp matrix --project stowzilla # Export matrix as CSV fp matrix --project stowzilla --csv > matrix.csv MARKER CONVENTION Tests are bound to requirements using the fp:<slug> marker in the test file. The CLI does not rewrite test files - you add the marker yourself. Example (Ruby/RSpec): # fp:print_container_qr it 'prints a QR code onto the container label' do ... end Example (Kotlin): // fp:print_container_qr @Test fun `prints a QR code onto the container label`() { ... } Example (Swift/XCTest): // fp:print_container_qr func testPrintsQRCodeOntoContainerLabel() { ... } MORE INFORMATION https://featureparity.dev/docs HELP end |