https://github.com/alessandroraffa/arit-toolkit
https://github.com/alessandroraffa/arit-toolkit
agentic-coding ai aider claude-code cline copilot developer-tools productivity session-archiving timestamp vscode-extension
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/alessandroraffa/arit-toolkit
- Owner: alessandroraffa
- License: mit
- Created: 2026-02-05T19:17:45.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-03-01T07:56:45.000Z (21 days ago)
- Last Synced: 2026-03-01T10:55:26.140Z (21 days ago)
- Topics: agentic-coding, ai, aider, claude-code, cline, copilot, developer-tools, productivity, session-archiving, timestamp, vscode-extension
- Language: TypeScript
- Size: 7.93 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# ARIT Toolkit
[](https://github.com/alessandroraffa/arit-toolkit/actions/workflows/ci.yml)
[](https://codecov.io/gh/alessandroraffa/arit-toolkit)
[](https://marketplace.visualstudio.com/items?itemName=alessandroraffa.arit-toolkit)
[](https://marketplace.visualstudio.com/items?itemName=alessandroraffa.arit-toolkit)
[](https://opensource.org/licenses/MIT)
Chat sessions with Claude Code, Cline, Aider, Roo Code, GitHub Copilot Chat, Continue, and OpenAI Codex are scattered across your filesystem — global storage, hidden directories, workspace storage. They don't survive a machine change, they aren't versioned with your code, and they're invisible to your team. ARIT Toolkit collects them automatically into your workspace, organized by date, as project artifacts.
In the context of agentic coding, documentation is not an afterthought — it is a project artifact. Decision logs, meeting notes, AI session transcripts: they all belong in the repository alongside the code they shaped. And the text you write — prompts, specs, context files — has a direct cost measured in tokens. ARIT Toolkit archives AI sessions from 7 assistants, creates timestamped files and folders for chronological project documentation, prefixes existing items with their creation date, and gives you real-time token counts and text metrics in the status bar — all without leaving VS Code.
## Agent Sessions Archiving
AI coding assistants store their session files in different locations and formats. Agent Sessions Archiving scans these sources periodically and copies the sessions that belong to the current workspace into a single archive directory, turning them into versionable project artifacts.
**Supported assistants:**
| Assistant | Session location | Workspace matching |
| ------------------- | --------------------------------------------------------------------- | -------------------------------------------- |
| Aider | `.aider.chat.history.md` and `.aider.input.history` in workspace root | Files in workspace root |
| Claude Code | `~/.claude/projects//` | Project path derived from workspace |
| Cline | VS Code global storage | Session content references workspace path |
| OpenAI Codex | `~/.codex/sessions///
| Roo Code | VS Code global storage | Session content references workspace path |
| GitHub Copilot Chat | VS Code workspace storage (`chatSessions/`) | Per-workspace storage (`.json` and `.jsonl`) |
| Continue | `~/.continue/sessions/` | Session content references workspace path |
Missing your assistant? [Open an issue](https://github.com/alessandroraffa/arit-toolkit/issues) to request support.
**How it works:**
- Sessions are copied (not moved) to the archive directory
- Sessions from Claude Code, Cline, Roo Code, GitHub Copilot Chat, Continue, and OpenAI Codex are automatically converted to structured markdown during archiving; Aider sessions are archived as-is
- Each session maps to exactly one archived file — when the source changes, the old archive is replaced
- Archive filenames use the session's creation timestamp: `{YYYYMMDDHHmm}-{name}.md`
- Only sessions belonging to the current workspace are archived
- Session file changes are detected automatically via file system watchers (with 10-second debounce), in addition to the periodic interval
**Configuration** (in `.arit-toolkit.jsonc`):
```jsonc
{
"agentSessionsArchiving": {
"enabled": true,
"archivePath": "docs/archive/agent-sessions",
"intervalMinutes": 5,
"ignoreSessionsBefore": "20250101",
},
}
```
Set `ignoreSessionsBefore` to a `YYYYMMDD` date to skip sessions created before that date. Omit the field to archive everything.
**Toggle:** Command Palette → "ARIT: Toggle Agent Sessions Archiving"
**Archive Now:** Command Palette → "ARIT: Archive Agent Sessions Now" (also available in the status bar tooltip). Triggers an immediate archive cycle without waiting for the next interval.
## Timestamped Files and Folders
Create new files or directories with an automatic UTC timestamp prefix. Useful for meeting notes, decision logs, daily journals, or any artifact that benefits from chronological ordering.
**New file:** Right-click a folder → "ARIT: New File with Timestamp" or `Ctrl+Alt+N` / `Cmd+Alt+N`
Creates `202602051430-meeting-notes.md`
**New folder:** Right-click a folder → "ARIT: New Folder with Timestamp" or `Ctrl+Alt+Shift+N` / `Cmd+Alt+Shift+N`
Creates `202602051430-project-assets/`
## Prefix Creation Timestamp
Add the creation timestamp to existing files or directories. The timestamp is derived from the item's actual creation date. These commands are available only via the Explorer context menu (right-click), not from the Command Palette.
Right-click a file → "ARIT: Prefix Creation Timestamp"
`report.pdf` → `202602051430-report.pdf`
Right-click a folder → "ARIT: Prefix Creation Timestamp to Folder"
`assets/` → `202602051430-assets/`
## Text Stats
When you work with AI coding assistants, every file you feed into a conversation has a token cost. Knowing the token count of a prompt, a spec, or a context file before you send it helps you stay within model limits, estimate costs, and write more effective inputs. Text Stats gives you that visibility directly in VS Code.
Real-time text statistics displayed in the status bar. Shows character count, token count, word count, line count, paragraph count, estimated reading time, and file size — updated live as you type or select text.
**Status bar:** A dedicated item on the left side of the status bar shows a configurable summary. Click to change the tokenizer model. Hover for a detailed tooltip with all metrics.
**Selection-aware:** When text is selected, all metrics switch to cover only the selection. Multiple selections are joined with context-aware separators that preserve paragraph boundaries, line breaks, and word boundaries.
**Tokenizer models:** Choose between OpenAI `cl100k_base`, OpenAI `o200k_base`, or Anthropic `claude` tokenizer for accurate token counting. Token counting is lazy-loaded on first use and cached per model.
**Configuration** (in `.arit-toolkit.jsonc`):
```jsonc
{
"textStats": {
"enabled": true,
"delimiter": " | ",
"unitSpace": true,
"wpm": 200,
"tokenizer": "o200k",
"includeWhitespace": true,
"tokenSizeLimit": 500000,
"visibleMetrics": [
"chars",
"tokens",
"words",
"lines",
"paragraphs",
"readTime",
"size",
],
},
}
```
| Setting | Default | Description |
| ------------------- | --------- | ------------------------------------------------------------ |
| `enabled` | `true` | Enable or disable text stats |
| `delimiter` | `" \| "` | Separator between metrics in the status bar |
| `unitSpace` | `true` | Space between value and unit (e.g., `42 chars`) |
| `wpm` | `200` | Words per minute for reading time estimation |
| `tokenizer` | `"o200k"` | Tokenizer model: `cl100k`, `o200k`, or `claude` |
| `includeWhitespace` | `true` | Include whitespace in character count |
| `tokenSizeLimit` | `500000` | Skip token counting for files exceeding this character count |
| `visibleMetrics` | all 7 | Which metrics to show and in what order |
**Toggle:** Command Palette → "ARIT: Toggle Text Stats"
**Change tokenizer:** Click the status bar item or Command Palette → "ARIT: Change Tokenizer"
## Markdown Headings
Increment or decrement all markdown heading levels by one. Works on an entire file or just a selection.
**Increment** adds one `#` to each heading (`## Title` → `### Title`).
**Decrement** removes one `#` from each heading (`### Title` → `## Title`).
If any heading would exceed the valid range (h1–h6), the entire operation is aborted with a message. Headings inside fenced code blocks are left untouched.
**Access:**
- **Editor context menu** (right-click in a `.md` file): operates on selection if present, otherwise on the entire file.
- **Explorer context menu** (right-click on a `.md` file): operates on the entire file.
- **Command Palette:** "ARIT: Increment Markdown Headings" / "ARIT: Decrement Markdown Headings"
## Extension Toggle
An **ARIT** status bar item (bottom-right) shows the current state and lets you enable or disable advanced features with a click. Hover for a tooltip with active services and their status, with quick toggle buttons. A **Checkup** button in the tooltip runs a health check — it verifies version alignment, applies any pending config migration, preserves your customizations, and optionally commits the updated config file.
Command Palette → "ARIT: Toggle Extension (Enable/Disable)" or "ARIT: Checkup"
**Workspace initialization:** When you open a single-root workspace for the first time, ARIT Toolkit offers to create a `.arit-toolkit.jsonc` configuration file at the workspace root. When the extension updates and introduces new configuration sections, you will be prompted to add them.
**Config auto-commit:** In a Git repository, when the extension writes changes to `.arit-toolkit.jsonc` and the file is not gitignored, you are prompted to commit the change automatically. If the file has no actual Git changes, the prompt is skipped. Git hooks (pre-commit, commit-msg) are bypassed for these automated commits because VS Code's extension host process has a restricted environment where tools like `pnpm` may not be available.
**Workspace modes:**
- **Single-root workspace:** Full functionality. State persisted in `.arit-toolkit.jsonc`.
- **Multi-root workspace:** Timestamp commands available. Toggle and archiving disabled; status bar shows limited mode.
## Why ARIT Toolkit
- Archives sessions from 6 AI coding assistants into one place — no other extension does this
- Archived files live in your workspace: version them with Git, share them with your team
- Real-time token counting with OpenAI and Anthropic tokenizers — know the cost of every file before you send it to an AI assistant
- Timestamps give you a consultable timeline of the work done on a project
- Minimal configuration: one `.arit-toolkit.jsonc` file, sensible defaults
- Zero runtime dependencies — VS Code API only
## What's Next
- Support for additional assistants (Cursor, Windsurf)
- Full-text search across archived sessions
- Dashboard summarizing session activity per project
- Context window budgeting — track cumulative token usage across multiple files
## Configuration
| Setting | Default | Description |
| ------------------------- | -------------- | ---------------------------------------- |
| `arit.timestampFormat` | `YYYYMMDDHHmm` | Format for the timestamp prefix |
| `arit.timestampSeparator` | `-` | Separator between timestamp and filename |
| `arit.logLevel` | `info` | Logging level for debug output |
**Timestamp formats:**
| Format | Example | Description |
| ---------------- | -------------------------- | ------------------------------ |
| `YYYYMMDDHHmm` | `202602051430` | Year, month, day, hour, minute |
| `YYYYMMDD` | `20260205` | Year, month, day only |
| `YYYYMMDDHHmmss` | `20260205143022` | Full timestamp with seconds |
| `ISO` | `2026-02-05T14-30-22-123Z` | ISO 8601 (with milliseconds) |
## Keyboard Shortcuts
| Command | Windows/Linux | macOS | Context |
| ------------------------- | ------------------ | ----------------- | ---------------- |
| New File with Timestamp | `Ctrl+Alt+N` | `Cmd+Alt+N` | Explorer focused |
| New Folder with Timestamp | `Ctrl+Alt+Shift+N` | `Cmd+Alt+Shift+N` | Explorer focused |
## Installation
### From VS Code Marketplace
1. Open VS Code
2. Press `Ctrl+P` / `Cmd+P`
3. Type `ext install alessandroraffa.arit-toolkit`
### From VSIX File
1. Download the `.vsix` file from [Releases](https://github.com/alessandroraffa/arit-toolkit/releases)
2. In VS Code, press `Ctrl+Shift+P` / `Cmd+Shift+P`
3. Type "Install from VSIX" and select the downloaded file
## Requirements
- VS Code 1.109.0 or higher
## Security
To report a security vulnerability, please see [SECURITY.md](SECURITY.md) for responsible disclosure guidelines.
## Contributing
Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.
## Changelog
See [CHANGELOG.md](CHANGELOG.md) for a list of changes.
## License
This project is licensed under the MIT License — see the [LICENSE](LICENSE) file for details.
## About ARIT
**ARIT** stands for **A**lessandro **R**affa **I**nformation **T**echnologies.
**Alessandro Raffa** — [@alessandroraffa](https://github.com/alessandroraffa)