Skip to content

Add Language Support for JavaScript / TypeScript and Rust #41

@yaredtsy

Description

@yaredtsy

Expand language support to include JavaScript / TypeScript and Rust. This should be the next priority, both to unlock frontend development and to begin migrating parts of the codebase to Rust using our own IDE.

Using v‑noc to build v‑noc is an important feedback loop to better understand its strengths and gaps.

Priority Rationale:

  • JavaScript / TypeScript
    • Needed for frontend development
    • Captures a large developer audience
    • Validates the IDE with real‑world UI workflows
  • Rust
    • Enables safer, more reliable backend code
    • Allows gradual migration of the existing codebase
    • Forces the IDE to handle more complex language semantics

Scope:

JavaScript / TypeScript Support:

  • Parse JS / TS into the graph model
  • Extract:
    • Functions
    • Classes
    • Imports / exports
    • Documentation comments
  • Support basic dependency tracking
  • Enable graph navigation and isolation

Rust Support:

  • Parse Rust code into the graph model
  • Extract:
    • Functions
    • Modules
    • Traits and impl blocks
    • Documentation comments
  • Track dependencies and call relationships
  • Support isolation and local reasoning

Migration Strategy:

  • Start migrating small, well‑defined components to Rust
  • Use v‑noc itself for this migration
  • Collect feedback on:
    • Graph accuracy
    • Isolation quality
    • UX pain points

Acceptance Criteria:

  • JS / TS and Rust projects can be loaded and explored
  • Functions can be isolated and reasoned about
  • Docs are attached to functions
  • The IDE is usable for real frontend and backend work

Notes:
Language support is not just a feature—it is how we validate the core philosophy of v‑noc across different ecosystems.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions