# LLM Ingest Feature Configuration # Copy this file to your project root as 'llm_features.exs' and customize for your needs %{ # Authentication and User Management "auth" => %{ include: "lib/auth/**,lib/accounts/**,test/auth/**,test/accounts/**,priv/repo/migrations/*_create_users*,priv/repo/migrations/*_auth_*", exclude: "**/*_test.exs,lib/auth/legacy/**" }, # API Endpoints and Controllers "api" => %{ include: "lib/api/**,lib/schemas/**,lib/*_web/controllers/api/**,lib/*_web/views/api/**,test/api/**", exclude: "lib/api/v1/**,lib/api/deprecated/**" }, # Frontend/LiveView Components "frontend" => %{ include: "assets/**,lib/*_web/live/**,lib/*_web/components/**,lib/*_web/templates/**,test/*_web/**", exclude: "assets/node_modules/**,assets/vendor/**" }, # Payment and Billing System "payments" => %{ include: "lib/payments/**,lib/billing/**,test/payments/**,test/billing/**,priv/repo/migrations/*_payment*,priv/repo/migrations/*_billing*", exclude: "lib/payments/legacy/**,**/*_test.exs" }, # Core Business Logic "core" => %{ include: "lib/core/**,lib/application.ex,lib/**/supervisor.ex,config/**,mix.exs", exclude: "config/dev.exs,config/test.exs" }, # Database and Schemas "database" => %{ include: "lib/schemas/**,lib/**/schema.ex,priv/repo/**,test/schemas/**", exclude: "priv/repo/seeds/**" }, # GenServers and Workers "workers" => %{ include: "lib/workers/**,lib/**/worker.ex,lib/**/server.ex,lib/application.ex", exclude: "**/*_test.exs" }, # Phoenix Web Layer "web" => %{ include: "lib/*_web/**,assets/**,config/config.exs", exclude: "assets/node_modules/**,lib/*_web/templates/layout/**" }, # Testing Infrastructure "testing" => %{ include: "test/**,config/test.exs", exclude: "test/fixtures/**" }, # Configuration and Setup "config" => %{ include: "config/**,mix.exs,.formatter.exs,priv/repo/migrations/**", exclude: "config/dev.secret.exs,config/prod.secret.exs" }, # Specific Feature Examples: # E-commerce Product Management "products" => %{ include: "lib/products/**,lib/catalog/**,test/products/**,priv/repo/migrations/*_product*", exclude: "**/*_test.exs" }, # Real-time Features (Phoenix PubSub, LiveView) "realtime" => %{ include: "lib/**/pubsub.ex,lib/*_web/live/**,lib/**/presence.ex,assets/js/live_socket.js", exclude: "**/*_test.exs" }, # File Upload and Media "uploads" => %{ include: "lib/uploads/**,lib/media/**,priv/static/uploads/**,config/uploads.exs", exclude: "priv/static/uploads/test/**" }, # Email and Notifications "notifications" => %{ include: "lib/notifications/**,lib/mailer/**,lib/**/email.ex,priv/templates/**", exclude: "**/*_test.exs" }, # Admin Interface "admin" => %{ include: "lib/*_web/live/admin/**,lib/admin/**,assets/css/admin.css", exclude: "**/*_test.exs" }, # Complete Project (Use sparingly - may be too large for LLMs) "complete" => %{ include: "lib/**,config/**,mix.exs,assets/**", exclude: "**/*_test.exs,assets/node_modules/**,_build/**,deps/**" } } # Usage Examples: # mix llm_ingest --feature=auth # Focus on authentication # mix llm_ingest --feature=api # API development # mix llm_ingest --feature=frontend # UI/LiveView work # mix llm_ingest --feature=payments # Payment system # mix llm_ingest --feature=core # Core business logic # Pattern Syntax: # ** - Recursive directory match # * - Single-level wildcard # lib/** - All files under lib/ recursively # *.ex - All .ex files # **/*_test.exs - All test files recursively # Tips: # - Start with specific features rather than "complete" # - Include related tests for better context # - Exclude legacy/deprecated code # - Use descriptive feature names for your team