Skip to content

Generalizability audit — what project types does Klonode fail on? #56

@smorchj

Description

@smorchj

Klonode was built and tested against one project type (Next.js + Prisma + Three.js + Postgres). This is the tracker for "what does Klonode produce empty or useless CONTEXT.md for today, and how do we close the gap." We need help from people who actually use these stacks day to day.

How to ship a fix (it's small)

The pattern is now well-trodden. Adding a language to the content extractor is one regex block in one file. PR #13 added Python, Java, and Ruby in 104 lines total — read that PR end-to-end and you'll have the template:

Then for whichever language or framework you pick:

  1. Hand-write a minimal source fixture (one file, 10–30 lines)
  2. Add a regex block to extractExports (or extractApiRoutes, detectPatterns, etc. depending on what you're matching)
  3. Add tests asserting the exports come out the way you expect
  4. pnpm --filter @klonode/core test — must pass
  5. Open a PR linking the gap issue (Closes #17 etc.)

That's it. No AST parser dependency, no new packages. Match the style of the file you're editing.

Already shipped (so you can see the velocity)

Language / framework PR LOC
Python, Java, Ruby extractors #13 +104
Astro, Deno, Bun detection #12
Prisma schema parser (in #12 / #13 era)

Gaps with their own sub-issue (good first contributions, ordered by demand)

Gaps without a dedicated issue yet

These are real gaps but no one has filed a sub-issue. If you want to claim one, comment here first so we don't double up, then open a focused sub-issue.

Languages with extension detection but no extractor

  • Swift (.swift), Dart (.dart), Scala, Clojure, Elixir, Haskell, F#, Crystal, Zig

Schema sources we don't parse

  • Drizzle ORM (schema.ts DSL) — we detect the framework but don't read the definitions
  • TypeORM entities, Sequelize models, Mongoose schemas (TS/JS)
  • SQLAlchemy models (Python), Django models, Rails ActiveRecord models
  • GORM (Go), Diesel (Rust), Ecto (Elixir)

Infrastructure-as-code

  • Terraform .tf, Pulumi
  • Kubernetes YAML manifests, Helm charts
  • CloudFormation, Ansible playbooks
  • Dockerfile content (we detect existence but not the steps)
  • Caddyfile, nginx.conf, systemd units

Other config formats

  • OpenAPI / Swagger, AsyncAPI, JSON Schema, Protocol Buffers
  • package.json scripts field (we only use deps today)

Build / tooling configs

  • Makefile targets, Justfile
  • Gradle (build.gradle), Maven (pom.xml)
  • Rake (Rakefile)

Mobile / desktop / game

  • Unity .unity / .meta, Unreal .uproject, Godot .tscn
  • Shaders (.glsl, .wgsl, .hlsl)
  • Flutter project structure
  • Android manifests, iOS Info.plist

Documentation as structure

  • Markdown / MDX — headings as navigation structure
  • Jupyter notebooks (.ipynb) — code cells + markdown cells

Monorepo tooling

  • Nx, Lerna, Rush, Bazel / Buck / Pants

Done condition

Close this once Rails, Django, Go backends, Rust CLIs, Flutter apps, and Terraform monorepos all produce useful CONTEXT.md.


Currently most needed: Go (#17), Rust (#18), Django detector (#24). If you use any of those daily and want a small, well-scoped first contribution to an active OSS project, this is the one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions