Metadata-Version: 2.4
Name: antislope-ai
Version: 0.1.0
Summary: Local AI coding supervision layer — watches your code, runs on-device review, surfaces findings via MCP
License:                                  Apache License
                                   Version 2.0, January 2004
                                http://www.apache.org/licenses/
        
           TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
        
           1. Definitions.
        
              "License" shall mean the terms and conditions for use, reproduction,
              and distribution as defined by Sections 1 through 9 of this document.
        
              "Licensor" shall mean the copyright owner or entity authorized by
              the copyright owner that is granting the License.
        
              "Legal Entity" shall mean the union of the acting entity and all
              other entities that control, are controlled by, or are under common
              control with that entity.
        
              "You" (or "Your") shall mean an individual or Legal Entity
              exercising permissions granted by this License.
        
              "Source" form shall mean the preferred form for making modifications,
              including but not limited to software source code, documentation
              source, and configuration files.
        
              "Object" form shall mean any form resulting from mechanical
              transformation or translation of a Source form, including but
              not limited to compiled object code, generated documentation,
              and conversions to other media types.
        
              "Work" shall mean the work of authorship made available under
              the License, as indicated by a copyright notice that is included in
              or attached to the work.
        
              "Derivative Works" shall mean any work that is based on the Work,
              for which the editorial revisions, annotations, elaborations,
              or other modifications represent, as a whole, an original work
              of authorship. For the purposes of this License, Derivative Works
              shall not include works that remain separable from, or merely link
              (or bind by name) to the interfaces of, the Work and Derivative Works
              thereof.
        
              "Contribution" shall mean any work of authorship, including
              the original version of the Work and any modifications or additions
              to that Work or Derivative Works of the Work, that is intentionally
              submitted to the Licensor for inclusion in the Work by the copyright owner
              or by an individual or Legal Entity authorized to submit on behalf of
              the copyright owner. For the purposes of this definition, "submitted"
              means any form of electronic, verbal, or written communication sent
              to the Licensor or its representatives.
        
              "Contributor" shall mean Licensor and any Legal Entity on behalf of
              whom a Contribution has been received by the Licensor and included
              within the Work.
        
           2. Grant of Copyright License. Subject to the terms and conditions of
              this License, each Contributor hereby grants to You a perpetual,
              worldwide, non-exclusive, no-charge, royalty-free, irrevocable
              copyright license to reproduce, prepare Derivative Works of,
              publicly display, publicly perform, sublicense, and distribute the
              Work and such Derivative Works in Source or Object form.
        
           3. Grant of Patent License. Subject to the terms and conditions of
              this License, each Contributor hereby grants to You a perpetual,
              worldwide, non-exclusive, no-charge, royalty-free, irrevocable
              (except as stated in this section) patent license to make, have made,
              use, offer to sell, sell, import, and otherwise transfer the Work,
              where such license applies only to those patent claims licensable
              by such Contributor that are necessarily infringed by their
              Contribution(s) alone or by the combination of their Contribution(s)
              with the Work to which such Contribution(s) was submitted.
        
           4. Redistribution. You may reproduce and distribute copies of the
              Work or Derivative Works thereof in any medium, with or without
              modifications, and in Source or Object form, provided that You
              meet the following conditions:
        
              (a) You must give any other recipients of the Work or Derivative Works
                  a copy of this License; and
        
              (b) You must cause any modified files to carry prominent notices
                  stating that You changed the files; and
        
              (c) You must retain, in the Source form of any Derivative Works
                  that You distribute, all copyright, patent, trademark, and
                  attribution notices from the Source form of the Work; and
        
              (d) If the Work includes a "NOTICE" text file, You must include a
                  readable copy of the attribution notices contained within such
                  NOTICE file.
        
           5. Submission of Contributions. Unless You explicitly state otherwise,
              any Contribution intentionally submitted for inclusion in the Work
              by You to the Licensor shall be under the terms and conditions of
              this License, without any additional terms or conditions.
        
           6. Trademarks. This License does not grant permission to use the trade
              names, trademarks, service marks, or product names of the Licensor.
        
           7. Disclaimer of Warranty. Unless required by applicable law or
              agreed to in writing, Licensor provides the Work on an "AS IS" BASIS,
              WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
        
           8. Limitation of Liability. In no event and under no legal theory,
              whether in tort (including negligence), contract, or otherwise,
              shall any Contributor be liable to You for damages.
        
           9. Accepting Warranty or Additional Liability. While redistributing
              the Work or Derivative Works thereof, You may choose to offer,
              and charge a fee for, acceptance of support, warranty, indemnity,
              or other liability obligations. However, in accepting such obligations,
              You may act only on Your own behalf and on Your sole responsibility.
        
           END OF TERMS AND CONDITIONS
        
           Copyright 2025 zcj220
        
           Licensed under the Apache License, Version 2.0 (the "License");
           you may not use this file except in compliance with the License.
           You may obtain a copy of the License at
        
               http://www.apache.org/licenses/LICENSE-2.0
        
           Unless required by applicable law or agreed to in writing, software
           distributed under the License is distributed on an "AS IS" BASIS,
           WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
           See the License for the specific language governing permissions and
           limitations under the License.
        
Project-URL: Homepage, https://github.com/zcj220/antislope-ai
Project-URL: Repository, https://github.com/zcj220/antislope-ai
Project-URL: Issues, https://github.com/zcj220/antislope-ai/issues
Keywords: ai,code-review,mcp,ollama,local-ai,developer-tools
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# antislope-ai

**Stop your vibe-coded project from turning into a mess.**

You're using Cursor, Copilot, or Claude Code to write code fast — but AI generates a lot of code quickly, and without a feedback loop, issues pile up silently until the codebase becomes too tangled to fix.

antislope-ai is a local background layer that:

- **Watches every save** → runs an on-device AI review automatically (no API cost, no code leaves your machine)
- **Catches issues early** → flags naming problems, missing docs, risky boundaries before they stack up into debt
- **Feeds your AI tool live context via MCP** → Cursor / Copilot / Claude Code automatically know your active rules, project structure, and recent findings without you pasting anything manually
- **Saves tokens** → instead of re-explaining your project in every conversation (2,000–20,000 tokens), MCP injects a compact, always-fresh summary (~1,000 tokens total)

> Designed for vibe coders and beginners: runs silently in the background, no manual code review needed, works with whatever AI coding tool you already use.

## How it works

```
  Your editor  ──saves──▶  watcher  ──triggers──▶  local model (Ollama, free)
                                                           │
                                                    review results
                                                           │
  AI coding tool  ◀──MCP tools──  dashboard (http://127.0.0.1:8771)
  (Copilot / Cursor / Claude Code)
```

- **Local model** (qwen2.5-coder:7b or any Ollama model) reviews every save against your project rules — runs on your machine, zero API cost
- **Dashboard** shows current issues, risk chains, and handling status
- **MCP endpoint** lets Cursor, VS Code Copilot, Claude Code, and others automatically read your active rules and recent findings — no manual copy-paste, fewer tokens per session

## Requirements

| Item | Version |
|------|---------|
| Python | ≥ 3.11 |
| [Ollama](https://ollama.com) | latest |
| macOS / Linux | — |

> Windows is not tested. Ollama runs on Windows but the shell commands differ.

## Quick start

```bash
# 1. Install Ollama and pull a model (one-time)
brew install ollama          # macOS
ollama pull qwen2.5-coder:7b

# 2. Clone and set up
git clone https://github.com/zcj220/antislope-ai.git
cd antislope-ai
python3 -m venv venv
source venv/bin/activate
pip install -e .

# 3. Initialize project
antislope init

# 4. Start the dashboard (also starts the MCP server)
antislope dashboard
# Open http://127.0.0.1:8771 in your browser
```

## Watch a file for live review

```bash
# In a second terminal
antislope watch --file path/to/your/file.py
```

## MCP integration (AI coding tools read your rules automatically)

The dashboard exposes an MCP endpoint at `http://127.0.0.1:8771/mcp` with four tools:

| Tool | Returns |
|------|---------|
| `get_active_rules` | Current active review rules |
| `get_project_structure` | Entry points and core file roles |
| `get_recent_issues` | Latest detected issues and risk level |
| `get_project_context` | Project goal, direction, and high-risk areas |

### Cursor

Config already included at `.cursor/mcp.json`. Restart Cursor — tools appear automatically.

### VS Code Copilot (Agent mode, v1.99+)

Config already included at `.vscode/mcp.json`. Restart VS Code → open Copilot Chat → switch to **Agent** mode → enable antislope tools.

### Claude Code

```bash
claude mcp add antislope http://127.0.0.1:8771/mcp
```

### Windsurf

Edit `~/.codeium/windsurf/mcp_config.json`:

```json
{
  "mcpServers": {
    "antislope": { "serverUrl": "http://127.0.0.1:8771/mcp" }
  }
}
```

## Other commands

```bash
antislope review-real --file path/to/file.py   # One-shot manual review
antislope stats                                 # Review event statistics
antislope validate-rules                        # Test rules against sample files
antislope clean-review-data                     # Normalize historical review data
antislope index-structure                       # Rebuild structure index
```

## Default model

The default model is `qwen2.5-coder:7b`. To change it, edit `data/model-settings.json`:

```json
{ "model_name": "deepseek-coder-v2:16b", "base_url": "http://localhost:11434" }
```

Any model available in your local Ollama installation can be used.

## Rules

Rules live in `rules/` (YAML) and `data/custom-rules.json`. The system ships with a set of default rules. You can add project-specific rules via the dashboard → Rules panel.

## License

MIT
