Skip to main content

sherlock_io/patterns/
go.rs

1use regex::Regex;
2
3pub struct GoPatterns {
4    external_patterns: Vec<Regex>,
5    cache_patterns: Vec<Regex>,
6    extensions: Vec<String>,
7}
8
9impl GoPatterns {
10    pub fn new() -> Self {
11        let external_patterns = vec![
12            // Go modules
13            Regex::new(r"go\.mod$").unwrap(),
14            Regex::new(r"go\.sum$").unwrap(),
15            Regex::new(r"go\.work$").unwrap(),
16            Regex::new(r"go\.work\.sum$").unwrap(),
17            
18            // Vendor directory
19            Regex::new(r"vendor/").unwrap(),
20            
21            // Build outputs
22            Regex::new(r"\.exe$").unwrap(),
23            Regex::new(r"\.out$").unwrap(),
24            
25            // Test outputs
26            Regex::new(r"\.test$").unwrap(),
27            Regex::new(r"\.prof$").unwrap(),
28            Regex::new(r"\.mem$").unwrap(),
29            Regex::new(r"\.cpu$").unwrap(),
30            
31            // Coverage files
32            Regex::new(r"\.cover$").unwrap(),
33            Regex::new(r"coverage\.out$").unwrap(),
34            Regex::new(r"coverage\.html$").unwrap(),
35            
36            // Binary outputs
37            Regex::new(r"bin/").unwrap(),
38            Regex::new(r"dist/").unwrap(),
39            
40            // Go-specific generated files
41            Regex::new(r"\.pb\.go$").unwrap(),
42            Regex::new(r"\.pb\.gw\.go$").unwrap(),
43            Regex::new(r"bindata\.go$").unwrap(),
44            Regex::new(r"_gen\.go$").unwrap(),
45            Regex::new(r"_generated\.go$").unwrap(),
46            
47            // IDE files
48            Regex::new(r"\.vscode/").unwrap(),
49            Regex::new(r"\.idea/").unwrap(),
50            
51            // OS specific files
52            Regex::new(r"\.DS_Store").unwrap(),
53            Regex::new(r"Thumbs\.db").unwrap(),
54            
55            // Temporary files
56            Regex::new(r"\.tmp$").unwrap(),
57            Regex::new(r"\.swp$").unwrap(),
58            Regex::new(r"\.swo$").unwrap(),
59            Regex::new(r"~$").unwrap(),
60            
61            // Docker
62            Regex::new(r"\.dockerignore$").unwrap(),
63            
64            // Air (live reload)
65            Regex::new(r"\.air\.toml$").unwrap(),
66            Regex::new(r"tmp/").unwrap(),
67            
68            // Delve debugger
69            Regex::new(r"debug$").unwrap(),
70            Regex::new(r"debug\.exe$").unwrap(),
71            
72            // Go workspace
73            Regex::new(r"\.vscode/launch\.json$").unwrap(),
74            
75            // Fyne cross-compilation
76            Regex::new(r"fyne-cross/").unwrap(),
77            
78            // Wire dependency injection
79            Regex::new(r"wire_gen\.go$").unwrap(),
80            
81            // Swagger/OpenAPI
82            Regex::new(r"docs/").unwrap(),
83            
84            // Mage build tool
85            Regex::new(r"mage_output_file\.go$").unwrap(),
86        ];
87
88        let cache_patterns = vec![
89            // Go module cache
90            Regex::new(r"\.go/pkg/mod/").unwrap(),
91            
92            // Go build cache
93            Regex::new(r"\.go/pkg/sumdb/").unwrap(),
94            
95            // Test cache
96            Regex::new(r"\.go/pkg/testcache/").unwrap(),
97            
98            // IDE caches
99            Regex::new(r"\.vscode/").unwrap(),
100            Regex::new(r"\.idea/").unwrap(),
101            
102            // Air temporary files
103            Regex::new(r"tmp/").unwrap(),
104            
105            // Build artifacts
106            Regex::new(r"bin/").unwrap(),
107            Regex::new(r"dist/").unwrap(),
108            
109            // Coverage files
110            Regex::new(r"\.cover$").unwrap(),
111            Regex::new(r"coverage\.").unwrap(),
112            
113            // Profile files
114            Regex::new(r"\.prof$").unwrap(),
115            Regex::new(r"\.mem$").unwrap(),
116            Regex::new(r"\.cpu$").unwrap(),
117            
118            // Temporary files
119            Regex::new(r"\.tmp$").unwrap(),
120            Regex::new(r"\.temp$").unwrap(),
121            
122            // Log files
123            Regex::new(r"\.log$").unwrap(),
124            
125            // Backup files
126            Regex::new(r"\.bak$").unwrap(),
127            Regex::new(r"\.backup$").unwrap(),
128            
129            // OS specific
130            Regex::new(r"\.DS_Store").unwrap(),
131            Regex::new(r"Thumbs\.db").unwrap(),
132            
133            // Editor files
134            Regex::new(r"\.swp$").unwrap(),
135            Regex::new(r"\.swo$").unwrap(),
136            Regex::new(r"~$").unwrap(),
137            
138            // GoLand
139            Regex::new(r"\.idea/").unwrap(),
140            
141            // VS Code
142            Regex::new(r"\.vscode/").unwrap(),
143            
144            // Vim
145            Regex::new(r"\.vim/").unwrap(),
146            
147            // Emacs
148            Regex::new(r"\.emacs\.d/").unwrap(),
149            
150            // Sublime Text
151            Regex::new(r"\.sublime-").unwrap(),
152            
153            // Atom
154            Regex::new(r"\.atom/").unwrap(),
155            
156            // Brackets
157            Regex::new(r"\.brackets\.json").unwrap(),
158            
159            // Nova
160            Regex::new(r"\.nova/").unwrap(),
161            
162            // Zed
163            Regex::new(r"\.zed/").unwrap(),
164        ];
165
166        let extensions = vec![
167            // Go source files
168            "go".to_string(),
169            
170            // Go modules
171            "mod".to_string(),
172            "sum".to_string(),
173            "work".to_string(),
174            
175            // Go assembly
176            "s".to_string(),
177            
178            // Go templates
179            "tmpl".to_string(),
180            "tpl".to_string(),
181            "gotmpl".to_string(),
182            
183            // Go HTML templates
184            "gohtml".to_string(),
185            
186            // Go text templates
187            "gotxt".to_string(),
188            
189            // Protocol buffers
190            "proto".to_string(),
191            
192            // YAML (common in Go projects)
193            "yaml".to_string(),
194            "yml".to_string(),
195            
196            // JSON (common in Go projects)
197            "json".to_string(),
198            
199            // TOML (common in Go projects)
200            "toml".to_string(),
201            
202            // Markdown
203            "md".to_string(),
204        ];
205
206        Self {
207            external_patterns,
208            cache_patterns,
209            extensions,
210        }
211    }
212
213    pub fn get_external_patterns(&self) -> &[Regex] {
214        &self.external_patterns
215    }
216
217    pub fn get_cache_patterns(&self) -> &[Regex] {
218        &self.cache_patterns
219    }
220
221    pub fn get_extensions(&self) -> &[String] {
222        &self.extensions
223    }
224
225    pub fn get_script_names() -> Vec<&'static str> {
226        vec![
227            // Go modules
228            "go.mod", "go.sum", "go.work", "go.work.sum",
229            
230            // Main files
231            "main.go", "cmd/main.go",
232            
233            // Build scripts
234            "Makefile", "makefile", "build.sh", "build.bat",
235            "build.ps1", "build.py", "build.go",
236            
237            // Mage build files
238            "magefile.go", "mage.go",
239            
240            // Task runners
241            "Taskfile.yml", "Taskfile.yaml",
242            
243            // Docker
244            "Dockerfile", "docker-compose.yml", "docker-compose.yaml",
245            ".dockerignore", "Dockerfile.dev", "Dockerfile.prod",
246            
247            // Air (live reload)
248            ".air.toml", "air.conf",
249            
250            // Configuration files
251            "config.yaml", "config.yml", "config.json",
252            "config.toml", "settings.yaml", "app.yaml",
253            
254            // Environment files
255            ".env", ".env.local", ".env.development", ".env.production",
256            ".env.test", ".env.example",
257            
258            // CI/CD
259            ".github/workflows/go.yml", ".github/workflows/test.yml",
260            ".github/workflows/build.yml", ".github/workflows/release.yml",
261            ".gitlab-ci.yml", "azure-pipelines.yml", "Jenkinsfile",
262            "bitbucket-pipelines.yml", "circle.yml", ".circleci/config.yml",
263            ".travis.yml", "appveyor.yml", "cloudbuild.yaml",
264            
265            // Testing
266            "go.test", "coverage.out", "coverage.html",
267            "benchmark.out", "profile.out",
268            
269            // Linting and formatting
270            ".golangci.yml", ".golangci.yaml", "golangci.yml",
271            ".gofmt", ".goimports", ".golint",
272            
273            // Documentation
274            "README.md", "CHANGELOG.md", "CONTRIBUTING.md",
275            "LICENSE", "LICENSE.md", "COPYING",
276            "doc.go", "docs.go",
277            
278            // Swagger/OpenAPI
279            "swagger.yaml", "swagger.yml", "swagger.json",
280            "openapi.yaml", "openapi.yml", "openapi.json",
281            "api.yaml", "api.yml", "api.json",
282            
283            // Protocol Buffers
284            "*.proto", "buf.yaml", "buf.yml", "buf.gen.yaml",
285            "buf.work.yaml", "buf.lock",
286            
287            // gRPC
288            "grpc.proto", "service.proto",
289            
290            // Database migrations
291            "migrate.go", "schema.sql", "migrations/",
292            
293            // Kubernetes
294            "k8s.yaml", "k8s.yml", "kubernetes.yaml",
295            "deployment.yaml", "service.yaml", "ingress.yaml",
296            "configmap.yaml", "secret.yaml",
297            
298            // Helm
299            "Chart.yaml", "values.yaml", "values.yml",
300            "requirements.yaml", "requirements.lock",
301            
302            // Terraform
303            "main.tf", "variables.tf", "outputs.tf",
304            "terraform.tfvars", "terraform.tfstate",
305            
306            // Monitoring
307            "prometheus.yml", "grafana.json",
308            "jaeger.yaml", "zipkin.yaml",
309            
310            // Logging
311            "logrus.yaml", "zap.yaml", "zerolog.yaml",
312            
313            // Web frameworks
314            "gin.go", "echo.go", "fiber.go", "chi.go",
315            "gorilla.go", "httprouter.go", "mux.go",
316            
317            // ORM
318            "gorm.go", "ent.go", "sqlx.go", "xorm.go",
319            
320            // Message queues
321            "rabbitmq.go", "kafka.go", "nats.go", "redis.go",
322            
323            // Caching
324            "redis.go", "memcached.go", "cache.go",
325            
326            // Authentication
327            "jwt.go", "oauth.go", "auth.go", "session.go",
328            
329            // Validation
330            "validator.go", "validate.go",
331            
332            // Serialization
333            "json.go", "xml.go", "yaml.go", "toml.go",
334            "protobuf.go", "msgpack.go", "avro.go",
335            
336            // HTTP clients
337            "client.go", "http.go", "rest.go", "graphql.go",
338            
339            // Utilities
340            "utils.go", "helpers.go", "common.go", "shared.go",
341            
342            // Constants
343            "constants.go", "const.go", "vars.go",
344            
345            // Errors
346            "errors.go", "error.go", "exceptions.go",
347            
348            // Types
349            "types.go", "models.go", "structs.go", "entities.go",
350            
351            // Interfaces
352            "interfaces.go", "interface.go", "contracts.go",
353            
354            // Handlers
355            "handlers.go", "handler.go", "routes.go", "router.go",
356            
357            // Middleware
358            "middleware.go", "middlewares.go",
359            
360            // Services
361            "service.go", "services.go", "business.go",
362            
363            // Repositories
364            "repository.go", "repositories.go", "repo.go",
365            "storage.go", "store.go", "dao.go",
366            
367            // Controllers
368            "controller.go", "controllers.go", "ctrl.go",
369            
370            // Views
371            "view.go", "views.go", "templates.go",
372            
373            // Models
374            "model.go", "models.go", "entity.go", "entities.go",
375            
376            // DTOs
377            "dto.go", "dtos.go", "request.go", "response.go",
378            
379            // Configs
380            "config.go", "configuration.go", "settings.go",
381            
382            // Database
383            "db.go", "database.go", "connection.go", "conn.go",
384            
385            // Migrations
386            "migration.go", "migrations.go", "migrate.go",
387            
388            // Seeds
389            "seed.go", "seeds.go", "seeder.go", "seeders.go",
390            
391            // Tests
392            "*_test.go", "test.go", "tests.go", "testing.go",
393            "benchmark.go", "benchmarks.go", "example.go",
394            
395            // Mocks
396            "mock.go", "mocks.go", "fake.go", "fakes.go",
397            "stub.go", "stubs.go",
398            
399            // Fixtures
400            "fixture.go", "fixtures.go", "testdata.go",
401            
402            // Factories
403            "factory.go", "factories.go", "builder.go", "builders.go",
404            
405            // Generators
406            "generator.go", "generators.go", "generate.go",
407            
408            // Parsers
409            "parser.go", "parsers.go", "parse.go",
410            
411            // Validators
412            "validator.go", "validators.go", "validation.go",
413            
414            // Serializers
415            "serializer.go", "serializers.go", "serialize.go",
416            
417            // Transformers
418            "transformer.go", "transformers.go", "transform.go",
419            
420            // Converters
421            "converter.go", "converters.go", "convert.go",
422            
423            // Mappers
424            "mapper.go", "mappers.go", "mapping.go",
425            
426            // Filters
427            "filter.go", "filters.go", "filtering.go",
428            
429            // Sorters
430            "sorter.go", "sorters.go", "sorting.go",
431            
432            // Pagination
433            "pagination.go", "paginate.go", "paging.go",
434            
435            // Search
436            "search.go", "searcher.go", "searching.go",
437            
438            // Cache
439            "cache.go", "caching.go", "cached.go",
440            
441            // Queue
442            "queue.go", "queues.go", "job.go", "jobs.go",
443            "worker.go", "workers.go", "task.go", "tasks.go",
444            
445            // Scheduler
446            "scheduler.go", "schedule.go", "cron.go",
447            
448            // Events
449            "event.go", "events.go", "eventbus.go",
450            "dispatcher.go", "listener.go", "listeners.go",
451            
452            // Notifications
453            "notification.go", "notifications.go", "notify.go",
454            
455            // Email
456            "email.go", "mail.go", "mailer.go", "smtp.go",
457            
458            // SMS
459            "sms.go", "text.go", "messaging.go",
460            
461            // Push notifications
462            "push.go", "fcm.go", "apns.go",
463            
464            // File handling
465            "file.go", "files.go", "filesystem.go", "storage.go",
466            "upload.go", "uploads.go", "download.go", "downloads.go",
467            
468            // Image processing
469            "image.go", "images.go", "resize.go", "thumbnail.go",
470            
471            // PDF
472            "pdf.go", "pdfs.go", "report.go", "reports.go",
473            
474            // Excel
475            "excel.go", "xlsx.go", "csv.go", "spreadsheet.go",
476            
477            // Compression
478            "compress.go", "compression.go", "zip.go", "gzip.go",
479            
480            // Encryption
481            "encrypt.go", "encryption.go", "crypto.go", "security.go",
482            "hash.go", "hashing.go", "jwt.go", "token.go", "tokens.go",
483            
484            // Logging
485            "log.go", "logger.go", "logging.go", "logs.go",
486            
487            // Metrics
488            "metrics.go", "metric.go", "monitoring.go", "stats.go",
489            
490            // Health checks
491            "health.go", "healthcheck.go", "ping.go", "status.go",
492            
493            // Rate limiting
494            "ratelimit.go", "throttle.go", "limiter.go",
495            
496            // Circuit breaker
497            "circuit.go", "breaker.go", "hystrix.go",
498            
499            // Retry
500            "retry.go", "backoff.go", "exponential.go",
501            
502            // Timeout
503            "timeout.go", "deadline.go", "context.go",
504            
505            // Graceful shutdown
506            "shutdown.go", "graceful.go", "signal.go", "signals.go",
507            
508            // Profiling
509            "profile.go", "profiling.go", "pprof.go",
510            
511            // Benchmarking
512            "benchmark.go", "benchmarks.go", "bench.go",
513            
514            // Load testing
515            "load.go", "loadtest.go", "stress.go", "stresstest.go",
516            
517            // Version
518            "version.go", "versions.go", "build.go", "info.go",
519            
520            // CLI
521            "cli.go", "cmd.go", "command.go", "commands.go",
522            "flag.go", "flags.go", "args.go", "arguments.go",
523            
524            // Server
525            "server.go", "servers.go", "app.go", "application.go",
526            
527            // Client
528            "client.go", "clients.go", "api.go", "apis.go",
529            
530            // Proxy
531            "proxy.go", "proxies.go", "gateway.go", "gateways.go",
532            
533            // Load balancer
534            "loadbalancer.go", "balancer.go", "lb.go",
535            
536            // Service discovery
537            "discovery.go", "registry.go", "consul.go", "etcd.go",
538            
539            // Configuration management
540            "consul.go", "etcd.go", "vault.go", "k8s.go",
541            
542            // Tracing
543            "trace.go", "tracing.go", "jaeger.go", "zipkin.go",
544            "opentracing.go", "opentelemetry.go",
545            
546            // Deployment
547            "deploy.go", "deployment.go", "k8s.go", "kubernetes.go",
548            "docker.go", "container.go", "containers.go",
549            
550            // Infrastructure
551            "infrastructure.go", "infra.go", "terraform.go",
552            "cloudformation.go", "aws.go", "gcp.go", "azure.go",
553            
554            // Monitoring
555            "prometheus.go", "grafana.go", "datadog.go", "newrelic.go",
556            
557            // Alerting
558            "alert.go", "alerts.go", "pagerduty.go", "slack.go",
559            
560            // Backup
561            "backup.go", "backups.go", "restore.go", "recovery.go",
562            
563            // Disaster recovery
564            "disaster.go", "recovery.go", "failover.go", "replication.go",
565            
566            // Performance
567            "performance.go", "perf.go", "optimization.go", "optimize.go",
568            
569            // Scalability
570            "scale.go", "scaling.go", "autoscale.go", "horizontal.go",
571            "vertical.go", "cluster.go", "clusters.go",
572            
573            // Reliability
574            "reliability.go", "reliable.go", "resilience.go", "fault.go",
575            "tolerance.go", "availability.go", "uptime.go",
576            
577            // Maintenance
578            "maintenance.go", "maintain.go", "cleanup.go", "clean.go",
579            "garbage.go", "gc.go", "housekeeping.go",
580            
581            // Migration
582            "migration.go", "migrations.go", "migrate.go", "upgrade.go",
583            "downgrade.go", "rollback.go", "revert.go",
584            
585            // Internationalization
586            "i18n.go", "l10n.go", "locale.go", "locales.go",
587            "translation.go", "translations.go", "language.go", "languages.go",
588            
589            // Accessibility
590            "a11y.go", "accessibility.go", "wcag.go", "aria.go",
591            
592            // SEO
593            "seo.go", "sitemap.go", "robots.go", "meta.go",
594            
595            // Analytics
596            "analytics.go", "tracking.go", "ga.go", "gtm.go",
597            
598            // A/B testing
599            "ab.go", "abtest.go", "experiment.go", "experiments.go",
600            "feature.go", "features.go", "flag.go", "flags.go",
601            
602            // Social media
603            "social.go", "facebook.go", "twitter.go", "instagram.go",
604            "linkedin.go", "youtube.go", "tiktok.go",
605            
606            // Payment
607            "payment.go", "payments.go", "stripe.go", "paypal.go",
608            "square.go", "braintree.go", "checkout.go", "billing.go",
609            
610            // Subscription
611            "subscription.go", "subscriptions.go", "plan.go", "plans.go",
612            "tier.go", "tiers.go", "pricing.go", "invoice.go", "invoices.go",
613            
614            // Inventory
615            "inventory.go", "stock.go", "warehouse.go", "product.go", "products.go",
616            "catalog.go", "category.go", "categories.go",
617            
618            // Order management
619            "order.go", "orders.go", "cart.go", "carts.go",
620            "checkout.go", "fulfillment.go", "shipping.go",
621            
622            // Customer management
623            "customer.go", "customers.go", "user.go", "users.go",
624            "account.go", "accounts.go", "profile.go", "profiles.go",
625            
626            // Content management
627            "content.go", "cms.go", "page.go", "pages.go",
628            "post.go", "posts.go", "article.go", "articles.go",
629            "blog.go", "news.go", "media.go",
630            
631            // Forum
632            "forum.go", "forums.go", "thread.go", "threads.go",
633            "topic.go", "topics.go", "comment.go", "comments.go",
634            "reply.go", "replies.go", "vote.go", "votes.go",
635            
636            // Chat
637            "chat.go", "message.go", "messages.go", "room.go", "rooms.go",
638            "channel.go", "channels.go", "websocket.go", "ws.go",
639            
640            // Real-time
641            "realtime.go", "live.go", "streaming.go", "stream.go", "streams.go",
642            "sse.go", "websocket.go", "ws.go", "socket.go", "sockets.go",
643            
644            // Game development
645            "game.go", "games.go", "player.go", "players.go",
646            "match.go", "matches.go", "tournament.go", "tournaments.go",
647            "leaderboard.go", "score.go", "scores.go",
648            
649            // IoT
650            "iot.go", "device.go", "devices.go", "sensor.go", "sensors.go",
651            "actuator.go", "actuators.go", "mqtt.go", "coap.go",
652            
653            // Blockchain
654            "blockchain.go", "bitcoin.go", "ethereum.go", "smart.go",
655            "contract.go", "contracts.go", "wallet.go", "wallets.go",
656            "transaction.go", "transactions.go", "mining.go",
657            
658            // Machine learning
659            "ml.go", "ai.go", "neural.go", "network.go", "networks.go",
660            "model.go", "models.go", "training.go", "inference.go",
661            "prediction.go", "predictions.go", "classification.go",
662            
663            // Data science
664            "data.go", "dataset.go", "datasets.go", "analysis.go",
665            "visualization.go", "chart.go", "charts.go", "graph.go", "graphs.go",
666            "statistics.go", "stats.go", "math.go", "algorithm.go", "algorithms.go",
667            
668            // Big data
669            "bigdata.go", "hadoop.go", "spark.go", "kafka.go",
670            "elasticsearch.go", "solr.go", "lucene.go", "search.go",
671            
672            // Time series
673            "timeseries.go", "time.go", "series.go", "metric.go", "metrics.go",
674            "influxdb.go", "prometheus.go", "grafana.go",
675            
676            // Geolocation
677            "geo.go", "location.go", "locations.go", "map.go", "maps.go",
678            "gps.go", "coordinate.go", "coordinates.go", "distance.go",
679            
680            // Weather
681            "weather.go", "forecast.go", "climate.go", "temperature.go",
682            "humidity.go", "pressure.go", "wind.go", "rain.go",
683            
684            // Finance
685            "finance.go", "financial.go", "accounting.go", "budget.go", "budgets.go",
686            "expense.go", "expenses.go", "income.go", "revenue.go",
687            "profit.go", "loss.go", "tax.go", "taxes.go",
688            
689            // HR
690            "hr.go", "human.go", "resources.go", "employee.go", "employees.go",
691            "payroll.go", "salary.go", "salaries.go", "benefit.go", "benefits.go",
692            "leave.go", "attendance.go", "performance.go", "review.go", "reviews.go",
693            
694            // Legal
695            "legal.go", "law.go", "compliance.go", "regulation.go", "regulations.go",
696            "policy.go", "policies.go", "contract.go", "contracts.go",
697            "agreement.go", "agreements.go", "license.go", "licenses.go",
698            
699            // Education
700            "education.go", "school.go", "schools.go", "student.go", "students.go",
701            "teacher.go", "teachers.go", "course.go", "courses.go",
702            "lesson.go", "lessons.go", "exam.go", "exams.go",
703            "grade.go", "grades.go", "assignment.go", "assignments.go",
704            
705            // Healthcare
706            "health.go", "healthcare.go", "medical.go", "patient.go", "patients.go",
707            "doctor.go", "doctors.go", "appointment.go", "appointments.go",
708            "prescription.go", "prescriptions.go", "diagnosis.go", "treatment.go",
709            
710            // Travel
711            "travel.go", "trip.go", "trips.go", "booking.go", "bookings.go",
712            "hotel.go", "hotels.go", "flight.go", "flights.go",
713            "car.go", "cars.go", "rental.go", "rentals.go",
714            
715            // Food
716            "food.go", "restaurant.go", "restaurants.go", "menu.go", "menus.go",
717            "recipe.go", "recipes.go", "ingredient.go", "ingredients.go",
718            "nutrition.go", "diet.go", "meal.go", "meals.go",
719            
720            // Sports
721            "sports.go", "sport.go", "team.go", "teams.go",
722            "athlete.go", "athletes.go", "competition.go", "competitions.go",
723            "season.go", "seasons.go", "league.go", "leagues.go",
724            
725            // Entertainment
726            "entertainment.go", "movie.go", "movies.go", "tv.go", "show.go", "shows.go",
727            "music.go", "song.go", "songs.go", "album.go", "albums.go",
728            "artist.go", "artists.go", "book.go", "books.go",
729            
730            // News
731            "news.go", "article.go", "articles.go", "story.go", "stories.go",
732            "headline.go", "headlines.go", "reporter.go", "reporters.go",
733            "editor.go", "editors.go", "publisher.go", "publishers.go",
734            
735            // Weather
736            "weather.go", "forecast.go", "climate.go", "temperature.go",
737            "humidity.go", "pressure.go", "wind.go", "rain.go", "snow.go",
738            
739            // Transportation
740            "transport.go", "transportation.go", "vehicle.go", "vehicles.go",
741            "bus.go", "buses.go", "train.go", "trains.go",
742            "subway.go", "metro.go", "taxi.go", "uber.go", "lyft.go",
743            
744            // Real estate
745            "realestate.go", "property.go", "properties.go", "house.go", "houses.go",
746            "apartment.go", "apartments.go", "rent.go", "rental.go", "rentals.go",
747            "sale.go", "sales.go", "mortgage.go", "mortgages.go",
748            
749            // Insurance
750            "insurance.go", "policy.go", "policies.go", "claim.go", "claims.go",
751            "premium.go", "premiums.go", "coverage.go", "deductible.go",
752            
753            // Banking
754            "bank.go", "banking.go", "account.go", "accounts.go",
755            "transaction.go", "transactions.go", "transfer.go", "transfers.go",
756            "loan.go", "loans.go", "credit.go", "debit.go",
757            
758            // Investment
759            "investment.go", "investments.go", "portfolio.go", "portfolios.go",
760            "stock.go", "stocks.go", "bond.go", "bonds.go",
761            "fund.go", "funds.go", "etf.go", "etfs.go",
762            
763            // Cryptocurrency
764            "crypto.go", "cryptocurrency.go", "bitcoin.go", "ethereum.go",
765            "blockchain.go", "wallet.go", "wallets.go", "exchange.go", "exchanges.go",
766            "trading.go", "trade.go", "trades.go", "market.go", "markets.go",
767            
768            // Retail
769            "retail.go", "store.go", "stores.go", "shop.go", "shops.go",
770            "product.go", "products.go", "inventory.go", "stock.go",
771            "sale.go", "sales.go", "discount.go", "discounts.go",
772            
773            // Manufacturing
774            "manufacturing.go", "factory.go", "factories.go", "production.go",
775            "assembly.go", "quality.go", "control.go", "testing.go",
776            "inspection.go", "maintenance.go", "repair.go",
777            
778            // Logistics
779            "logistics.go", "supply.go", "chain.go", "warehouse.go", "warehouses.go",
780            "distribution.go", "delivery.go", "deliveries.go", "shipping.go",
781            "tracking.go", "route.go", "routes.go",
782            
783            // Agriculture
784            "agriculture.go", "farm.go", "farms.go", "crop.go", "crops.go",
785            "livestock.go", "animal.go", "animals.go", "harvest.go",
786            "irrigation.go", "fertilizer.go", "pesticide.go",
787            
788            // Energy
789            "energy.go", "power.go", "electricity.go", "solar.go",
790            "wind.go", "nuclear.go", "coal.go", "oil.go", "gas.go",
791            "renewable.go", "grid.go", "utility.go", "utilities.go",
792            
793            // Environment
794            "environment.go", "environmental.go", "climate.go", "carbon.go",
795            "emission.go", "emissions.go", "pollution.go", "waste.go",
796            "recycling.go", "sustainability.go", "green.go", "eco.go",
797            
798            // Government
799            "government.go", "gov.go", "public.go", "citizen.go", "citizens.go",
800            "voting.go", "election.go", "elections.go", "democracy.go",
801            "legislation.go", "law.go", "laws.go", "regulation.go", "regulations.go",
802            
803            // Non-profit
804            "nonprofit.go", "charity.go", "donation.go", "donations.go",
805            "volunteer.go", "volunteers.go", "fundraising.go", "grant.go", "grants.go",
806            "foundation.go", "foundations.go", "cause.go", "causes.go",
807        ]
808    }
809}