Skip to content

Commit 8cde07c

Browse files
authored
Merge branch 'develop' into hotfix/merge-completion-recording-498
2 parents 889f9c2 + 5005e56 commit 8cde07c

File tree

229 files changed

+12072
-3245
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

229 files changed

+12072
-3245
lines changed

README.md

Lines changed: 13 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44

55
![Auto Claude Kanban Board](.github/assets/Auto-Claude-Kanban.png)
66

7-
<!-- TOP_VERSION_BADGE -->
8-
[![Version](https://img.shields.io/badge/version-2.7.2-blue?style=flat-square)](https://github.com/AndyMik90/Auto-Claude/releases/tag/v2.7.2)
9-
<!-- TOP_VERSION_BADGE_END -->
107
[![License](https://img.shields.io/badge/license-AGPL--3.0-green?style=flat-square)](./agpl-3.0.txt)
118
[![Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?style=flat-square&logo=discord&logoColor=white)](https://discord.gg/KCXaPBr4Dj)
9+
[![YouTube](https://img.shields.io/badge/YouTube-Subscribe-FF0000?style=flat-square&logo=youtube&logoColor=white)](https://www.youtube.com/@AndreMikalsen)
1210
[![CI](https://img.shields.io/github/actions/workflow/status/AndyMik90/Auto-Claude/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/AndyMik90/Auto-Claude/actions)
1311

1412
---
@@ -59,7 +57,6 @@
5957
- **Claude Pro/Max subscription** - [Get one here](https://claude.ai/upgrade)
6058
- **Claude Code CLI** - `npm install -g @anthropic-ai/claude-code`
6159
- **Git repository** - Your project must be initialized as a git repo
62-
- **Python 3.12+** - Required for the backend and Memory Layer
6360

6461
---
6562

@@ -148,113 +145,11 @@ See [guides/CLI-USAGE.md](guides/CLI-USAGE.md) for complete CLI documentation.
148145

149146
---
150147

151-
## Configuration
148+
## Development
152149

153-
Create `apps/backend/.env` from the example:
150+
Want to build from source or contribute? See [CONTRIBUTING.md](CONTRIBUTING.md) for complete development setup instructions.
154151

155-
```bash
156-
cp apps/backend/.env.example apps/backend/.env
157-
```
158-
159-
| Variable | Required | Description |
160-
|----------|----------|-------------|
161-
| `CLAUDE_CODE_OAUTH_TOKEN` | Yes | OAuth token from `claude setup-token` |
162-
| `GRAPHITI_ENABLED` | No | Enable Memory Layer for cross-session context |
163-
| `AUTO_BUILD_MODEL` | No | Override the default Claude model |
164-
| `GITLAB_TOKEN` | No | GitLab Personal Access Token for GitLab integration |
165-
| `GITLAB_INSTANCE_URL` | No | GitLab instance URL (defaults to gitlab.com) |
166-
| `LINEAR_API_KEY` | No | Linear API key for task sync |
167-
168-
---
169-
170-
## Building from Source
171-
172-
For contributors and development:
173-
174-
```bash
175-
# Clone the repository
176-
git clone https://github.com/AndyMik90/Auto-Claude.git
177-
cd Auto-Claude
178-
179-
# Install all dependencies
180-
npm run install:all
181-
182-
# Run in development mode
183-
npm run dev
184-
185-
# Or build and run
186-
npm start
187-
```
188-
189-
**System requirements for building:**
190-
- Node.js 24+
191-
- Python 3.12+
192-
- npm 10+
193-
194-
**Installing dependencies by platform:**
195-
196-
<details>
197-
<summary><b>Windows</b></summary>
198-
199-
```bash
200-
winget install Python.Python.3.12
201-
winget install OpenJS.NodeJS.LTS
202-
```
203-
204-
</details>
205-
206-
<details>
207-
<summary><b>macOS</b></summary>
208-
209-
```bash
210-
brew install python@3.12 node@24
211-
```
212-
213-
</details>
214-
215-
<details>
216-
<summary><b>Linux (Ubuntu/Debian)</b></summary>
217-
218-
```bash
219-
sudo apt install python3.12 python3.12-venv
220-
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
221-
sudo apt install -y nodejs
222-
```
223-
224-
</details>
225-
226-
<details>
227-
<summary><b>Linux (Fedora)</b></summary>
228-
229-
```bash
230-
sudo dnf install python3.12 nodejs npm
231-
```
232-
233-
</details>
234-
235-
See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed development setup.
236-
237-
### Building Flatpak
238-
239-
To build the Flatpak package, you need additional dependencies:
240-
241-
```bash
242-
# Fedora/RHEL
243-
sudo dnf install flatpak-builder
244-
245-
# Ubuntu/Debian
246-
sudo apt install flatpak-builder
247-
248-
# Install required Flatpak runtimes
249-
flatpak install flathub org.freedesktop.Platform//25.08 org.freedesktop.Sdk//25.08
250-
flatpak install flathub org.electronjs.Electron2.BaseApp//25.08
251-
252-
# Build the Flatpak
253-
cd apps/frontend
254-
npm run package:flatpak
255-
```
256-
257-
The Flatpak will be created in `apps/frontend/dist/`.
152+
For Linux-specific builds (Flatpak, AppImage), see [guides/linux.md](guides/linux.md).
258153

259154
---
260155

@@ -284,7 +179,7 @@ All releases are:
284179
| `npm run package:mac` | Package for macOS |
285180
| `npm run package:win` | Package for Windows |
286181
| `npm run package:linux` | Package for Linux |
287-
| `npm run package:flatpak` | Package as Flatpak |
182+
| `npm run package:flatpak` | Package as Flatpak (see [guides/linux.md](guides/linux.md)) |
288183
| `npm run lint` | Run linter |
289184
| `npm test` | Run frontend tests |
290185
| `npm run test:backend` | Run backend tests |
@@ -316,3 +211,11 @@ We welcome contributions! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for:
316211
Auto Claude is free to use. If you modify and distribute it, or run it as a service, your code must also be open source under AGPL-3.0.
317212

318213
Commercial licensing available for closed-source use cases.
214+
215+
---
216+
217+
## Star History
218+
219+
[![GitHub Repo stars](https://img.shields.io/github/stars/AndyMik90/Auto-Claude?style=social)](https://github.com/AndyMik90/Auto-Claude/stargazers)
220+
221+
[![Star History Chart](https://api.star-history.com/svg?repos=AndyMik90/Auto-Claude&type=Date)](https://star-history.com/#AndyMik90/Auto-Claude&Date)

apps/backend/agents/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ auto-claude/agents/
2626
### `utils.py` (3.6 KB)
2727
- Git operations: `get_latest_commit()`, `get_commit_count()`
2828
- Plan management: `load_implementation_plan()`, `find_subtask_in_plan()`, `find_phase_for_subtask()`
29-
- Workspace sync: `sync_plan_to_source()`
29+
- Workspace sync: `sync_spec_to_source()`
3030

3131
### `memory.py` (13 KB)
3232
- Dual-layer memory system (Graphiti primary, file-based fallback)
@@ -73,7 +73,7 @@ from agents import (
7373
# Utilities
7474
get_latest_commit,
7575
load_implementation_plan,
76-
sync_plan_to_source,
76+
sync_spec_to_source,
7777
)
7878
```
7979

apps/backend/agents/__init__.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
Uses lazy imports to avoid circular dependencies.
1515
"""
1616

17+
# Explicit import required by CodeQL static analysis
18+
# (CodeQL doesn't recognize __getattr__ dynamic exports)
19+
from .utils import sync_spec_to_source
20+
1721
__all__ = [
1822
# Main API
1923
"run_autonomous_agent",
@@ -32,7 +36,7 @@
3236
"load_implementation_plan",
3337
"find_subtask_in_plan",
3438
"find_phase_for_subtask",
35-
"sync_plan_to_source",
39+
"sync_spec_to_source",
3640
# Constants
3741
"AUTO_CONTINUE_DELAY_SECONDS",
3842
"HUMAN_INTERVENTION_FILE",
@@ -77,15 +81,15 @@ def __getattr__(name):
7781
"get_commit_count",
7882
"get_latest_commit",
7983
"load_implementation_plan",
80-
"sync_plan_to_source",
84+
"sync_spec_to_source",
8185
):
8286
from .utils import (
8387
find_phase_for_subtask,
8488
find_subtask_in_plan,
8589
get_commit_count,
8690
get_latest_commit,
8791
load_implementation_plan,
88-
sync_plan_to_source,
92+
sync_spec_to_source,
8993
)
9094

9195
return locals()[name]

apps/backend/agents/coder.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
get_commit_count,
6363
get_latest_commit,
6464
load_implementation_plan,
65-
sync_plan_to_source,
65+
sync_spec_to_source,
6666
)
6767

6868
logger = logging.getLogger(__name__)
@@ -404,7 +404,7 @@ async def run_autonomous_agent(
404404
print_status("Linear notified of stuck subtask", "info")
405405
elif is_planning_phase and source_spec_dir:
406406
# After planning phase, sync the newly created implementation plan back to source
407-
if sync_plan_to_source(spec_dir, source_spec_dir):
407+
if sync_spec_to_source(spec_dir, source_spec_dir):
408408
print_status("Implementation plan synced to main project", "success")
409409

410410
# Handle session status

apps/backend/agents/session.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
get_commit_count,
4141
get_latest_commit,
4242
load_implementation_plan,
43-
sync_plan_to_source,
43+
sync_spec_to_source,
4444
)
4545

4646
logger = logging.getLogger(__name__)
@@ -82,7 +82,7 @@ async def post_session_processing(
8282
print(muted("--- Post-Session Processing ---"))
8383

8484
# Sync implementation plan back to source (for worktree mode)
85-
if sync_plan_to_source(spec_dir, source_spec_dir):
85+
if sync_spec_to_source(spec_dir, source_spec_dir):
8686
print_status("Implementation plan synced to main project", "success")
8787

8888
# Check if implementation plan was updated

0 commit comments

Comments
 (0)