Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/docs/2025/beer-bears/week3.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Week #2"
title: "Week #3"
---
# Week #3 (Jun 19 - Jun 25)

Expand Down
99 changes: 99 additions & 0 deletions content/docs/2025/beer-bears/week4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: "Week #4"
---

# **Week #4**

## Testing and QA

*Summary of testing strategy and types of tests implemented.*
Our team developed, and research project's QA aspects from first capstone week so, we have multiple testing scenarious, because our project is consist of complex components, which really need QA testing.
In our project we have:
- Graph generation testing
- Basic Unit testing
- Vector RAG testing
- Docker Compose Configuration testing
- Linting and styling checks

### Evidence of test execution
- [Tests CI Results](https://github.com/Beer-Bears/scaffold/actions/workflows/tests.yml?query=branch%3Amain)
- [Style CI Results](https://github.com/Beer-Bears/scaffold/actions/workflows/pre-commit.yaml?query=branch%3Amain)
- [Security CodeQL Scanning Results](https://github.com/Beer-Bears/scaffold/actions/workflows/codeql.yml?query=branch%3Amain)
- [Docker Compose CI Results](https://github.com/Beer-Bears/scaffold/actions/workflows/compose-check.yaml?query=branch%3Amain)

## CI/CD

### Security Code QL Scanning
[Workflow](https://github.com/Beer-Bears/scaffold/blob/main/.github/workflows/codeql.yml)

Automated Security Scanner for repository find vulnerabilities in code logic.

### Docker Compose Check
[Workflow](https://github.com/Beer-Bears/scaffold/blob/main/.github/workflows/compose-check.yaml)

Checks if docker compose can prorerly configure, build and run using default configuration.

### Pre-commit style check
[Workflow](https://github.com/Beer-Bears/scaffold/blob/main/.github/workflows/pre-commit.yaml)

Check code styling and linting uses pre-commit configuration.

### Pull request aproval celebration
[Workflow](https://github.com/Beer-Bears/scaffold/blob/main/.github/workflows/pull-request-approved.yaml)
When pull request is approved by person sends cute bear picture into comments to congradulate with approval and readiness for merge.

### Conventional PR title checker
[Workflow](https://github.com/Beer-Bears/scaffold/blob/main/.github/workflows/pull-request-conventional-title.yaml)
Checks pr title with conventional rules, because that we use squashing [ruleset](https://github.com/Beer-Bears/scaffold/settings/rules/5972646) into main (protected) branch.

### Testing CI (Graph generation & Unit Testing)
[Workflow](https://github.com/Beer-Bears/scaffold/blob/main/.github/workflows/pull-request-conventional-title.yaml)
Checks pr title with conventional rules, because that we use squashing [ruleset](https://github.com/Beer-Bears/scaffold/settings/rules/5972646) into main (protected) branch.

## Deployment

As deployment we do not need any deployment now, but in near future we will create docker image building and publishing into register.

## Vibe Check
<img title="Team vibe picture" alt="Team vibe picture" src="https://i.pinimg.com/736x/51/e7/5e/51e75e2b5cbe03cbdc5abf1b0f097765.jpg">
<img title="Team vibe picture" alt="Team vibe picture" src="https://i.pinimg.com/736x/92/63/c2/9263c2aa91a1440a7a62557e80898b48.jpg">
<img title="Team vibe picture" alt="Team vibe picture" src="https://i.pinimg.com/736x/71/e4/f1/71e4f17c3ee3d02e46c8da1132479437.jpg">

> Now we are feeling exited by project, we are currently adding more and more complex features into project, but feeling a bit tired and overwhelmed with a lot of tasks and deals we need to implement in near future.

# Weekly commitments

## Individual contribution of each participant

#### Trunn5
- **Add Pytest**
Add pytest framework for testing infrastructure
- **Parse Async Functions**
Added support for asynchronous function parsing
- **[Generator] Connect Files to Folders nodes**
Implemented file-to-folder mapping in generator component

#### onemoreslacker
- **Essential Integration Tests**
Developed core integration tests for critical paths
- **CI: Graph Generation Auto Testing**
Set up automated graph testing in CI pipeline

#### peplxx
- **Classical Vector RAG approach**
Introduce Vector RAG approach in project

#### 4hellboy4
- **Research: Efficiency information search in codebases**
Investigating optimization techniques for code search

### mashfeii
- **Week 4 Report**
Compiling weekly progress metrics and findings


## Confirmation of the code's operability

We confirm that the code in the main branch:
- [x] In working condition.
- [x] Run via docker-compose (or another alternative described in the `README.md`).
105 changes: 105 additions & 0 deletions content/docs/2025/beer-bears/week5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
title: "Week #5"
---

# **Week #5**

## Feedback

### Sessions

We conducted three user feedback sessions with 1st- and 2nd-year students working on summer software engineering projects.

**Session 1: Nikita (2nd year student)**
- Working on a Python-based project involving API development, machine learning, and DevOps practices.
- Found the core idea of a living knowledge graph compelling and tested Scaffold on his own project.
- Noted some bugs during usage and ultimately decided not to integrate it fully at this stage.
- Expressed interest in adopting it later once the system becomes more stable.

**Session 2: Veronika (1st year student)**
- Found the concept very accessible and engaging.
- Together with her team, visualized the structure of their small project using Scaffold.
- Identified a few opportunities for refactoring based on the generated graph.
- Did not use the MCP interface, but mentioned that the visual structure alone provided clear value.

**Session 3: Maksim (2nd year student)**
- Working on a monorepo project using TypeScript and Node.js.
- Was interested in the tool but could not try it meaningfully because Scaffold currently supports only Python.
- Expressed strong interest in multi-language support, especially for JavaScript/TypeScript, and noted that understanding cross-package dependencies is a real challenge in his stack.

### Analyze

**Key Insights:**
1. High demand for automated context extraction during onboarding (High Priority).
2. Users need better documentation for internal concepts (High Priority).
3. Interest in infrastructure-level code understanding (Medium Priority).
4. Integration with CI/CD is a clear direction for future iterations (Medium Priority).

We created and prioritized tasks accordingly:
- Improve beginner-facing docs and onboarding (#docs-onboarding)
- Prototype infrastructure knowledge extraction (#infra-parsing)
- Simplify terminology explanations in docs (#doc-glossary)

## Iteration & Refinement

### Implemented features based on feedback

- Improved AST parsing: added more robust handling of imports, class structures, and ignored files via `.scaffoldignore`.
- Integrated initial version of the MCP (Model Context Protocol) interface for connecting AI agents to external systems.
- Added basic infrastructure config parsing (Dockerfile and docker-compose) into the parsing system.
- Simplified onboarding documentation with visual walkthroughs and clarified key terminology (e.g., MCP, Signal Interface).
- Continued development of the Signal Interface prototype for triggering workflows from context graph updates.

### Performance & Stability

To measure performance, we focused on:

- **AST Generation Time**: Measured average time to parse and convert files into abstract trees.
- **Graph Insertion Speed**: Time taken to push entities into the graph database.
- **Context Fetch Latency**: Time to retrieve relevant subgraphs or vectors for a user query.

Current benchmark results (small codebase):
- AST Generation: ~1m/codebase
- Graph Insert: ~30ms/codebase
- Context Fetch: <200ms/query

### Documentation

Types of documentation:

- `docs/research`: Detailed reports and experimental notes.
- `docs/docmost`: Configuration and setup for documentation generation.
- `README.md`: Project overview, links.
- `Schemas/`: Structured documentation of internal architecture, interfaces, use cases.

This structure supports onboarding, development, and research directions simultaneously.

### ML Model Refinement

Not applicable in Week #5 – focus was on MCP integration, AST parsing, and GraphRAG enhancements.

# Weekly commitments

## Individual contribution of each participant

| Team Member | Contributions |
|---------------------|---------------|
| Sergei Melnikov (@peplxx) | Implemented vector-based RAG pipeline and docker-compose profiles |
| Sergei Razmakhov (@onemoreslacker) | Continued work on Graph-Based Context Fetching for MCP |
| Dmitry Prosvirkin (@dmitry5567) | Maintained and refined vector/graph database logic |
| Timofei Mashenkov (@mashfeii) | Prototyped the MCP interface and researched Signal integrations |
| Sergei Glazov (@pushkin404) | Conducted QA, user sessions, and updated onboarding docs |

## Plan for Next Week

- Finalize MCP <-> Graph interface with automatic signal triggers.
- Implement AST-based use case extraction.
- Improve `.scaffoldignore` coverage and performance.
- Begin benchmarking on larger repositories.
- Start prototype for infrastructure knowledge extraction.

## Confirmation of the code's operability

We confirm that the code in the main branch:
- [x] In working condition.
- [x] Run via docker-compose (or another alternative described in the `README.md`).
93 changes: 93 additions & 0 deletions content/docs/2025/beer-bears/week6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
title: "Week #6"
---

# **Week #6**

## Links

- **Docs**: [README](https://github.com/Beer-Bears/scaffold/blob/main/README.md)
- **Design**: [Design Schema Excalidraw](https://excalidraw.com/#json=8DxFWGT66eisYHShw5etd,FTPXATItDi33jkpVtVr54A)
- **Demo**: [Google Drive Video](https://drive.google.com/file/d/1ox1fetxowuctBUm16TeusSQT7uAzJuvs/view?usp=sharing)

## Final deliverables

### Project overview

*Describe your project, what problems it solves and what key features it has (only those that are implemented).*

### Features

- Python Codebase Parsing
- Code Entities Graph Generation
- Vector Embedding Indexing
- MCP tool for searching code-node information

### Tech stack

- Python 3.10
- PyTest
- FastMCP
- llama-index
- Neo4j (neomodel)
- ChromaDB

### [Setup instructions](https://github.com/Beer-Bears/scaffold/blob/main/README.md#startup)

```
## Create .env:
cp .env.example .env # Replace variables if you wish

## in the __main__.py set the path to your python project
PROJECT_PATH = "./codebase"
## or put some python files to the `codebase` directory

## Run the app.
docker-compose up

## Cursor setup:
## Add mcp server into the mcp.json:

{
"mcpServers": {
"scaffold-mcp": {
"url": "http://localhost:8000/mcp"
}
}
}

## Look at graph
## Neo4j webui with creds from .env:

http://localhost:7474/
```

## Presentation draft

[Presentation Draft In Figma](https://www.figma.com/slides/mxkeotWt8NB9TiCsLROgfV/Product-Review?node-id=1-848&t=Hr5DLigf77WcQexo-1)

# Weekly commitments

## Individual contribution of each participant

| Team Member | Contributions |
|----------------------------------------|------------------------------------------------------------------------------------------------------|
| **Sergei Melnikov (@peplxx)** | Implemented vector-based RAG pipeline and docker‑compose profiles; added vector RAG to MCP response |
| **Sergei Razmakhov (@onemoreslacker)** | Developed Graph-Based Context Fetching for MCP; introduced `.scaffoldignore` file |
| **Dmitry Prosvirkin (@dmitry5567)** | Maintained and refined graph database logic, code parsing |
| **Timofei Mashenkov (@mashfeii)** | Prototyped the MCP interface; researched Signal integrations |
| **Sergei Glazov (@pushkin404)** | Conducted QA and user sessions; updated onboarding documentation |

## Plan for Next Week

- Docker image
- Fine tuning system prompt
- Parser Fixs
- Publish on https://mcp.so/
- Presentation

## Confirmation of the code's operability

We confirm that the code in the main branch:
- [+] In working condition.
- [+] Run via docker-compose (or another alternative described in the `README.md`).
Loading