How samsmith00/epictl works
epictl is a command-line manager for Epicor Method and Data Directive BPMs. The main workflow configures an environment, initializes or clones a manifest, edits local code, validates it, then applies or deletes the BPM; browsing directives and describing BPMs are a related read workflow. The graph separates CLI orchestration, environment access, directive-specific operations, and local manifest/code handling. README capabilities guide the unsampled command links; sampled excerpts confirm client update/validation behavior and Epicor REST calls, but do not expose every query or dispatch implementation.
Main entry points: factory.py Client factory · __main__.py CLI entry · mutators.py BPM commands · queries.py Method client
Components 20
CLI commands
- CLI entry
src/epictl/cli/__main__.py - BPM commands
src/epictl/cli/mutators.py - Config commands
src/epictl/cli/config.py - Auth test
src/epictl/cli/auth.py - Method output
src/epictl/cli/method_directives/queries.py - Data output
src/epictl/cli/data_directives/queries.py - Method formatting
src/epictl/cli/method_directives/utils/queries.py - Data formatting
src/epictl/cli/data_directives/utils/queries.py
Epicor client
- Client factory
src/epictl/client/factory.py - Environment config
src/epictl/client/config.py - Authentication
src/epictl/client/auth.py
Directive operations
- Method client
src/epictl/client/method_directives/queries.py - Method mutations
src/epictl/client/method_directives/mutators.py - Method BPM helpers
src/epictl/client/method_directives/utils/mutators.py - Data client
src/epictl/client/data_directives/queries.py - Data mutations
src/epictl/client/data_directives/mutators.py - Data BPM helpers
src/epictl/client/data_directives/utils/mutators.py
Local workspace
- Manifests and code
Other components
- Engineer
- Epicor REST API
Connections 25
- Engineer → CLI entry: runs
- CLI entry → BPM commands: dispatches commands
- CLI entry → Config commands: dispatches commands
- CLI entry → Auth test: dispatches command
- BPM commands → Client factory: selects client
- BPM commands → Manifests and code: reads and writes
- Config commands → Environment config: manages configs
- Auth test → Authentication: tests credentials
- Authentication → Epicor REST API: tests authentication
- Client factory → Method client: selects Method client
- Client factory → Method mutations: selects Method client
- Client factory → Data client: selects Data client
- Client factory → Data mutations: selects Data client
- Method client → Epicor REST API: queries directives
- Data client → Epicor REST API: queries directives
- Method mutations → Method BPM helpers: uses BPM helpers
- Data mutations → Data BPM helpers: uses BPM helpers
- Method mutations → Epicor REST API: updates BPMs
- Data mutations → Epicor REST API: updates BPMs
- Method BPM helpers → Epicor REST API: validates code
- Data BPM helpers → Epicor REST API: validates code
- Method client → Method output: returns query results
- Data client → Data output: returns query results
- Method output → Method formatting: formats details
- Data output → Data formatting: formats details