Skip to content

Commit e06db5b

Browse files
authored
Merge pull request #20 from attogram/feature/integrate-base
Integrate attogram/base Workflows and Publishing
2 parents 3181b1a + f46e530 commit e06db5b

23 files changed

+413
-144
lines changed

.github/RELEASE_BODY.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Attogram Agents ${TAG}
2+
3+
Standardize your AI collaboration process.
4+
5+
---
6+
7+
This release contains the following changes:

.github/RELEASE_TITLE.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Attogram Agents ${TAG}

.github/workflows/ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Lint and Validate
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
jobs:
10+
lint:
11+
name: Lint Code Base
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout Code
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: "20"
21+
22+
- name: Install Prettier
23+
run: npm install --global prettier
24+
25+
- name: Run Prettier
26+
run: prettier --check .

.github/workflows/create.release.for.tag.yml

Lines changed: 0 additions & 62 deletions
This file was deleted.

.github/workflows/pages.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Deploy GitHub Pages site
2+
3+
on:
4+
# Runs on pushes targeting the default branch
5+
push:
6+
branches: ["main"]
7+
8+
# Allows you to run this workflow manually from the Actions tab
9+
workflow_dispatch:
10+
11+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
12+
permissions:
13+
contents: read
14+
pages: write
15+
id-token: write
16+
17+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
18+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
19+
concurrency:
20+
group: "pages"
21+
cancel-in-progress: false
22+
23+
jobs:
24+
# Build job
25+
build:
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Checkout
29+
uses: actions/checkout@v4
30+
- name: Setup Pages
31+
uses: actions/configure-pages@v5
32+
- name: Build with Jekyll
33+
uses: actions/jekyll-build-pages@v1
34+
with:
35+
source: ./
36+
destination: ./_site
37+
- name: Upload artifact
38+
uses: actions/upload-pages-artifact@v3
39+
40+
# Deployment job
41+
deploy:
42+
environment:
43+
name: github-pages
44+
url: ${{ steps.deployment.outputs.page_url }}
45+
runs-on: ubuntu-latest
46+
needs: build
47+
steps:
48+
- name: Deploy to GitHub Pages
49+
id: deployment
50+
uses: actions/deploy-pages@v4

.github/workflows/prettier.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# .github/workflows/prettier.yml
2+
3+
name: Format Code with Prettier
4+
5+
# This workflow is triggered on pushes to the `main` branch and on pull
6+
# requests.
7+
on:
8+
push:
9+
branches:
10+
- main
11+
pull_request:
12+
13+
jobs:
14+
format:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
# Checks out the repository code so the workflow can access it.
19+
- name: Checkout Code
20+
uses: actions/checkout@v4
21+
with:
22+
# The GITHUB_TOKEN is required to allow the workflow to push changes
23+
# back to the repository.
24+
token: ${{ secrets.GITHUB_TOKEN }}
25+
26+
# Sets up the Node.js environment, which is needed to run Prettier.
27+
- name: Setup Node.js
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: "20" # Using a recent Long-Term Support (LTS) version of Node.js
31+
cache: "npm" # Cache npm dependencies for faster runs
32+
33+
# Installs the project's dependencies, including Prettier itself,
34+
# as defined in package.json and package-lock.json.
35+
- name: Install Dependencies
36+
run: npm install
37+
38+
# Runs Prettier to format all files in the repository.
39+
# The --write flag tells Prettier to modify files in-place.
40+
- name: Run Prettier
41+
run: npx prettier --write .
42+
43+
# This action checks if Prettier made any changes. If so, it commits
44+
# them back to the branch that the workflow was run on.
45+
- name: Commit Changes
46+
uses: stefanzweifel/git-auto-commit-action@v5
47+
with:
48+
commit_message: "style: Format code with Prettier"
49+
# The file_pattern is set to all files, ensuring any change made by
50+
# Prettier is committed.
51+
file_pattern: "**/*.*"
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Create Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*.*.*"
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
steps:
14+
- name: Checkout code
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Generate release notes
20+
id: generate_notes
21+
run: |
22+
PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || git rev-list --max-parents=0 HEAD)
23+
24+
echo "Previous tag: $PREVIOUS_TAG"
25+
26+
CHANGELOG=$(git log $PREVIOUS_TAG..HEAD --pretty=format:'* %s ([%h](https://github.com/${{ github.repository }}/commit/%H))')
27+
28+
USER_BODY=$(sed "s/\${TAG}/${{ github.ref_name }}/g" .github/RELEASE_BODY.md)
29+
30+
CHANGELOG_HEADER="## Changes"
31+
32+
DIFF_LINK="**Changelog**: https://github.com/${{ github.repository }}/compare/$PREVIOUS_TAG...${{ github.ref_name }}"
33+
34+
{
35+
echo "FINAL_BODY<<EOF"
36+
echo "$USER_BODY"
37+
echo ""
38+
echo "---"
39+
echo "$CHANGELOG_HEADER"
40+
echo "$CHANGELOG"
41+
echo ""
42+
echo "$DIFF_LINK"
43+
echo "EOF"
44+
} >> "$GITHUB_OUTPUT"
45+
46+
- name: Get Release Title
47+
id: get_release_title
48+
run: echo "title=$(sed "s/\${TAG}/${{ github.ref_name }}/g" .github/RELEASE_TITLE.txt)" >> $GITHUB_OUTPUT
49+
50+
- name: Create Release
51+
uses: softprops/action-gh-release@v2
52+
with:
53+
name: ${{ steps.get_release_title.outputs.title }}
54+
body: ${{ steps.generate_notes.outputs.FINAL_BODY }}
55+
tag_name: ${{ github.ref_name }}
56+
draft: false
57+
prerelease: false

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ AGENTS.md v0.0.1
33
# AI Assistant Instructions
44

55
This document provides instructions for AI assistants working on this project. Related documents:
6+
67
- [HUMANS.md](./HUMANS.md)
78
- [README.md](./README.md)
89
- [CONTRIBUTING.md](./CONTRIBUTING.md)

HUMANS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ HUMANS.md v0.0.1
33
# Working with AI Agents
44

55
This document guides humans on how to effectively collaborate with AI agents in this repository. Related documents:
6+
67
- [AGENTS.md](./AGENTS.md)
78
- [README.md](./README.md)
89
- [CONTRIBUTING.md](./CONTRIBUTING.md)

README.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
[![Run Tests](https://github.com/attogram/agents/actions/workflows/ci.yml/badge.svg)](https://github.com/attogram/agents/actions/workflows/ci.yml)
2+
[![Release](https://img.shields.io/github/v/release/attogram/agents?style=flat)](https://github.com/attogram/agents/releases)
3+
[![GitHub stars](https://img.shields.io/github/stars/attogram/agents?style=flat)](https://github.com/attogram/agents/stargazers)
4+
[![GitHub watchers](https://img.shields.io/github/watchers/attogram/agents?style=flat)](https://github.com/attogram/agents/watchers)
5+
[![Forks](https://img.shields.io/github/forks/attogram/agents?style=flat)](https://github.com/attogram/agents/forks)
6+
[![Issues](https://img.shields.io/github/issues/attogram/agents?style=flat)](https://github.com/attogram/agents/issues)
7+
[![GitHub commit activity](https://img.shields.io/github/commit-activity/t/attogram/agents?style=flat)](https://github.com/attogram/agents/commits/main/)
8+
[![License](https://img.shields.io/github/license/attogram/agents?style=flat)](./LICENSE)
9+
110
# Attogram Agents
211

312
`AGENTS` files for your AI.
@@ -9,6 +18,7 @@
918
Standardize your AI collaboration process.
1019

1120
## For AI assistants
21+
1222
- [./AGENTS.md](./AGENTS.md) - base instructions for all AI Assistants
1323
- [./agents/](./agents/) - directory for per-agent instructions
1424
- [./agents/AGENTS.jules.md](./agents/AGENTS.jules.md) - for the Google Jules agent
@@ -24,8 +34,9 @@ Standardize your AI collaboration process.
2434
- [./personas/PERSONAS.terminal-ninja.md](./personas/PERSONAS.terminal-ninja.md) - for The Terminal Ninja persona 🥷
2535
- [./personas/PERSONAS.product-owner.md](./personas/PERSONAS.product-owner.md) - for The Product Owner persona 🎯
2636
- [./personas/PERSONAS.rubber-duck.md](./personas/PERSONAS.rubber-duck.md) - for The Rubber Duck persona 🦆
27-
37+
2838
## For Humans
39+
2940
- [./HUMANS.md](./HUMANS.md) - base instructions for Humans collaborating with an AI Assistant
3041
- [./humans/](./humans/) - directory for per-agent instructions
3142
- [./humans/HUMANS.claude.md](./humans/HUMANS.claude.md) - for working with Anthropic's Claude
@@ -36,9 +47,9 @@ Standardize your AI collaboration process.
3647

3748
While `README.md` and `CONTRIBUTING.md` provide general information, AI-assisted workflows require specialized instructions.
3849

39-
- **`AGENTS` files** provide technical instructions for AI assistants.
40-
- **`HUMANS` files** provide collaboration guidance for human developers.
41-
- **`PERSONAS` files** provide personality instructions for AI assistants.
50+
- **`AGENTS` files** provide technical instructions for AI assistants.
51+
- **`HUMANS` files** provide collaboration guidance for human developers.
52+
- **`PERSONAS` files** provide personality instructions for AI assistants.
4253

4354
This separation of concerns ensures clear and targeted instructions for all audiences.
4455

0 commit comments

Comments
 (0)