forgehive 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +280 -5
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -9450,6 +9450,279 @@ async function promptConfirm(question) {
9450
9450
  });
9451
9451
  });
9452
9452
  }
9453
+ var ANSI = { bold: "\x1B[1m", dim: "\x1B[2m", reset: "\x1B[0m" };
9454
+ var CAP_DISPLAY = {
9455
+ // Sprache
9456
+ javascript: "JavaScript",
9457
+ typescript: "TypeScript",
9458
+ python: "Python",
9459
+ rust: "Rust",
9460
+ golang: "Go",
9461
+ java: "Java",
9462
+ kotlin: "Kotlin",
9463
+ scala: "Scala",
9464
+ ruby: "Ruby",
9465
+ php: "PHP",
9466
+ csharp: "C#",
9467
+ fsharp: "F#",
9468
+ vbnet: "VB.NET",
9469
+ swift: "Swift",
9470
+ dart: "Dart",
9471
+ elixir: "Elixir",
9472
+ crystal: "Crystal",
9473
+ zig: "Zig",
9474
+ nim: "Nim",
9475
+ perl: "Perl",
9476
+ cpp: "C++",
9477
+ cmake: "CMake",
9478
+ // Runtime
9479
+ nodejs: "Node.js",
9480
+ dotnet: ".NET",
9481
+ jvm: "JVM",
9482
+ flutter: "Flutter",
9483
+ // Framework
9484
+ react: "React",
9485
+ nextjs: "Next.js",
9486
+ vue: "Vue",
9487
+ nuxt: "Nuxt",
9488
+ svelte: "Svelte",
9489
+ sveltekit: "SvelteKit",
9490
+ angular: "Angular",
9491
+ remix: "Remix",
9492
+ astro: "Astro",
9493
+ gatsby: "Gatsby",
9494
+ qwik: "Qwik",
9495
+ solidjs: "SolidJS",
9496
+ express: "Express",
9497
+ fastify: "Fastify",
9498
+ nestjs: "NestJS",
9499
+ hono: "Hono",
9500
+ koa: "Koa",
9501
+ hapi: "Hapi",
9502
+ feathers: "Feathers",
9503
+ fastapi: "FastAPI",
9504
+ django: "Django",
9505
+ flask: "Flask",
9506
+ starlette: "Starlette",
9507
+ tornado: "Tornado",
9508
+ litestar: "Litestar",
9509
+ rails: "Rails",
9510
+ sinatra: "Sinatra",
9511
+ grape: "Grape",
9512
+ hanami: "Hanami",
9513
+ "spring-boot": "Spring Boot",
9514
+ "spring-web": "Spring Web",
9515
+ quarkus: "Quarkus",
9516
+ micronaut: "Micronaut",
9517
+ ktor: "Ktor",
9518
+ phoenix: "Phoenix",
9519
+ axum: "Axum",
9520
+ "actix-web": "Actix Web",
9521
+ warp: "Warp",
9522
+ rocket: "Rocket",
9523
+ poem: "Poem",
9524
+ gin: "Gin",
9525
+ echo: "Echo",
9526
+ fiber: "Fiber",
9527
+ chi: "Chi",
9528
+ "gorilla-mux": "Gorilla Mux",
9529
+ wpf: "WPF",
9530
+ avalonia: "Avalonia",
9531
+ maui: "MAUI",
9532
+ blazor: "Blazor",
9533
+ "uno-platform": "Uno Platform",
9534
+ liveview: "LiveView",
9535
+ mvvm: "MVVM",
9536
+ carter: "Carter",
9537
+ fastendpoints: "FastEndpoints",
9538
+ // ORM / DB
9539
+ prisma: "Prisma",
9540
+ drizzle: "Drizzle",
9541
+ typeorm: "TypeORM",
9542
+ mongoose: "Mongoose",
9543
+ sequelize: "Sequelize",
9544
+ knex: "Knex",
9545
+ "mikro-orm": "MikroORM",
9546
+ "ef-core": "EF Core",
9547
+ gorm: "GORM",
9548
+ sqlx: "sqlx",
9549
+ diesel: "Diesel",
9550
+ "sea-orm": "SeaORM",
9551
+ ecto: "Ecto",
9552
+ activerecord: "ActiveRecord",
9553
+ sequel: "Sequel",
9554
+ dapper: "Dapper",
9555
+ sqlalchemy: "SQLAlchemy",
9556
+ "tortoise-orm": "Tortoise ORM",
9557
+ "rom-rb": "ROM-rb",
9558
+ postgresql: "PostgreSQL",
9559
+ mysql: "MySQL",
9560
+ sqlite: "SQLite",
9561
+ mongodb: "MongoDB",
9562
+ redis: "Redis",
9563
+ elasticsearch: "Elasticsearch",
9564
+ turso: "Turso",
9565
+ neon: "Neon",
9566
+ dynamodb: "DynamoDB",
9567
+ csvhelper: "CsvHelper",
9568
+ epplus: "EPPlus",
9569
+ closedxml: "ClosedXML",
9570
+ // Auth
9571
+ "next-auth": "NextAuth",
9572
+ "auth-js": "Auth.js",
9573
+ lucia: "Lucia",
9574
+ passport: "Passport",
9575
+ jwt: "JWT",
9576
+ bcrypt: "bcrypt",
9577
+ clerk: "Clerk",
9578
+ devise: "Devise",
9579
+ doorkeeper: "Doorkeeper",
9580
+ guardian: "Guardian",
9581
+ pow: "Pow",
9582
+ identityserver: "IdentityServer",
9583
+ azure: "Azure AD",
9584
+ oauth2: "OAuth2",
9585
+ "google-sign-in": "Google Sign-In",
9586
+ "microsoft-identity": "Microsoft Identity",
9587
+ auth: "Auth",
9588
+ // Testing
9589
+ jest: "Jest",
9590
+ vitest: "Vitest",
9591
+ mocha: "Mocha",
9592
+ jasmine: "Jasmine",
9593
+ playwright: "Playwright",
9594
+ cypress: "Cypress",
9595
+ puppeteer: "Puppeteer",
9596
+ rspec: "RSpec",
9597
+ minitest: "Minitest",
9598
+ xunit: "xUnit",
9599
+ nunit: "NUnit",
9600
+ mstest: "MSTest",
9601
+ pytest: "pytest",
9602
+ testify: "Testify",
9603
+ ginkgo: "Ginkgo",
9604
+ exunit: "ExUnit",
9605
+ "ex-machina": "ex_machina",
9606
+ "unit-testing": "Unit Testing",
9607
+ "e2e-testing": "E2E Testing",
9608
+ "bdd-testing": "BDD Testing",
9609
+ moq: "Moq",
9610
+ nsubstitute: "NSubstitute",
9611
+ fakeiteasy: "FakeItEasy",
9612
+ mockito: "Mockito",
9613
+ mocking: "Mocking",
9614
+ mocktail: "Mocktail",
9615
+ mockall: "Mockall",
9616
+ "fluent-assertions": "FluentAssertions",
9617
+ shouldly: "Shouldly",
9618
+ assertj: "AssertJ",
9619
+ capybara: "Capybara",
9620
+ "factory-bot": "FactoryBot",
9621
+ "dotnet-test": ".NET Test",
9622
+ benchmark: "Benchmark",
9623
+ // AI / ML
9624
+ openai: "OpenAI",
9625
+ anthropic: "Anthropic",
9626
+ langchain: "LangChain",
9627
+ huggingface: "Hugging Face",
9628
+ pytorch: "PyTorch",
9629
+ tensorflow: "TensorFlow",
9630
+ keras: "Keras",
9631
+ jax: "JAX",
9632
+ "scikit-learn": "scikit-learn",
9633
+ numpy: "NumPy",
9634
+ pandas: "pandas",
9635
+ spacy: "spaCy",
9636
+ nltk: "NLTK",
9637
+ "vercel-ai": "Vercel AI",
9638
+ "llama-index": "LlamaIndex",
9639
+ chromadb: "ChromaDB",
9640
+ pinecone: "Pinecone",
9641
+ weaviate: "Weaviate",
9642
+ qdrant: "Qdrant",
9643
+ milvus: "Milvus",
9644
+ faiss: "FAISS",
9645
+ gemini: "Gemini",
9646
+ mistral: "Mistral",
9647
+ groq: "Groq",
9648
+ // Build
9649
+ vite: "Vite",
9650
+ webpack: "Webpack",
9651
+ esbuild: "esbuild",
9652
+ rollup: "Rollup",
9653
+ parcel: "Parcel",
9654
+ swc: "SWC",
9655
+ babel: "Babel",
9656
+ turborepo: "Turborepo",
9657
+ nx: "Nx",
9658
+ lerna: "Lerna",
9659
+ gradle: "Gradle",
9660
+ maven: "Maven",
9661
+ sbt: "sbt",
9662
+ cargo: "Cargo",
9663
+ spm: "SPM",
9664
+ cocoapods: "CocoaPods",
9665
+ carthage: "Carthage",
9666
+ pip: "pip",
9667
+ pipenv: "Pipenv",
9668
+ bundler: "Bundler",
9669
+ composer: "Composer",
9670
+ nuget: "NuGet",
9671
+ // CI/CD
9672
+ "github-actions": "GitHub Actions",
9673
+ "gitlab-ci": "GitLab CI",
9674
+ "travis-ci": "Travis CI",
9675
+ jenkins: "Jenkins",
9676
+ circleci: "CircleCI",
9677
+ "azure-devops": "Azure DevOps",
9678
+ bitbucket: "Bitbucket",
9679
+ "ci-cd": "CI/CD",
9680
+ // Infra
9681
+ docker: "Docker",
9682
+ "docker-compose": "Docker Compose",
9683
+ kubernetes: "Kubernetes",
9684
+ helm: "Helm",
9685
+ terraform: "Terraform",
9686
+ ansible: "Ansible",
9687
+ pulumi: "Pulumi",
9688
+ "aws-cdk": "AWS CDK",
9689
+ vagrant: "Vagrant",
9690
+ "infrastructure-as-code": "IaC",
9691
+ // Hosting
9692
+ vercel: "Vercel",
9693
+ netlify: "Netlify",
9694
+ "fly-io": "Fly.io",
9695
+ render: "Render",
9696
+ heroku: "Heroku",
9697
+ "gcp-app-engine": "GCP App Engine",
9698
+ "aws-lambda": "AWS Lambda",
9699
+ serverless: "Serverless",
9700
+ // Messaging
9701
+ rabbitmq: "RabbitMQ",
9702
+ kafka: "Kafka",
9703
+ nats: "NATS",
9704
+ masstransit: "MassTransit",
9705
+ oban: "Oban",
9706
+ broadway: "Broadway",
9707
+ sidekiq: "Sidekiq",
9708
+ celery: "Celery",
9709
+ hangfire: "Hangfire",
9710
+ "task-queue": "Task Queue",
9711
+ messaging: "Messaging",
9712
+ // Observability
9713
+ opentelemetry: "OpenTelemetry",
9714
+ prometheus: "Prometheus",
9715
+ sentry: "Sentry",
9716
+ datadog: "Datadog",
9717
+ logging: "Logging",
9718
+ serilog: "Serilog",
9719
+ nlog: "NLog",
9720
+ logrus: "Logrus",
9721
+ zap: "Zap",
9722
+ pino: "Pino",
9723
+ winston: "Winston",
9724
+ loguru: "Loguru"
9725
+ };
9453
9726
  var CAP_CATEGORIES = [
9454
9727
  ["Sprache", ["javascript", "typescript", "python", "rust", "golang", "java", "kotlin", "scala", "ruby", "php", "csharp", "fsharp", "vbnet", "swift", "dart", "elixir", "crystal", "zig", "nim", "perl", "cpp", "cmake"]],
9455
9728
  ["Runtime", ["nodejs", "dotnet", "jvm", "flutter"]],
@@ -9474,15 +9747,17 @@ function buildCapabilitySummary(ids) {
9474
9747
  const matched = members.filter((m) => set2.has(m));
9475
9748
  if (matched.length === 0) continue;
9476
9749
  matched.forEach((m) => used.add(m));
9477
- rows.push([label, matched.join(" \xB7 ")]);
9750
+ rows.push([label, matched]);
9478
9751
  }
9479
9752
  const rest2 = ids.filter((id) => !used.has(id));
9480
- if (rest2.length > 0) rows.push(["Weitere", rest2.join(" \xB7 ")]);
9753
+ if (rest2.length > 0) rows.push(["Weitere", rest2]);
9481
9754
  if (rows.length === 0) return " (keine Capabilities erkannt)";
9482
9755
  const labelWidth = Math.max(...rows.map((r) => r[0].length));
9483
- return rows.map(
9484
- ([label, val]) => ` ${label.padEnd(labelWidth)} ${val}`
9485
- ).join("\n");
9756
+ const sep = `${ANSI.dim} \xB7 ${ANSI.reset}`;
9757
+ return rows.map(([label, capIds]) => {
9758
+ const names = capIds.map((id) => CAP_DISPLAY[id] ?? id).join(sep);
9759
+ return ` ${ANSI.bold}${label.padEnd(labelWidth)}${ANSI.reset} ${names}`;
9760
+ }).join("\n");
9486
9761
  }
9487
9762
  if (command === "init") {
9488
9763
  (async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgehive",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Context-aware AI development environment — one binary, your stack.",
5
5
  "type": "module",
6
6
  "bin": {