Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
3f0b661
feat(cli): add featcopilot command-line interface for agentic usage
thinkall May 3, 2026
b999555
fix(cli): address round-1 review feedback
thinkall May 3, 2026
72a0757
chore: re-trigger automated PR review
thinkall May 3, 2026
92fcd09
fix(cli): address round-2 review feedback
thinkall May 3, 2026
0072e5b
fix(cli): address round-3 review feedback
thinkall May 3, 2026
8240e26
test(cli): bump patch coverage above codecov threshold
thinkall May 3, 2026
88e71ea
fix(cli): address round-4 review feedback
thinkall May 3, 2026
398c932
test(cli): cover new round-4 OSError + scalar-type branches
thinkall May 3, 2026
bb9e77c
fix(cli): address round-5 review feedback
thinkall May 3, 2026
586c51f
fix(cli): address round-6 review feedback
thinkall May 3, 2026
dc4e5b9
fix(cli): address round-7 review feedback
thinkall May 3, 2026
459b1b9
fix(cli): address round-8 review feedback
thinkall May 3, 2026
c388d32
fix(cli): address round-9 review feedback
thinkall May 3, 2026
55a8148
fix(cli): address round-9 follow-up review feedback
thinkall May 3, 2026
0f1f0b1
fix(cli): address round-10 review feedback
thinkall May 3, 2026
fd7c28a
fix(cli): address round-11 review feedback
thinkall May 4, 2026
0c69dd9
fix(cli): address round-12 review feedback
thinkall May 4, 2026
8d3a973
fix(cli): address round-13 review feedback
thinkall May 4, 2026
5946805
fix(cli): address round-14 review feedback (Codex P1)
thinkall May 4, 2026
e85b791
fix(cli): address round-15 review feedback
thinkall May 4, 2026
15c15e9
fix(cli): address round-16 review feedback
thinkall May 4, 2026
5cbb843
fix(cli): address round-17 review feedback
thinkall May 4, 2026
f710fbe
fix(cli): address round-18 review feedback
thinkall May 5, 2026
bfb5da8
fix(cli): address round-19 review feedback
thinkall May 5, 2026
167b490
fix(cli): address round-20 review feedback (Codex P2)
thinkall May 5, 2026
016fe34
fix(cli): address round-22 review feedback
thinkall May 5, 2026
298d4de
fix(cli): address round-23 review feedback
thinkall May 5, 2026
ffa2b3a
fix(test): make multi-capture LLM-fallback test race-proof
thinkall May 5, 2026
1005009
fix(cli): atomicize capture decision and tighten LLM-fallback whitelist
thinkall May 5, 2026
99fe807
fix(cli): widen warning capture to read+write phases; split empty-inp…
thinkall May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,39 @@ for feature, explanation in engineer.explain_features().items():
print(f"{feature}: {explanation}")
```

## Command-Line Interface

FeatCopilot ships a `featcopilot` CLI for shell, scripting, and agentic
(LLM tool-use) workflows — no Python glue required. All subcommands accept
`--json` for machine-readable stdout; errors are written to stderr with a
non-zero exit code so agents can parse failures deterministically.

```bash
# Discover capabilities (engines, selection methods, I/O formats)
featcopilot info --json

# Run feature engineering on a CSV / JSON file
featcopilot transform \
--input data.csv --target label --output features.csv \
--engines tabular --max-features 50 --json

# Inspect generated features (name, explanation, code) as JSON for an LLM
featcopilot explain --input data.csv --target label

# Equivalent module form
python -m featcopilot info --json
```

Pass `--config config.json` to provide nested keys such as `llm_config`;
explicit CLI flags override values from the config file.

> **Parquet I/O.** FeatCopilot's base install does not pin a parquet engine.
> To use `--input file.parquet` / `--output file.parquet` (or the
> `parquet` value in `--input-format` / `--output-format`), install one of
> `pyarrow` or `fastparquet`. `featcopilot info --json` reports
> `"parquet_available": true` only when an engine is importable in the
> current environment.

## Engines

### Tabular Engine
Expand Down
6 changes: 6 additions & 0 deletions featcopilot/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"""Enable ``python -m featcopilot`` to dispatch to the CLI."""

from featcopilot.cli import main

if __name__ == "__main__":
raise SystemExit(main())
Loading
Loading