package indexer import ( "ai-code-assistant/pkg/indexer" "context" "github.com/urfave/cli/v3" ) func Command() *cli.Command { return &cli.Command{ Name: "indexer", Usage: "this command will index a local git repository to build context for the llm", Action: run, Flags: []cli.Flag{ &cli.StringFlag{ Name: "repo", Usage: "path to git repository", Required: true, }, &cli.IntFlag{ Name: "chunk-size", Usage: "number of bytes to chunk files into, should be roughly 4x the number of tokens", Value: 512 * 4, }, &cli.BoolFlag{ Name: "force", Usage: "force re-indexing of the repository", }, }, } } func run(ctx context.Context, cmd *cli.Command) error { idx := indexer.New(ctx, cmd.String("repo"), int(cmd.Int("chunk-size")), cmd.Bool("force")) if err := idx.Index(ctx); err != nil { return err } return nil }