Inspiration

When a new developer joins a project, understanding its purpose, logic, and structure requires manually navigating through files, documentation (if available), and commit histories. Traditional GitHub repositories lack an intuitive way to link project requirements (as per SRS) with actual code. This results in time consuming onboarding, difficulty in tracking features, and unstructured documentation. A platform that automates project understanding by mapping SRS to code, providing guided onboarding, and offering interactive documentation is essential.

What it does

DevSync is a Visual Studio Code extension designed to automate project understanding by mapping Software Requirement Specifications (SRS) to code, providing interactive documentation, and assisting developers with guided onboarding. This extension enhances the development experience by offering intelligent project navigation, AI-powered search, and real-time documentation updates.

How we built it

  1. Core Development
  2. Language: TypeScript (for VS Code extension development)
  3. Framework: Node.js (for backend services)
  4. VS Code API: To interact with the editor and provide UI elements

  5. GitHub Integration

  6. GitHub REST API: Fetch repositories, commits, and pull requests

  7. GitHub GraphQL API: Query structured repository data efficiently

  8. SRS-to-Code Mapping & Search

  9. LangChain.js / OpenAI API: AI-powered code understanding and feature mapping

  10. AST Parsing (Abstract Syntax Trees): To analyze code structure and match SRS requirements

  11. Interactive Documentation

  12. Markdown & Docusaurus: Generate and manage documentation dynamically

  13. VS Code Webview API: Display interactive documentation inside VS Code

  14. Dependency & Architecture Visualization

  15. Graphviz / D3.js: For visualizing project structure and dependencies

  16. AST-based Analysis: To map function and module interactions

Challenges we ran into

Initially, we considered developing a web-based solution. However, after evaluating the challenges developers face while navigating repositories, we decided to build a VS Code extension for a more seamless and integrated experience. API key usage getting expired quickly, visualization errors

Accomplishments that we're proud of

📜 SRS-to-Code Mapping: Automatically link SRS requirements to relevant code sections. 🧭 Intelligent Navigation: Provide structured insights into project architecture. 📖 Interactive Documentation: Dynamically update documentation based on commits. 👨‍🏫 Guided Onboarding: Step-by-step breakdown of project components. 🔍 AI-powered Search: Contextual search to locate relevant code snippets. 🔗 GitHub Integration: Sync repositories for real-time tracking. 🎨 Dependency Visualization: Graphical representation of module interactions. By embedding these features directly within VS Code, we ensure developers can understand, explore, and contribute to projects efficiently without leaving their IDE.

What we learned

How to use Github copilot API, make extensions in Visual Studio, how to add AI to an application

What's next for DevSync

Increased speed, better code visualization

Built With

Share this project:

Updates