@jxtools/atlas 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +527 -0
- package/README.md +280 -0
- package/atlas.sh +997 -0
- package/notify-telegram.sh +99 -0
- package/package.json +50 -0
- package/plan_prompt.md +175 -0
- package/prompt.md +198 -0
- package/references/CONTEXT_ENGINEERING.md +81 -0
- package/references/GUARDRAILS.md +53 -0
- package/review_prompt.md +180 -0
- package/scripts/postinstall.js +51 -0
- package/skills/atlas-branching/SKILL.md +160 -0
- package/skills/atlas-guardrails/SKILL.md +189 -0
- package/skills/atlas-integration-flow/SKILL.md +208 -0
- package/skills/atlas-state/SKILL.md +225 -0
- package/templates/backlog.md +27 -0
- package/templates/guardrails.md +69 -0
- package/templates/progress.txt +14 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,527 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [3.0.0] - 2026-02-13
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- **NPM distribution**: Atlas is now published as `@jxtools/atlas` on NPM. Install with `npm install -g @jxtools/atlas`
|
|
12
|
+
- **Dynamic ATLAS_HOME**: Script resolves its own location via symlink traversal instead of hardcoded `~/.atlas`
|
|
13
|
+
- **`atlas update` command**: Now shows NPM update instructions instead of downloading from GitHub
|
|
14
|
+
- **GitHub Action**: Now publishes to NPM registry on new versions (requires `NPM_TOKEN` secret)
|
|
15
|
+
- **Error messages**: Updated references from `atlas update` to `npm update -g @jxtools/atlas`
|
|
16
|
+
|
|
17
|
+
### Removed
|
|
18
|
+
- **`install.sh`**: Replaced by `npm install -g @jxtools/atlas`
|
|
19
|
+
- **curl-based update**: No longer downloads files from GitHub raw URLs
|
|
20
|
+
- **`~/.atlas` directory**: Package files now live inside npm's global `node_modules`
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- **`package.json`**: NPM package configuration with `@jxtools/atlas` scope
|
|
24
|
+
- **`scripts/postinstall.js`**: Automatically installs Atlas skills to detected AI providers on `npm install`
|
|
25
|
+
|
|
26
|
+
## [2.6.0] - 2026-02-12
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- **`atlas init` output simplified**: Now shows only `✓ Initialized .atlas/ in <path>` instead of listing every created file and installed skill
|
|
30
|
+
|
|
31
|
+
## [2.5.0] - 2026-02-10
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- **`atlas status` command**: Shows task counts (TODO/IN_PROGRESS/DONE), active session info, and current git branch
|
|
35
|
+
- **`atlas doctor` command**: Diagnostic check for AI CLI, prompt files, envsubst, git, and gh CLI availability
|
|
36
|
+
- **Warning for `atlas plan` with non-interactive providers**: Shows confirmation prompt when using opencode or codex (which lack interactive interview support)
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- **JSON parsing for integers**: New `json_get()` helper handles both string and integer JSON values (fixes `pr_number` extraction)
|
|
40
|
+
- **`atlas resume` now respects iteration count**: `atlas resume 5` correctly limits to 5 iterations instead of ignoring the argument
|
|
41
|
+
- **Removed broken symlink**: Cleaned up `atlas` symlink pointing to non-existent Ubuntu path
|
|
42
|
+
- **`prompt.md` validation**: Fails early with clear message if prompt.md is missing instead of cryptic envsubst error
|
|
43
|
+
- **`jq` removed from skills**: `atlas-integration-flow` skill now uses grep/sed instead of requiring jq
|
|
44
|
+
- **Telegram pending count**: Fixed `head -1` → `tail -1` to read bash-verified count instead of first line
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
- **Simplified Step 0 in prompt.md**: Removed duplicated logic already handled by atlas.sh (~10 lines saved)
|
|
48
|
+
- **DRY skills installation**: New `install_skills()` function auto-detects available providers (~39 lines saved)
|
|
49
|
+
- **Centralized provider invocation**: New `run_provider()` function for plan/review commands (~20 lines saved)
|
|
50
|
+
- **Robust stale task reset**: Block-based awk state machine handles `IN_PROGRESS` and `IN PROGRESS` variants
|
|
51
|
+
- **Housekeeping**: Fixed CLI comment, cleaned .gitignore, removed dead sed, added CLAUDE.md/AGENTS.md sync note
|
|
52
|
+
|
|
53
|
+
## [2.4.1] - 2026-02-04
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
- **Codex review output is now fully non-interactive in Atlas Review**:
|
|
57
|
+
- `atlas review --cli codex` no longer streams Codex session chatter to console
|
|
58
|
+
- Codex output is captured in `.atlas/runs/review-*.log`
|
|
59
|
+
- Console now shows a clean status message and log location
|
|
60
|
+
|
|
61
|
+
### Documentation
|
|
62
|
+
- Clarified README command syntax for provider flag usage (`command or iterations`)
|
|
63
|
+
- Clarified that `.atlas/specs/` is created by `atlas plan` (not by `atlas init`)
|
|
64
|
+
|
|
65
|
+
## [2.4.0] - 2026-02-04
|
|
66
|
+
|
|
67
|
+
### Added
|
|
68
|
+
- New `atlas clean` command:
|
|
69
|
+
- `atlas clean`: Removes runtime logs (`.atlas/runs/*.log`) and temp files (`.atlas/*.tmp`)
|
|
70
|
+
- `atlas clean --all`: Also resets `.atlas/activity.log`, `.atlas/errors.log`, and stale integration session metadata
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
- **Global flag parsing is now position-independent**:
|
|
74
|
+
- `--cli` now works before or after command tokens (e.g. `atlas review --cli opencode`)
|
|
75
|
+
- Commands now reject invalid mixed arguments consistently (`plan`, `resume`, `review`, `run`)
|
|
76
|
+
- **`atlas review --dry-run` now works**:
|
|
77
|
+
- Enables report-only review mode with strict no-mutation instructions in the review prompt
|
|
78
|
+
- Works consistently with any provider and argument order
|
|
79
|
+
- **Installer/update consistency fixes**:
|
|
80
|
+
- `install.sh` now downloads `review_prompt.md` (required by `atlas review`)
|
|
81
|
+
- Critical file checks now include `review_prompt.md` (install + update)
|
|
82
|
+
- Skills are now downloaded once and copied to all available CLIs (Claude/OpenCode/Codex) even if Claude is not installed
|
|
83
|
+
- Fixed default branch detection in resume mode when `ATLAS_DEFAULT_BRANCH` is set
|
|
84
|
+
|
|
85
|
+
## [2.3.0] - 2026-02-04
|
|
86
|
+
|
|
87
|
+
### Changed
|
|
88
|
+
- **BREAKING: `atlas review` now uses AI** for intelligent auditing and repair
|
|
89
|
+
- Replaces bash-only checks with AI-powered analysis
|
|
90
|
+
- Loads full context (backlog, guardrails, progress, CLAUDE.md, git state)
|
|
91
|
+
- Enforces ALL Atlas directives (from prompt.md, guardrails.md, CLAUDE.md)
|
|
92
|
+
- Fixes inconsistencies automatically where possible
|
|
93
|
+
- Reports what cannot be auto-fixed with clear reasoning
|
|
94
|
+
- Respects `ATLAS_CLI` setting (codex/claude/opencode)
|
|
95
|
+
- New `review_prompt.md` with comprehensive audit checklist
|
|
96
|
+
|
|
97
|
+
### Fixed
|
|
98
|
+
- Review now properly audits directive compliance (quality gates, state transitions, etc.)
|
|
99
|
+
- Review can intelligently assess if tasks are truly complete
|
|
100
|
+
- Review understands context and makes smart decisions (not just mechanical checks)
|
|
101
|
+
|
|
102
|
+
## [2.2.1] - 2026-02-04
|
|
103
|
+
|
|
104
|
+
### Fixed
|
|
105
|
+
- **Codex flag syntax**: Changed from incorrect `--full-auto` to `--yolo` (official bypass flag)
|
|
106
|
+
- Codex now runs with full permission bypass in both plan and execution modes
|
|
107
|
+
|
|
108
|
+
## [2.2.0] - 2026-02-04
|
|
109
|
+
|
|
110
|
+
### Added
|
|
111
|
+
- **Codex (OpenAI) support**: New AI provider option
|
|
112
|
+
- Use `--cli codex` or `ATLAS_CLI=codex`
|
|
113
|
+
- Works in all commands: plan, execution, resume
|
|
114
|
+
- Runs with `codex exec --full-auto` for non-interactive mode
|
|
115
|
+
- Skills installed to `~/.codex/skills/` when codex CLI available
|
|
116
|
+
|
|
117
|
+
## [2.1.1] - 2026-02-04
|
|
118
|
+
|
|
119
|
+
### Changed
|
|
120
|
+
- **Removed jq dependency**: `atlas resume` now uses bash-native `awk` for JSON parsing
|
|
121
|
+
- No external dependencies required beyond core Unix tools (awk is POSIX standard)
|
|
122
|
+
- Integration session cleanup also uses awk instead of jq
|
|
123
|
+
|
|
124
|
+
## [2.1.0] - 2026-02-04
|
|
125
|
+
|
|
126
|
+
### Added
|
|
127
|
+
- **`atlas resume` command**: Resume interrupted integration sessions
|
|
128
|
+
- Detects active session from `.atlas/integration-session.json`
|
|
129
|
+
- Verifies PR not merged/closed before resuming
|
|
130
|
+
- Switches to integration branch and continues iteration loop
|
|
131
|
+
- Clear error messages for each failure scenario
|
|
132
|
+
|
|
133
|
+
## [2.0.2] - 2026-02-03
|
|
134
|
+
|
|
135
|
+
### Fixed
|
|
136
|
+
- **CRITICAL: Backlog update enforcement** - Tasks were being completed (PRs merged) but not moved to DONE in backlog.md, causing state drift
|
|
137
|
+
- Step 7 (Finalize) now marked as CRITICAL with explicit verification requirement
|
|
138
|
+
- Added "CRITICAL: Update Backlog After Merge" section to `atlas-integration-flow` skill
|
|
139
|
+
- Added verification rules to `atlas-state` skill: must confirm task in DONE before starting next task
|
|
140
|
+
- Root cause: Model was merging PRs but skipping the backlog update step, leaving completed tasks in TODO
|
|
141
|
+
|
|
142
|
+
## [2.0.1] - 2026-02-02
|
|
143
|
+
|
|
144
|
+
### Fixed
|
|
145
|
+
- **OpenCode invocation syntax** - Fixed "You must provide a message or a command" error by passing prompt content as argument instead of using `--file` flag
|
|
146
|
+
|
|
147
|
+
## [2.0.0] - 2026-02-02
|
|
148
|
+
|
|
149
|
+
### Added
|
|
150
|
+
- **Multi-provider AI support** - Atlas now supports both Claude Code and OpenCode
|
|
151
|
+
- **`--cli <provider>` flag** - Switch AI provider per command (claudecode | opencode)
|
|
152
|
+
- **`ATLAS_CLI` environment variable** - Set default provider for all sessions
|
|
153
|
+
- **Skills installation to OpenCode** - Atlas skills now installed to both `~/.claude/skills/` and `~/.config/opencode/skills/` (via `atlas init`, `atlas update`, and `install.sh`)
|
|
154
|
+
- **Provider validation** - Clear error messages if selected CLI is not installed, with installation instructions
|
|
155
|
+
- **Version flag** - `atlas --version` now displays current version (2.0.0)
|
|
156
|
+
- **Provider display** - Header now shows which AI provider is being used
|
|
157
|
+
|
|
158
|
+
### Changed
|
|
159
|
+
- Default provider remains Claude Code for backward compatibility
|
|
160
|
+
- `atlas plan` works with both providers (Claude Code recommended for best interactive experience)
|
|
161
|
+
- Improved error handling for missing AI CLIs
|
|
162
|
+
- Enhanced help documentation with examples for both providers
|
|
163
|
+
|
|
164
|
+
## [1.17.1] - 2026-02-02
|
|
165
|
+
|
|
166
|
+
### Fixed
|
|
167
|
+
- **macOS compatibility** - Fixed `timeout: command not found` error on macOS by using cross-platform timeout detection
|
|
168
|
+
|
|
169
|
+
## [1.17.0] - 2026-02-02
|
|
170
|
+
|
|
171
|
+
### Added
|
|
172
|
+
- **`atlas plan` now accepts args without quotes** - Both `atlas plan foo bar` and `atlas plan "foo bar"` work
|
|
173
|
+
|
|
174
|
+
### Fixed
|
|
175
|
+
- **plan_prompt.md deletion on case-insensitive filesystems** - macOS users can now run `atlas update` without breaking `atlas plan`
|
|
176
|
+
- Download validation in `atlas update` and `install.sh` - clearer error messages when downloads fail
|
|
177
|
+
|
|
178
|
+
### Changed
|
|
179
|
+
- Removed unnecessary comments from `atlas.sh` and `install.sh` for cleaner code
|
|
180
|
+
|
|
181
|
+
## [1.16.3] - 2026-01-23
|
|
182
|
+
|
|
183
|
+
### Fixed
|
|
184
|
+
- **Integration PR now Ready for Review** instead of Draft - allows immediate review when ready
|
|
185
|
+
- **Task movement rules enforced**: Only ONE task can be in IN_PROGRESS at a time
|
|
186
|
+
- Tasks must stay in TODO until work begins, then move to IN_PROGRESS one at a time
|
|
187
|
+
- Corrected atlas-guardrails skill: errors move to TODO (retry), not DELAYED
|
|
188
|
+
|
|
189
|
+
### Changed
|
|
190
|
+
- All Atlas skills updated to v1.1.0 with clearer invocation guidance
|
|
191
|
+
- Skills now explicitly document they should be invoked by Atlas specialized agents
|
|
192
|
+
|
|
193
|
+
## [1.16.2] - 2026-01-21
|
|
194
|
+
|
|
195
|
+
### Added
|
|
196
|
+
- `atlas init` now creates `.atlas/.gitignore` to exclude session logs from git tracking
|
|
197
|
+
- Logs (`activity.log`, `errors.log`, `runs/`) stay local for debugging, won't appear as uncommitted changes
|
|
198
|
+
|
|
199
|
+
## [1.16.1] - 2026-01-21
|
|
200
|
+
|
|
201
|
+
### Fixed
|
|
202
|
+
- Git checkout now shows actual error message instead of generic "Failed to checkout"
|
|
203
|
+
- Handle uncommitted changes gracefully with clear message and status output
|
|
204
|
+
- Handle repos without local default branch (creates from remote if available)
|
|
205
|
+
- Handle new repos with no commits yet (skips branch check entirely)
|
|
206
|
+
|
|
207
|
+
## [1.16.0] - 2026-01-21
|
|
208
|
+
|
|
209
|
+
### Added
|
|
210
|
+
- New skill `write-backlog-tasks` for structured task creation in backlog
|
|
211
|
+
- Interview-driven process: gathers requirements, explores codebase, defines scope
|
|
212
|
+
- Includes task template, priority guidelines, and anti-patterns to avoid
|
|
213
|
+
|
|
214
|
+
## [1.15.8] - 2026-01-20
|
|
215
|
+
|
|
216
|
+
### Fixed
|
|
217
|
+
- Error handling: failed tasks now return to TODO (retry), not DELAYED
|
|
218
|
+
- DELAYED section is only for tasks explicitly postponed by decision
|
|
219
|
+
|
|
220
|
+
## [1.15.7] - 2026-01-20
|
|
221
|
+
|
|
222
|
+
### Added
|
|
223
|
+
- Document `ATLAS_DEFAULT_BRANCH` env var in README and CLAUDE.md
|
|
224
|
+
|
|
225
|
+
## [1.15.6] - 2026-01-20
|
|
226
|
+
|
|
227
|
+
### Fixed
|
|
228
|
+
- **install.sh**: Now installs to `~/.atlas` (was `~/.local/bin`) - fixes "templates not found" on fresh install
|
|
229
|
+
- **atlas.sh**: Auto-detect default branch (main/master) instead of hardcoding `main` - supports repos with `master` or custom default
|
|
230
|
+
- **atlas.sh**: Check for `jq` before using it to avoid crash when not installed
|
|
231
|
+
- **atlas.sh**: Proper whitespace trim for spec paths (was removing all spaces, breaking paths with spaces)
|
|
232
|
+
- **notify-telegram.sh**: Guard against division by zero in progress bar
|
|
233
|
+
|
|
234
|
+
### Added
|
|
235
|
+
- New env var `ATLAS_DEFAULT_BRANCH` to override auto-detection
|
|
236
|
+
|
|
237
|
+
## [1.15.5] - 2026-01-20
|
|
238
|
+
|
|
239
|
+
### Fixed
|
|
240
|
+
- **CRITICAL**: prompt.md had `.claude/integration-session.json` paths instead of `.atlas/` (agent would look in wrong location)
|
|
241
|
+
- Removed dead code: `CLAUDE_PID` was never assigned but cleanup tried to use it
|
|
242
|
+
- Cleanup now returns to main branch on Ctrl+C interrupt
|
|
243
|
+
- Simplified AWK command for better portability across awk implementations
|
|
244
|
+
- Made `notify-telegram.sh` executable in repo (was missing +x)
|
|
245
|
+
|
|
246
|
+
### Changed
|
|
247
|
+
- Unified `progress.txt` template format to match prompt.md documentation
|
|
248
|
+
- Updated README to reflect integration branch workflow (PRs go to integration, not main)
|
|
249
|
+
|
|
250
|
+
## [1.15.4] - 2026-01-20
|
|
251
|
+
|
|
252
|
+
### Fixed
|
|
253
|
+
- Standardize section name to `## IN_PROGRESS` (with underscore) across all files
|
|
254
|
+
- `reset_stale_tasks()` was searching for `## IN PROGRESS` (with space) but template used underscore - stale detection never worked
|
|
255
|
+
- install.sh now downloads `plan_prompt.md` (was missing, `atlas plan` would fail on fresh install)
|
|
256
|
+
|
|
257
|
+
### Changed
|
|
258
|
+
- Updated templates, skills, README, CLAUDE.md, and references for consistency
|
|
259
|
+
|
|
260
|
+
## [1.15.3] - 2026-01-20
|
|
261
|
+
|
|
262
|
+
### Fixed
|
|
263
|
+
- Spec extraction now reads only from current task (IN_PROGRESS or first TODO), not first spec in entire backlog
|
|
264
|
+
- Tasks without `**Spec:**` field no longer load any spec file
|
|
265
|
+
|
|
266
|
+
## [1.15.2] - 2026-01-20
|
|
267
|
+
|
|
268
|
+
### Fixed
|
|
269
|
+
- **CLI retry logic**: Now performs real retries (3 silent attempts per iteration) instead of consuming iterations
|
|
270
|
+
- Telegram notifications only sent after all retries exhausted, not on each attempt
|
|
271
|
+
- CLI error notifications now show proper format with task, status, and pending count
|
|
272
|
+
|
|
273
|
+
## [1.15.1] - 2026-01-20
|
|
274
|
+
|
|
275
|
+
### Changed
|
|
276
|
+
- Move `integration-session.json` from `.claude/` to `.atlas/` for consistency
|
|
277
|
+
- All Atlas state files now live in `.atlas/` directory
|
|
278
|
+
|
|
279
|
+
## [1.15.0] - 2026-01-20
|
|
280
|
+
|
|
281
|
+
### Added
|
|
282
|
+
- Bash-verified pending task counter after each iteration (don't trust model's count)
|
|
283
|
+
- Shows pending count in terminal and Telegram notifications
|
|
284
|
+
- Logs pending count to activity.log
|
|
285
|
+
|
|
286
|
+
### Fixed
|
|
287
|
+
- **CRITICAL**: Atlas now returns to main branch on exit (COMPLETE or MAX_ITERATIONS)
|
|
288
|
+
- Prevents leaving user on integration/feature branch after run completes
|
|
289
|
+
|
|
290
|
+
### Changed
|
|
291
|
+
- CLAUDE.md: Added mandatory development workflow (branch → PR → merge)
|
|
292
|
+
|
|
293
|
+
## [1.14.0] - 2026-01-20
|
|
294
|
+
|
|
295
|
+
### Added
|
|
296
|
+
- **CRITICAL**: atlas.sh now forces checkout to main before starting iterations
|
|
297
|
+
- Automatic cleanup of merged integration sessions in bash (not dependent on model)
|
|
298
|
+
- Validates git state before invoking Claude to prevent stale branch issues
|
|
299
|
+
|
|
300
|
+
### Fixed
|
|
301
|
+
- Model no longer needs to follow "checkout main first" instruction - bash enforces it
|
|
302
|
+
- Prevents working on already-merged integration branches
|
|
303
|
+
|
|
304
|
+
## [1.13.0] - 2026-01-20
|
|
305
|
+
|
|
306
|
+
### Added
|
|
307
|
+
- CLI error detection and retry logic in atlas.sh
|
|
308
|
+
- Detects "No messages returned", API errors, network errors
|
|
309
|
+
- Automatic retry with 10s delay on CLI errors
|
|
310
|
+
- Stops after 3 consecutive errors to prevent infinite loops
|
|
311
|
+
- Telegram notifications for error states
|
|
312
|
+
|
|
313
|
+
## [1.12.3] - 2026-01-20
|
|
314
|
+
|
|
315
|
+
### Fixed
|
|
316
|
+
- Emphasized CRITICAL draft PR creation in integration flow algorithm
|
|
317
|
+
- PR to main must be created IMMEDIATELY after creating integration branch
|
|
318
|
+
|
|
319
|
+
## [1.12.2] - 2026-01-19
|
|
320
|
+
|
|
321
|
+
### Fixed
|
|
322
|
+
- Integration session cleanup: now ALWAYS starts from main at each iteration
|
|
323
|
+
- Detects merged integration PRs and auto-cleans stale session files
|
|
324
|
+
- Removed attempt to commit cleanup to main (which would fail on protected branches)
|
|
325
|
+
- Updated `atlas-integration-flow` skill with correct cleanup flow
|
|
326
|
+
|
|
327
|
+
## [1.12.1] - 2026-01-19
|
|
328
|
+
|
|
329
|
+
### Fixed
|
|
330
|
+
- Plan mode: variables now properly substituted instead of duplicated
|
|
331
|
+
- Replaced hardcoded `.atlas/backlog.md` with `$BACKLOG_FILE` variable
|
|
332
|
+
- Added Context section with all injected variables for better visibility
|
|
333
|
+
|
|
334
|
+
## [1.12.0] - 2026-01-19
|
|
335
|
+
|
|
336
|
+
### Added
|
|
337
|
+
- **Integration branch workflow**: All Atlas work now goes to an integration branch, not main
|
|
338
|
+
- Step 0 in algorithm: auto-creates `integration/atlas-YYYYMMDD-HHMMSS` branch
|
|
339
|
+
- Creates draft PR to main automatically (for human review)
|
|
340
|
+
- `.claude/integration-session.json` tracks active session state
|
|
341
|
+
- All feature PRs target integration branch
|
|
342
|
+
- **Atlas Skills**: Modular knowledge installed to `~/.claude/skills/`
|
|
343
|
+
- `atlas-integration-flow`: Integration branch workflow details
|
|
344
|
+
- `atlas-branching`: Branch naming, conventional commits, squash merge
|
|
345
|
+
- `atlas-guardrails`: Signs format, error handling, learning from failures
|
|
346
|
+
- `atlas-state`: backlog.md structure, progress.txt format, state transitions
|
|
347
|
+
- Skills auto-installed on `atlas init` and `atlas update`
|
|
348
|
+
|
|
349
|
+
### Changed
|
|
350
|
+
- Feature branches now created from integration branch (not main)
|
|
351
|
+
- PRs merged with squash to integration branch
|
|
352
|
+
- `atlas.sh` passes `integration-session.json` as context file
|
|
353
|
+
- `atlas.sh` downloads and installs skills from GitHub on update
|
|
354
|
+
|
|
355
|
+
## [1.11.0] - 2026-01-19
|
|
356
|
+
|
|
357
|
+
### Added
|
|
358
|
+
- Local mode: Atlas now works without git repositories
|
|
359
|
+
- Automatic detection of .git/ directory
|
|
360
|
+
- GIT_MODE variable passed to prompt (true/false)
|
|
361
|
+
|
|
362
|
+
### Changed
|
|
363
|
+
- Algorithm conditionally skips git operations when GIT_MODE=false
|
|
364
|
+
- No branches, commits, or PRs created in local mode
|
|
365
|
+
- Progress.txt PR field optional in local mode
|
|
366
|
+
|
|
367
|
+
## [1.10.0] - 2026-01-18
|
|
368
|
+
|
|
369
|
+
### Added
|
|
370
|
+
- Security scanning as quality gate before PR creation
|
|
371
|
+
- Secret detection: gitleaks, trufflehog, git-secrets (tries available tools)
|
|
372
|
+
- Vulnerability scanning: semgrep (30+ languages), plus language-specific fallbacks
|
|
373
|
+
- Language-agnostic approach: adapts to Node.js, Python, Go, Ruby, Java, etc.
|
|
374
|
+
- New guardrail Sign: "Security Scan Before PR"
|
|
375
|
+
|
|
376
|
+
### Changed
|
|
377
|
+
- Quality gates now split into: a) project gates, b) security scan
|
|
378
|
+
- Behavior is "best effort": warns if tools not installed, never blocks on missing tools
|
|
379
|
+
|
|
380
|
+
## [1.9.1] - 2026-01-18
|
|
381
|
+
|
|
382
|
+
### Changed
|
|
383
|
+
- Variables in prompt.md and plan_prompt.md now use explicit `envsubst` substitution
|
|
384
|
+
- Previously Claude had to mentally connect `ITERATION=2` with `$ITERATION` in text
|
|
385
|
+
- Now Claude receives fully processed text: "Iteration 2 of run..." directly
|
|
386
|
+
- More robust and less dependent on Claude's inference
|
|
387
|
+
|
|
388
|
+
## [1.9.0] - 2026-01-18
|
|
389
|
+
|
|
390
|
+
### Fixed
|
|
391
|
+
- Output capture reliability: Changed from pipe+tee to variable capture to avoid TTY buffering issues
|
|
392
|
+
- ~38% of iteration logs were previously empty due to stdout buffering when not connected to TTY
|
|
393
|
+
- Telegram notifications now show "Output not captured" instead of "No task" when logs are empty
|
|
394
|
+
|
|
395
|
+
### Added
|
|
396
|
+
- Boundaries section in prompt.md with explicit NEVER/ALWAYS rules
|
|
397
|
+
- Prevents Claude from creating unexpected files (like ARCHITECTURE_REVIEW.md)
|
|
398
|
+
- Warning message when no output is captured from Claude
|
|
399
|
+
- UNKNOWN status emoji (❓) in Telegram notifications for capture failures
|
|
400
|
+
|
|
401
|
+
### Changed
|
|
402
|
+
- Output capture now uses variable assignment instead of tee pipe (more reliable)
|
|
403
|
+
- Telegram notification handles empty summaries gracefully
|
|
404
|
+
|
|
405
|
+
## [1.8.2] - 2026-01-18
|
|
406
|
+
|
|
407
|
+
### Fixed
|
|
408
|
+
- Ctrl+C now exits the iteration loop gracefully
|
|
409
|
+
|
|
410
|
+
## [1.8.1] - 2026-01-18
|
|
411
|
+
|
|
412
|
+
### Fixed
|
|
413
|
+
- Unknown commands now show error instead of starting iteration loop
|
|
414
|
+
- Update removes old PLAN_PROMPT.md file to prevent 404 errors
|
|
415
|
+
|
|
416
|
+
## [1.8.0] - 2026-01-17
|
|
417
|
+
|
|
418
|
+
### Added
|
|
419
|
+
- Boundaries section in guardrails template with Always/Never rules
|
|
420
|
+
- Clear guidelines for safe autonomous operation across any language/stack
|
|
421
|
+
|
|
422
|
+
## [1.7.0] - 2026-01-16
|
|
423
|
+
|
|
424
|
+
### Changed
|
|
425
|
+
- Minimal initial prompt: only variables and file references (~10 lines vs ~100)
|
|
426
|
+
- prompt.md now referenced via PROMPT_FILE instead of injected
|
|
427
|
+
- Agent reads instructions from file like any other context file
|
|
428
|
+
- More scalable: prompt size no longer grows with instruction changes
|
|
429
|
+
|
|
430
|
+
## [1.6.1] - 2026-01-16
|
|
431
|
+
|
|
432
|
+
### Fixed
|
|
433
|
+
- `atlas update` shows "already up to date" when on latest version
|
|
434
|
+
|
|
435
|
+
## [1.6.0] - 2026-01-16
|
|
436
|
+
|
|
437
|
+
### Changed
|
|
438
|
+
- Prompt architecture: reference files instead of injecting content
|
|
439
|
+
- Context files listed in CONTEXT_FILES_TO_READ variable for selective reading
|
|
440
|
+
- Smaller initial prompt size, more scalable as files grow
|
|
441
|
+
- Agent reads files on-demand using Read tool (parallel reads for efficiency)
|
|
442
|
+
|
|
443
|
+
### Technical
|
|
444
|
+
- atlas.sh builds dynamic file list based on which files exist
|
|
445
|
+
- prompt.md updated with mandatory file reading instructions
|
|
446
|
+
- Variables exposed: BACKLOG_FILE, GUARDRAILS_FILE, PROGRESS_FILE, ERRORS_LOG, SPEC_FILE
|
|
447
|
+
|
|
448
|
+
## [1.5.1] - 2026-01-16
|
|
449
|
+
|
|
450
|
+
### Fixed
|
|
451
|
+
- Telegram notification emoji now uses pattern matching for statuses with extra info (e.g., "SKIPPED (already fixed)" now correctly shows ⏭️ instead of ⏳)
|
|
452
|
+
|
|
453
|
+
## [1.5.0] - 2026-01-16
|
|
454
|
+
|
|
455
|
+
### Fixed
|
|
456
|
+
- ATLAS_HOME now always points to ~/.atlas (binary can be anywhere)
|
|
457
|
+
- Plan mode runs interactively (no -p flag) so AskUserQuestionTool works
|
|
458
|
+
- Plan mode includes --dangerously-skip-permissions
|
|
459
|
+
- Version grep skips Unreleased section, shows actual version number
|
|
460
|
+
|
|
461
|
+
### Changed
|
|
462
|
+
- Plan prompt simplified: references files instead of embedding content
|
|
463
|
+
- Update output simplified: just shows "v1.4.0 → v1.5.0"
|
|
464
|
+
- CLAUDE.md: must ask user about versioning before merging PRs
|
|
465
|
+
|
|
466
|
+
## [1.4.0] - 2026-01-16
|
|
467
|
+
|
|
468
|
+
### Added
|
|
469
|
+
- `atlas plan "..."` command for interactive feature planning
|
|
470
|
+
- Planning mode uses `AskUserQuestionTool` to interview user about requirements
|
|
471
|
+
- Feature specs generated in `.atlas/specs/` directory
|
|
472
|
+
- Tasks from planning include `**Spec:**` field for integral view
|
|
473
|
+
- Main loop auto-loads spec file when task has `**Spec:**` field
|
|
474
|
+
- `PLAN_PROMPT.md` with interview, spec generation, and task decomposition phases
|
|
475
|
+
|
|
476
|
+
### Changed
|
|
477
|
+
- Documentation updated: README, CLAUDE.md, CONTEXT_ENGINEERING.md
|
|
478
|
+
- `atlas update` now includes PLAN_PROMPT.md
|
|
479
|
+
|
|
480
|
+
## [1.3.0] - 2026-01-16
|
|
481
|
+
|
|
482
|
+
### Added
|
|
483
|
+
- Iteration timeout (20 min default, configurable via `ATLAS_TIMEOUT`)
|
|
484
|
+
- Stale task recovery (auto-reset stuck IN_PROGRESS tasks after 2 hours)
|
|
485
|
+
- Pre-load all context files into prompt (no tool calls needed)
|
|
486
|
+
- `atlas update` now downloads latest version from GitHub
|
|
487
|
+
- Clear file formats for progress.txt, errors.log, guardrails.md
|
|
488
|
+
- Setup section in prompt: read context files BEFORE starting
|
|
489
|
+
- Error handling flow: move failed tasks to DELAYED
|
|
490
|
+
|
|
491
|
+
### Changed
|
|
492
|
+
- Prompt rewritten for clarity and consistency
|
|
493
|
+
- All output in English (summary, status, telegram notifications)
|
|
494
|
+
- Branch naming: `[type]/[TASK_ID]-[description]` instead of `atlas/`
|
|
495
|
+
- GitFlow: prefer /commit skill, fallback to gh CLI, then git
|
|
496
|
+
- PR body: full description instead of arbitrary text
|
|
497
|
+
- progress.txt logging is now mandatory (was optional)
|
|
498
|
+
- README simplified and updated
|
|
499
|
+
|
|
500
|
+
### Fixed
|
|
501
|
+
- Telegram parser mismatch for "Pendientes" field
|
|
502
|
+
- Spanish comments translated to English
|
|
503
|
+
|
|
504
|
+
## [1.2.0] - 2026-01-15
|
|
505
|
+
|
|
506
|
+
### Added
|
|
507
|
+
- Silent retry for transient CLI errors
|
|
508
|
+
- GitHub Action for automatic releases
|
|
509
|
+
- Release workflow instructions in CLAUDE.md
|
|
510
|
+
|
|
511
|
+
### Changed
|
|
512
|
+
- Simplified architecture to backlog.md only (removed prd.json)
|
|
513
|
+
|
|
514
|
+
## [1.1.0] - 2026-01-14
|
|
515
|
+
|
|
516
|
+
### Added
|
|
517
|
+
- Telegram notifications with progress bar
|
|
518
|
+
- Guardrails system (Signs methodology)
|
|
519
|
+
- Progress tracking across iterations
|
|
520
|
+
|
|
521
|
+
## [1.0.0] - 2026-01-14
|
|
522
|
+
|
|
523
|
+
### Added
|
|
524
|
+
- Initial release
|
|
525
|
+
- Ralph Wiggum loop implementation
|
|
526
|
+
- Basic backlog processing
|
|
527
|
+
- GitFlow integration (branch, PR, merge)
|