Skip to content
Open

= #91

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
4 changes: 4 additions & 0 deletions .github/.ace-version.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"version": "0.4.18",
"updatedAt": "2026-01-23T21:47:23.515Z"
}
13 changes: 13 additions & 0 deletions .github/agents/ace-learn.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
name: ace-learn
description: Capture patterns from completed work
target: vscode
tools:
- ce-dot-net.ace-vscode/ace_learn
- ce-dot-net.ace-vscode/ace_search
- ce-dot-net.ace-vscode/ace_status
---

# Capture Learning

Ask what was done and capture with `#ce-dot-net.ace-vscode/ace_learn`.
70 changes: 70 additions & 0 deletions .github/agents/ace.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
name: ace-expert
description: Pattern-enhanced coding with automatic ACE tool invocation
target: vscode
tools:
- ce-dot-net.ace-vscode/ace_search
- ce-dot-net.ace-vscode/ace_learn
- ce-dot-net.ace-vscode/ace_status
- ce-dot-net.ace-vscode/ace_get_playbook
- search/codebase
- read/readFile
- edit/editFiles
- read/problems
---

# ACE Expert Agent

**Pattern-enhanced coding with MANDATORY ACE tool invocation.**

## ⚠️ CRITICAL: MANDATORY Workflow

**YOU MUST follow this exact workflow for EVERY task:**

### STEP 1: BEFORE Work (MANDATORY)
```
INVOKE: #ce-dot-net.ace-vscode/ace_search
```
Search for relevant patterns BEFORE writing any code.

### STEP 2: IMPLEMENT
Apply learned patterns from the search results.

### STEP 3: AFTER Work (MANDATORY)
```
INVOKE: #ce-dot-net.ace-vscode/ace_learn
```
**YOU MUST call ace_learn BEFORE responding to the user.**

Provide:
- task: What was accomplished
- success: true/false
- output: Lessons learned, patterns discovered

## Domain-Aware Search (v0.4.18)

**When topic changes**, discover and filter by domain:
1. Use `/domains` to list available domains
2. Match topic to domain name
3. Use `ace_search` with `allowed_domains` parameter

## ✅ Example Flow

```
User: "implement JWT authentication"
1. ace_search("JWT authentication") → Find patterns
2. Implement using patterns
3. ace_learn(task="Implemented JWT auth", success=true, output="Used refresh token rotation")
4. Respond to user

User: "Now work on the UI"
1. [Topic shift: auth → UI]
2. /domains → finds "vscode-extension-ui-development"
3. ace_search("UI" allowed_domains="vscode-extension-ui-development")
4. Implement with UI-specific patterns
5. ace_learn(...)
6. Respond to user
```

55 changes: 55 additions & 0 deletions .github/instructions/ace.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
applyTo: "**/*"
---
<!-- ACE_SECTION v0.4.18 -->
# ACE Pattern Learning Integration

This project uses **ACE (Automatic Context Engine)** for pattern-based learning.

## ⚠️ MANDATORY ACE Tool Usage

### BEFORE Starting Work
When request contains: **implement, build, create, fix, debug, refactor, integrate, add, update, write, modify, change**

**INVOKE**: `#ce-dot-net.ace-vscode/ace_search` FIRST before writing any code.

### AFTER Completing Work
**INVOKE**: `#ce-dot-net.ace-vscode/ace_learn` IMMEDIATELY after completing substantial work.

Provide:
- `task`: Brief description of what was accomplished
- `success`: true/false
- `output`: Key lessons, patterns discovered, gotchas

### DURING Conversation (Topic Changes)
When the conversation topic shifts significantly:
- New domain mentioned (auth → caching, frontend → backend, etc.)
- User asks about something not covered by previous search
- Error/issue in different area than original task

**INVOKE**: `#ce-dot-net.ace-vscode/ace_search` with NEW topic query BEFORE continuing.

## Domain-Aware Search (v0.4.18)

**List domains:** Use `/domains` to see available domains with pattern counts.

**Filter search by domain:**
- `ace_search query --allowed-domains <domain1,domain2>`
- `ace_search query --blocked-domains <domain1,domain2>`

**When topic changes, search in relevant domain:**
1. Detect topic change (auth → caching, API → database, etc.)
2. Use `/domains` to discover relevant domain name
3. Call `ace_search` with `allowed_domains` parameter

Example domains: `vscode-extension-architecture-and-development`, `git-operations`, `node-express-jwt-authentication`

## Available Tools

- `#ce-dot-net.ace-vscode/ace_search` - Find relevant patterns (BEFORE work, supports domain filtering)
- `#ce-dot-net.ace-vscode/ace_learn` - Capture patterns (AFTER work)
- `#ce-dot-net.ace-vscode/ace_get_playbook` - View all patterns
- `#ce-dot-net.ace-vscode/ace_status` - Show statistics and top domains

**Remember: ace_search BEFORE, ace_learn AFTER - BOTH are MANDATORY!**
<!-- ACE_SECTION_END -->
78 changes: 78 additions & 0 deletions .github/skills/ace-pattern-learning/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
name: ace-pattern-learning
description: "Search ACE playbook before implementing, building, fixing, debugging, or refactoring code. Capture patterns after completing substantial coding work."
---
<!-- ACE_SECTION v0.4.18 -->
# ACE Pattern Learning Skill

This skill provides pattern-based learning for coding tasks.

## When This Skill Activates

Copilot will automatically load this skill when your request contains:
- **Implementation**: implement, build, create, add, develop, write
- **Modification**: update, modify, change, edit, enhance, extend
- **Debugging**: debug, fix, troubleshoot, resolve, diagnose
- **Refactoring**: refactor, optimize, improve, restructure
- **Integration**: integrate, connect, setup, configure

## BEFORE Starting Work (MANDATORY)

**INVOKE**: `#ce-dot-net.ace-vscode/ace_search` with relevant query

Search for patterns from previous work before implementing:
- Proven solutions and best practices
- Known gotchas and pitfalls to avoid
- Recommended APIs and libraries

## AFTER Completing Work (MANDATORY)

**INVOKE**: `#ce-dot-net.ace-vscode/ace_learn` with:
- `task`: Brief description of what was accomplished
- `success`: true/false
- `output`: Key lessons, patterns discovered, gotchas

**DO NOT skip this step. DO NOT respond to user without calling ace_learn first.**

## Mid-Conversation Re-Search

If user's follow-up message introduces a NEW topic or domain:
1. Recognize topic shift (auth→caching, API→database, etc.)
2. Call ace_search with the new topic BEFORE continuing
3. Apply newly retrieved patterns

**Examples of topic shifts requiring re-search:**
- "Now let's add caching" (after auth implementation)
- "I'm getting a database error" (after API work)
- "How do I deploy this?" (after coding)
- "Let's add tests" (after implementation)
- "Now handle the error cases" (new domain)

## Domain-Filtered Search (v0.4.18)

After topic change detection, use domain filtering for targeted retrieval:

1. **List domains**: `/domains` to see available domains
2. **Match topic to domain**: Find domain name matching new topic
3. **Filtered search**: `ace_search <query> allowed_domains=<domain>`

## Example Workflow (with Domain Filtering)

```
User: "implement JWT authentication"
1. ace_search("JWT authentication") → Find patterns
2. Implement using patterns found
3. ace_learn(task="Implemented JWT auth", success=true, output="Used refresh token rotation")
4. Respond to user

User: "Now add Redis caching for the tokens"
1. [Topic shift detected: auth → caching]
2. /domains → sees available domains
3. ace_search("Redis caching" allowed_domains="caching,redis") → Targeted patterns
4. Implement caching using patterns found
5. ace_learn(task="Added Redis token caching", success=true, output="Used TTL matching token expiry")
6. Respond to user
```
<!-- ACE_SECTION_END -->
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"github.copilot.nextEditSuggestions.enabled": false,
"chatgpt.openOnStartup": true,
"chatgpt.runCodexInWindowsSubsystemForLinux": true,
"chatgpt.commentCodeLensEnabled": false
Comment on lines +2 to +5

Copilot AI Mar 2, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commits workspace-specific VS Code settings (including chatgpt.* extension configuration and opening chat on startup). These settings tend to be developer-local and can be disruptive for other contributors; consider removing this file from the repo and using .gitignore, or replace with a minimal .vscode/extensions.json for non-invasive extension recommendations.

Suggested change
"github.copilot.nextEditSuggestions.enabled": false,
"chatgpt.openOnStartup": true,
"chatgpt.runCodexInWindowsSubsystemForLinux": true,
"chatgpt.commentCodeLensEnabled": false

Copilot uses AI. Check for mistakes.
}
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,28 @@ sudo xosint OR python xosint
```
if your using Termux, Type the same commands from above without the "<b>sudo"</b> and replace "apt" commands to "pkg"

## Telegram chat phone parser

Added a standalone parser for extracting phone numbers from Telegram chats.

From an exported chat file:

```bash
python3 tg_chat_number_parser.py /path/to/chat_export.json -o phones.csv --json phones.json
```

By public Telegram chat link:

```bash
python3 tg_chat_number_parser.py "https://t.me/example_chat" --pages 3 -o phones.csv --json phones.json
```

Supported input formats:
- `.json` (Telegram Desktop export)
- `.txt`
- `.html`
- `https://t.me/...` public links

# Installation using python virtual environment if normal installation doesnt work
<p style="color: green"> The normal installation of Xosint might likely have some issues running or installing due to some missing python packages, use this method only if the normal installation and usage doesnt work!!
</p>
Expand Down
Binary file added mrholmes.tar.gz
Binary file not shown.
Loading
Loading