## 2025-06-23

The new markdown bullet-point entry for CHANGELOG.md includes the following updates:

* Added support for generating changelog entries based on Git diffs using the `changelog` command.
* Updated the summary of the code file directly to the terminal using the `summ` command.
* Refactored the code to use the new `handleChangelogUpdate()` function instead of the old `updateReadmeIfNeeded()` function for generating changelogs.

## 2025-06-24

### Changelog Update (Version 0.1.16)

* Update to version 0.1.16 with changes from `package.json`.
* Add support for running modules using the `module` command.
* Add support for generating tests using the `tests` module.
* Add support for suggesting a commit message using the `suggest` module.
* Add support for updating the changelog using the `changelog` module.


## 2025-06-29
Type handling with the module pipeline
┌────────────────────────────────────────────────────────────────┐
│  1. Command Layer (CLI)                                        │
│  - User interaction                                            │
│  - Handles input/output                                        │
│                                                                │
│  🡆 Uses:                                                      │
│     - Input:  PromptInput                                      │
│     - Output: PromptOutput (reads summary/suggestions)         │
└────────────┬───────────────────────────────────────────────────┘
             │
             ▼
┌────────────────────────────────────────────────────────────────┐
│  2. PromptModule Layer                                         │
│  - Domain-specific logic                                       │
│  - Calls `generate()`                                          │
│  - Parses model output into usable fields                      │
│                                                                │
│  🡆 Type: PromptModule                                         │
│     - run(input: PromptInput) => Promise<PromptOutput>         │
│                                                                │
│  🡆 Uses:                                                      │
│     - Receives: PromptInput                                    │
│     - Calls: generate(PromptInput, model): Promise<PromptOutput>│
│     - Parses output.content → summary/suggestions fields       │
└────────────┬───────────────────────────────────────────────────┘
             │
             ▼
┌────────────────────────────────────────────────────────────────┐
│  3. generate() Function                                        │
│  - Sends prompt to model                                       │
│  - Returns raw model text in `.content`                        │
│                                                                │
│  🡆 Signature:                                                  │
│     generate(input: PromptInput, model: string)                │
│       => Promise<PromptOutput>                                 │
│                                                                │
│  🡆 Output fields:                                             │
│     - content: string (LLM output text)                        │
│     - filepath?: string (optional passthrough)                │
└────────────────────────────────────────────────────────────────┘



## 2025-06-30

* Added context generation via summaries in sqlite3 db with FTS5
* Improved the `dbstats.sh` script to include more accurate row counts and improved formatting for better readability. (#20)
* Added an `IGNORED_FOLDER_GLOBS` constant in `src/config/IgnoredPaths.ts` to allow for ignoring folders and file globs during indexing and scanning. (#17)
* Fixed a bug in the `searchFiles` function of `src/db/fileIndex.ts` that prevented search results from being returned correctly. (#25)
* Updated the `runModulePipeline` function in `src/pipeline/runModulePipeline.ts` to allow for returning more accurate output and ensure consistent return types. (#27)

## 2025-07-01

### Version 0.1.20 (2023-04-01)
* Added support for querying file summaries and a local model using the `scai ask` command. The command will first search for matching files and pass their summaries to the model for context-based synthesis, if any are found. If no summaries are found, it will instead query the model for context without them.


## 2025-07-12

* • Fixes to improve code quality and maintainability.
* • Enhances model initialization for better performance.
* • Adds support for generating changelogs based on Git diff.
* • Improves the handling of ignored files to reduce noise in the model.
* • Updates the `changelog` command to generate a meaningful summary.
* • Enhances the `sugg` command to provide more accurate suggestions.
* • Fixes issues with refactoring code to improve readability.

## 2025-07-24

* Added token and owner/repo parameters to `getPullRequestsForReview` function
* Updated `askUserToPickPR` function to accept a list of PR objects
* Removed unnecessary code from `reviewPullRequestCmd`
* Added `cancel` option to `askReviewApproval` function

## 2025-08-10

• Removed versioned dist folder 
• Update .gitignore to ignore Node and build artifacts, editor/IDE files, and project-specific ignores.
• Added scripts for building cli, server, and dashboard
• Restructure the workspace into 3 modules, cli, dashboard, server
• Improved `askChangelogApproval` to support editing and skipping of changelog entries

## 2025-08-12

* Added support for backing up SCAI folder with timestamped directory.
* Split file processing into logical chunks with logging.
* Improved commit suggestion generation logic.
* Removed unnecessary files and updated index.ts to use handleAgentRun instead.
* Fetch download statistics from NPM API.

## 2025-08-16

• Update preserveCodeModule to compare blocks correctly and handle duplicate blocks
• Normalize line endings and detect comments in preserveCodeModule

## 2025-08-18

• Add interactive delete repository command
• Refactor DeleteIndex command to handle repository deletion correctly

## 2025-08-19

* Improved line classification and merging logic

## 2025-08-19

• Update `gen` command's `comm` subcommand to allow targeting files or folders

## 2025-08-20

• Add DB-related commands to db subcommand (check, reset, migrate)
• Update table view limits for files and functions in dbcheck.ts
• Improved resetDatabase command with confirmation prompt before deleting database

## 2025-08-23

* Improved CLI configuration settings with context-aware actions
* Improved logging and added active repo change detection

## 2025-08-24

• Improved CLI review command with AI-generated suggestions and enhanced user interface.

## 2025-08-26

• Fixed bug where entire block was returned as a single line for multi-line comments
• Add multi-line comment handling with ~90% accuracy
• Update CLI config file to use codellama:13b model and 4096 context length