@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.
@@ -0,0 +1,208 @@
1
+ ---
2
+ name: atlas-integration-flow
3
+ description: |
4
+ Integration branch workflow for Atlas autonomous sessions. ONLY use when
5
+ running as Atlas agent (detected by GIT_MODE=true in prompt context).
6
+ Handles: creating integration branch, PR workflow to integration,
7
+ PR to main (Ready for Review). Use when: (1) starting Atlas session with git,
8
+ (2) creating PRs during Atlas run, (3) completing Atlas session.
9
+
10
+ IMPORTANT: When using Atlas specialized agents, invoke this skill for git operations.
11
+ author: Atlas
12
+ version: 1.1.0
13
+ date: 2026-01-23
14
+ ---
15
+
16
+ # Atlas Integration Branch Flow
17
+
18
+ **CRITICAL**: Only apply this workflow when running as Atlas agent with GIT_MODE=true.
19
+
20
+ ## Overview
21
+
22
+ All Atlas work goes to an integration branch, NOT directly to main. This allows human review of all changes before merging to main.
23
+
24
+ ```
25
+ main (protected)
26
+
27
+ └── integration/atlas-YYYYMMDD-HHMMSS ← PR to main (Ready for Review, NO merge until review)
28
+
29
+ ├── feature/TASK-001 → PR to integration ✓ merged
30
+ ├── feature/TASK-002 → PR to integration ✓ merged
31
+ └── fix/TASK-003 → PR to integration ✓ merged
32
+ ```
33
+
34
+ ## Step 0: Start Every Iteration
35
+
36
+ **CRITICAL**: ALWAYS start from main, then check for existing session.
37
+
38
+ ```bash
39
+ # 1. ALWAYS start from main
40
+ git checkout main && git pull origin main
41
+
42
+ # 2. Check for existing session
43
+ if [[ -f .atlas/integration-session.json ]]; then
44
+ PR_NUMBER=$(grep '"pr_number"' .atlas/integration-session.json | sed 's/[^0-9]//g')
45
+ PR_STATE=$(gh pr view "$PR_NUMBER" --json state -q '.state')
46
+
47
+ if [[ "$PR_STATE" == "MERGED" ]]; then
48
+ # Session was merged - cleanup locally and create new
49
+ BRANCH=$(grep '"branch"' .atlas/integration-session.json | sed 's/.*"branch"[[:space:]]*:[[:space:]]*"//;s/".*//')
50
+ git branch -D "$BRANCH" 2>/dev/null || true # Delete local branch
51
+ rm .atlas/integration-session.json # Delete locally (no commit to main - it's protected)
52
+ # Continue to create new session below
53
+ else
54
+ # Session still active - use it
55
+ BASE_BRANCH=$(grep '"branch"' .atlas/integration-session.json | sed 's/.*"branch"[[:space:]]*:[[:space:]]*"//;s/".*//')
56
+ git checkout "$BASE_BRANCH" && git pull origin "$BASE_BRANCH"
57
+ # Skip to step 1
58
+ fi
59
+ fi
60
+ ```
61
+
62
+ ## Creating New Integration Session
63
+
64
+ **When no session exists** (first iteration or after cleanup):
65
+
66
+ ```bash
67
+ # 1. Generate session name
68
+ SESSION_NAME="atlas-$(date +%Y%m%d-%H%M%S)"
69
+ BASE_BRANCH="integration/$SESSION_NAME"
70
+
71
+ # 2. Create integration branch (already on main from step 0)
72
+ git checkout -b "$BASE_BRANCH"
73
+ git push -u origin "$BASE_BRANCH"
74
+
75
+ # 3. Create PR to main - Ready for Review, NOT draft (REQUIRED)
76
+ PR_URL=$(gh pr create --base main \
77
+ --title "🔄 Integration: $SESSION_NAME" \
78
+ --body "## Integration Branch
79
+
80
+ ⚠️ **NO MERGEAR** hasta revisión completa.
81
+
82
+ ### PRs incluidos
83
+ _Se actualizará con cada feature mergeada_
84
+
85
+ ### Checklist
86
+ - [ ] Code review completo
87
+ - [ ] Tests passing
88
+ - [ ] Sin conflictos con main
89
+ ")
90
+ PR_NUMBER=$(echo "$PR_URL" | grep -oE '[0-9]+$')
91
+
92
+ # 4. Create session file (.atlas/ already exists from atlas init)
93
+ cat > .atlas/integration-session.json << EOF
94
+ {
95
+ "session_name": "$SESSION_NAME",
96
+ "branch": "$BASE_BRANCH",
97
+ "pr_number": $PR_NUMBER,
98
+ "status": "active",
99
+ "created_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
100
+ }
101
+ EOF
102
+
103
+ # 5. Commit session file
104
+ git add .atlas/integration-session.json
105
+ git commit -m "chore: init integration session $SESSION_NAME"
106
+ git push
107
+ ```
108
+
109
+ ## Why Start from Main?
110
+
111
+ If you start directly on an old integration branch:
112
+ 1. The user may have already merged the PR on GitHub
113
+ 2. You'd be working on a stale branch
114
+ 3. New Atlas runs would start from the wrong base
115
+
116
+ By ALWAYS starting from main and checking PR state, we ensure:
117
+ - Fresh state on every iteration start
118
+ - Automatic cleanup of merged sessions
119
+ - New sessions created from latest main
120
+
121
+ ## Creating Feature Branches
122
+
123
+ Always create from integration branch:
124
+
125
+ ```bash
126
+ # CORRECT
127
+ git checkout "$BASE_BRANCH"
128
+ git pull origin "$BASE_BRANCH"
129
+ git checkout -b feature/TASK-001-description
130
+
131
+ # WRONG - never branch from main during Atlas session
132
+ git checkout main # NO!
133
+ ```
134
+
135
+ ## Creating PRs
136
+
137
+ **Target integration branch, NOT main**:
138
+
139
+ ```bash
140
+ # CORRECT
141
+ gh pr create --base "$BASE_BRANCH" --title "feat: description"
142
+
143
+ # WRONG
144
+ gh pr create --base main # NO! Never during Atlas session
145
+ ```
146
+
147
+ ## Merging PRs
148
+
149
+ ```bash
150
+ # Squash merge to integration
151
+ gh pr merge --squash --delete-branch
152
+
153
+ # Return to integration branch
154
+ git checkout "$BASE_BRANCH"
155
+ git pull origin "$BASE_BRANCH"
156
+ ```
157
+
158
+ ## CRITICAL: Update Backlog After Merge
159
+
160
+ **IMMEDIATELY after merging a PR, you MUST update the backlog:**
161
+
162
+ ```bash
163
+ # 1. Move task from IN_PROGRESS to DONE in backlog.md
164
+ # Add completion date and PR number
165
+
166
+ # 2. Append to progress.txt with summary
167
+
168
+ # 3. Commit and push state changes
169
+ git add .atlas/
170
+ git commit -m "chore: complete [TASK_ID]"
171
+ git push
172
+ ```
173
+
174
+ **NEVER proceed to the next task without updating the backlog.**
175
+ This is the most common source of state drift - tasks get completed but backlog shows them as pending.
176
+
177
+ **Verification**: Before starting a new task, confirm the previous task appears in the DONE section of backlog.md.
178
+
179
+ ## End of Session
180
+
181
+ The integration branch stays with PR open to main (Ready for Review). Human reviews and merges when ready.
182
+
183
+ **DO NOT**:
184
+ - Merge integration PR to main automatically
185
+ - Delete integration branch before human review
186
+
187
+ ## Session File Format
188
+
189
+ ```json
190
+ {
191
+ "session_name": "atlas-20260119-155537",
192
+ "branch": "integration/atlas-20260119-155537",
193
+ "pr_number": 28,
194
+ "status": "active",
195
+ "created_at": "2026-01-19T15:55:37Z"
196
+ }
197
+ ```
198
+
199
+ ## Error Recovery
200
+
201
+ If integration branch gets out of sync:
202
+ ```bash
203
+ git checkout "$BASE_BRANCH"
204
+ git pull origin "$BASE_BRANCH"
205
+ # If conflicts, resolve them on integration branch
206
+ ```
207
+
208
+ If session file is corrupted, check GitHub for the integration branch and PR number, then recreate the file.
@@ -0,0 +1,225 @@
1
+ ---
2
+ name: atlas-state
3
+ description: |
4
+ State file management for Atlas autonomous agent. ONLY use when running
5
+ as Atlas agent. Covers: backlog.md structure, progress.txt format,
6
+ errors.log format, activity.log. Use when: (1) moving tasks between states,
7
+ (2) logging progress, (3) recording errors.
8
+
9
+ CRITICAL: Only ONE task can be in IN_PROGRESS at a time. Tasks start in TODO,
10
+ move to IN_PROGRESS when work begins, then to DONE when complete.
11
+
12
+ IMPORTANT: When using Atlas specialized agents, invoke this skill for state management.
13
+ author: Atlas
14
+ version: 1.1.0
15
+ date: 2026-01-23
16
+ ---
17
+
18
+ # Atlas State Management
19
+
20
+ **CRITICAL**: Only apply when running as Atlas agent.
21
+
22
+ ## File Locations
23
+
24
+ All state files live in `.atlas/` directory:
25
+
26
+ ```
27
+ .atlas/
28
+ ├── backlog.md # Task queue
29
+ ├── progress.txt # Completed task history
30
+ ├── guardrails.md # Learned rules
31
+ ├── errors.log # Error history
32
+ ├── activity.log # Run history (managed by atlas.sh)
33
+ ├── runs/ # Per-iteration logs
34
+ └── specs/ # Feature specifications
35
+ ```
36
+
37
+ ## backlog.md Structure
38
+
39
+ ```markdown
40
+ # [Project] Backlog
41
+
42
+ ## TODO
43
+
44
+ ### TASK-001: Task title
45
+ - **Category:** feature|fix|refactor|test|docs|chore
46
+ - **Spec:** .atlas/specs/spec-YYYYMMDD-HHMMSS.md (optional)
47
+ - **Description:** Brief description (optional)
48
+
49
+ ### TASK-002: Another task
50
+ - **Category:** fix
51
+
52
+ ## IN_PROGRESS
53
+
54
+ ### TASK-003: Current task (STARTED: 2026-01-19)
55
+ - **Category:** feature
56
+
57
+ ## DONE
58
+
59
+ ### TASK-004: Completed task (2026-01-19) - PR #123
60
+ - **Category:** feature
61
+
62
+ ## DELAYED
63
+
64
+ ### TASK-005: Blocked task (DELAYED: 2026-01-19)
65
+ - **Category:** feature
66
+ - **Delay reason:** Missing API credentials
67
+ ```
68
+
69
+ ### Moving Tasks
70
+
71
+ **TODO → IN_PROGRESS**:
72
+ ```markdown
73
+ # Before (in TODO)
74
+ ### TASK-001: Add feature
75
+
76
+ # After (in IN_PROGRESS)
77
+ ### TASK-001: Add feature (STARTED: 2026-01-19)
78
+ ```
79
+
80
+ **IN_PROGRESS → DONE**:
81
+ ```markdown
82
+ # Before (in IN_PROGRESS)
83
+ ### TASK-001: Add feature (STARTED: 2026-01-19)
84
+
85
+ # After (in DONE)
86
+ ### TASK-001: Add feature (2026-01-19) - PR #45
87
+ ```
88
+
89
+ **IN_PROGRESS → DELAYED**:
90
+ ```markdown
91
+ # Before (in IN_PROGRESS)
92
+ ### TASK-001: Add feature (STARTED: 2026-01-19)
93
+
94
+ # After (in DELAYED)
95
+ ### TASK-001: Add feature (DELAYED: 2026-01-19)
96
+ - **Delay reason:** Build fails due to missing dependency
97
+ ```
98
+
99
+ ### Task Selection
100
+
101
+ 1. If task in IN_PROGRESS → continue that task
102
+ 2. If no task in IN_PROGRESS → pick FIRST task from TODO
103
+ 3. If TODO and IN_PROGRESS empty → session complete
104
+
105
+ **CRITICAL RULES:**
106
+ - **ONLY ONE** task can be in IN_PROGRESS at any time
107
+ - **NEVER** move multiple tasks to IN_PROGRESS
108
+ - **NEVER** skip tasks - ALWAYS pick the first one from TODO
109
+ - Tasks flow: TODO → IN_PROGRESS → DONE (one at a time)
110
+ - **NEVER** proceed to next task without moving current task to DONE
111
+ - **ALWAYS** update backlog.md IMMEDIATELY after merging PR
112
+ - **VERIFY** task is in DONE section before starting new task
113
+
114
+ ## progress.txt Format
115
+
116
+ Append after each completed task:
117
+
118
+ ```markdown
119
+ ## [DATE] - [TASK_ID]: [Title]
120
+ Summary: [1-2 sentences of what was done]
121
+ PR: #[number]
122
+ Notes: [any gotchas for future iterations]
123
+ ```
124
+
125
+ **Example**:
126
+ ```markdown
127
+ ## 2026-01-19 - HIGH-001: Create user authentication
128
+ Summary: Implemented JWT auth with refresh tokens. Added login/logout endpoints.
129
+ PR: #45
130
+ Notes: Refresh token rotation requires Redis, see .env.example for config.
131
+
132
+ ## 2026-01-19 - HIGH-002: Add password reset
133
+ Summary: Added forgot password flow with email verification.
134
+ PR: #46
135
+ Notes: Email templates in templates/email/. Requires SMTP config.
136
+ ```
137
+
138
+ ### What to Include
139
+
140
+ - **Summary**: What was implemented, high-level
141
+ - **PR**: The PR number for reference
142
+ - **Notes**: Things future iterations should know
143
+
144
+ ### What NOT to Include
145
+
146
+ - Code snippets (too verbose)
147
+ - Full file paths (summarize instead)
148
+ - Debug information
149
+ - Time spent
150
+
151
+ ## errors.log Format
152
+
153
+ One line per error:
154
+
155
+ ```
156
+ [DATE] TASK_ID: Brief error description
157
+ ```
158
+
159
+ **Examples**:
160
+ ```
161
+ [2026-01-19] HIGH-003: Build failed - TypeScript error in UserService
162
+ [2026-01-19] MED-007: Tests failed - Mock not configured for external API
163
+ [2026-01-19] LOW-012: Blocked - Missing API credentials in .env
164
+ ```
165
+
166
+ Keep it brief. Details go in progress.txt or guardrails.md.
167
+
168
+ ## State Commits
169
+
170
+ After modifying state files, commit immediately:
171
+
172
+ ```bash
173
+ # Starting task
174
+ git add .atlas/backlog.md
175
+ git commit -m "chore: start TASK-001"
176
+
177
+ # Completing task
178
+ git add .atlas/
179
+ git commit -m "chore: complete TASK-001"
180
+
181
+ # Delaying task
182
+ git add .atlas/
183
+ git commit -m "chore: delay TASK-001"
184
+ ```
185
+
186
+ **IMPORTANT**: Push after commit when GIT_MODE=true:
187
+ ```bash
188
+ git push
189
+ ```
190
+
191
+ ## Integration with Specs
192
+
193
+ If task has a `**Spec:**` field, read that spec for full context:
194
+
195
+ ```markdown
196
+ ### HIGH-005: Implement payment flow
197
+ - **Category:** feature
198
+ - **Spec:** .atlas/specs/spec-20260119-143022.md
199
+ ```
200
+
201
+ The spec contains:
202
+ - Full requirements
203
+ - Acceptance criteria
204
+ - Technical decisions
205
+ - Edge cases
206
+
207
+ **ALWAYS read the spec before starting a task that has one.**
208
+
209
+ ## Session Complete
210
+
211
+ When TODO and IN_PROGRESS are both empty:
212
+
213
+ 1. Print summary
214
+ 2. Output `<promise>COMPLETE</promise>`
215
+ 3. Atlas loop will exit
216
+
217
+ ```markdown
218
+ === SUMMARY ===
219
+ Task: [last task completed]
220
+ Status: DONE
221
+ Pending: 0
222
+ Loop: COMPLETE
223
+
224
+ <promise>COMPLETE</promise>
225
+ ```
@@ -0,0 +1,27 @@
1
+ # [PROJECT_NAME] Backlog
2
+
3
+ ## TODO
4
+
5
+ ### HIGH-001: Example task - DELETE THIS
6
+ - **Category:** feature
7
+ - **Description:** Replace this with your first real task
8
+ - **Steps:**
9
+ 1. Step 1
10
+ 2. Step 2
11
+
12
+ <!-- Tasks from `atlas plan` include **Spec:** field for integral view:
13
+ ### MED-002: Example planned task
14
+ - **Category:** feature
15
+ - **Spec:** .atlas/specs/spec-20260116-120000.md
16
+ - **Description:** Task generated from feature spec
17
+ - **Steps:**
18
+ 1. Step 1
19
+ 2. Step 2
20
+ - **Acceptance:** How to verify done
21
+ -->
22
+
23
+ ## IN_PROGRESS
24
+
25
+ ## DONE
26
+
27
+ ## DELAYED
@@ -0,0 +1,69 @@
1
+ # Guardrails
2
+
3
+ > Rules learned from errors and gotchas. Atlas reads this at the start of every iteration.
4
+
5
+ ## How to Add Signs
6
+
7
+ When you encounter an error or learn something the hard way, add a Sign:
8
+
9
+ ```markdown
10
+ ### Sign: [Descriptive Name]
11
+ - **Trigger**: When does this apply?
12
+ - **Instruction**: What to do (or NOT do)
13
+ - **Type**: Preventive | Corrective | Process | Architecture
14
+ - **Learned from**: Task ID or iteration
15
+ ```
16
+
17
+ ## Core Signs
18
+
19
+ ### Sign: Always Read Before Edit
20
+ - **Trigger**: Before modifying any file
21
+ - **Instruction**: Always read the current file content before making changes
22
+ - **Type**: Preventive
23
+ - **Learned from**: Best practice
24
+
25
+ ### Sign: One Task Per Iteration
26
+ - **Trigger**: When tempted to do multiple tasks
27
+ - **Instruction**: Complete ONE task fully before moving to the next
28
+ - **Type**: Process
29
+ - **Learned from**: Atlas design principle
30
+
31
+ ### Sign: Verify Build After Changes
32
+ - **Trigger**: After any code modification
33
+ - **Instruction**: Run build/lint/test commands before marking task complete
34
+ - **Type**: Corrective
35
+ - **Learned from**: Best practice
36
+
37
+ ### Sign: Security Scan Before PR
38
+ - **Trigger**: Before creating a pull request
39
+ - **Instruction**: Run available security tools (gitleaks, semgrep, npm audit, etc.) and fix HIGH/CRITICAL issues. Skip with warning if tools not installed.
40
+ - **Type**: Preventive
41
+ - **Learned from**: Best practice
42
+
43
+ ---
44
+
45
+ ## Boundaries
46
+
47
+ ### ✅ Always
48
+ - Run existing tests before committing changes
49
+ - Read file contents before making edits
50
+ - Use available agents and skills when they fit the task
51
+ - Follow project naming conventions and code style
52
+ - Verify CI/PR checks pass before requesting merge
53
+ - Write clear, conventional commit messages
54
+ - Validate changes work before marking task complete
55
+
56
+ ### 🚫 Never
57
+ - Commit secrets, credentials, or API keys
58
+ - Force push to protected branches without explicit approval
59
+ - Delete or skip failing tests without explicit approval
60
+ - Bypass quality gates (linter, formatter, type checker, tests)
61
+ - Leave temporary debug code in production
62
+ - Edit auto-generated files directly (modify the source instead)
63
+ - Ignore compiler/linter warnings without justification
64
+
65
+ ---
66
+
67
+ ## Project-Specific Signs
68
+
69
+ <!-- Add signs learned during this project below -->
@@ -0,0 +1,14 @@
1
+ # Progress Log
2
+
3
+ Atlas automatically appends entries here after completing each task.
4
+
5
+ Format:
6
+ ```
7
+ ## [DATE] - [TASK_ID]: [Title]
8
+ Summary: [1-2 sentences of what was done]
9
+ PR: #[number] (omit if local mode)
10
+ Notes: [any gotchas for future iterations]
11
+ ```
12
+
13
+ ================================================================================
14
+