Skip to content

Commit e444d15

Browse files
committed
Initial commit
1 parent 8f4a2d2 commit e444d15

14 files changed

Lines changed: 177 additions & 157 deletions

File tree

.config/docopslab-dev.bak.yml

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

.config/docopslab-dev.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ tools:
2929
- source: rubocop/project.yml
3030
target: .config/rubocop.yml
3131
synced: false
32+
3233

3334
- tool: vale
3435
files:
@@ -38,6 +39,9 @@ tools:
3839
- source: vale/project.ini
3940
target: .config/vale.local.ini
4041
synced: false
42+
paths:
43+
skip:
44+
- specs/tests/fixtures/kitchen-sink.adoc
4145

4246
- tool: htmlproofer
4347
enabled: false # Disabled by default, enable per project

.config/rubocop.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,9 @@ RSpec/SpecFilePathFormat:
3434
RSpec: rspec
3535
AsciiDoc: asciidoc
3636
PlainTextConverter: plaintext_converter
37+
38+
# Integration test of alias mechanism requires coupled assertions
39+
# to verify both namespaces work identically as a complete feature
40+
RSpec/MultipleExpectations:
41+
Exclude:
42+
- specs/tests/rspec/ascii_sourcerer_alias_spec.rb

.github/workflows/ci-cd.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: CI/CD Pipeline
2+
3+
on:
4+
push:
5+
branches: [ main, "release/**" ]
6+
tags:
7+
- 'v*.*.*'
8+
pull_request:
9+
10+
jobs:
11+
test:
12+
runs-on: ubuntu-latest
13+
timeout-minutes: 10
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Set up Ruby
19+
uses: ruby/setup-ruby@v1
20+
with:
21+
ruby-version: '3.2'
22+
bundler-cache: true
23+
24+
- name: Install dependencies
25+
run: |
26+
bundle install --jobs 4 --retry 3
27+
bundle list
28+
29+
- name: Run PR test suite
30+
run: bundle exec rake pr_test
31+
32+
publish-gem:
33+
runs-on: ubuntu-latest
34+
needs: test
35+
if: startsWith(github.ref, 'refs/tags/v')
36+
37+
steps:
38+
- uses: actions/checkout@v4
39+
40+
- name: Set up Ruby
41+
uses: ruby/setup-ruby@v1
42+
with:
43+
ruby-version: '3.2'
44+
bundler-cache: true
45+
46+
- name: Extract version from tag
47+
id: version
48+
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
49+
50+
- name: Install dependencies
51+
run: bundle install --jobs 4 --retry 3
52+
53+
- name: Build gem
54+
run: gem build asciisourcerer.gemspec
55+
56+
- name: Publish to RubyGems
57+
run: |
58+
mkdir -p ~/.gem
59+
echo ":rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}" > ~/.gem/credentials
60+
chmod 0600 ~/.gem/credentials
61+
gem push asciisourcerer-*.gem
62+
env:
63+
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
64+
65+
- name: Verify publication
66+
run: |
67+
echo "Gem published successfully!"
68+
echo "Version: ${{ steps.version.outputs.VERSION }}"
69+
echo "View at: https://rubygems.org/gems/asciisourcerer/versions/${{ steps.version.outputs.VERSION }}"

.github/workflows/ci.yml

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

AGENTS.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# AGENTS.md
22

3-
AI Agent Guide for Sourcerer development.
3+
AI Agent Guide for AsciiSourcerer development.
44

55
<!-- tag::universal-agency[] -->
66
## AI Agency
77

8-
As an LLM-backed agent, your primary mission is to assist a human Operator in the development, documentation, and maintenance of Sourcerer by following best practices outlined in this document.
8+
As an LLM-backed agent, your primary mission is to assist a human Operator in the development, documentation, and maintenance of AsciiSourcerer by following best practices outlined in this document.
99

1010
### Philosophy: Documentation-First, Junior/Senior Contributor Mindset
1111

12-
As an AI agent working on Sourcerer, approach this codebase like an **inquisitive and opinionated junior engineer with senior coding expertise and experience**.
12+
As an AI agent working on AsciiSourcerer, approach this codebase like an **inquisitive and opinionated junior engineer with senior coding expertise and experience**.
1313
In particular, you values:
1414

1515
- **Documentation-first development:** Always read the docs first, understand the architecture, then propose solutions at least in part by drafting docs changes
@@ -89,6 +89,8 @@ Before making any changes, **read these documents in order**:
8989

9090
## Codebase Architecture
9191

92+
> **NOTE:** The internal namespce for this gem is `Sourcerer`, not `AsciiSourcerer`. `AsciiSourcerer` is the public-facing gem name and a permanent alias for the `Sourcerer` module, but internal code should use `Sourcerer` to avoid confusion.
93+
9294
### Core Components
9395

9496
```
@@ -104,8 +106,8 @@ specs/tests/ # Tests and fixtures
104106

105107
### Configuration System
106108

107-
Sourcerer does not ship a formal configuration definition file at this stage.
108-
When configuration is needed, it is typically provided by the calling project (for example, ReleaseHx) via `.sourcerer.yml` or direct Ruby arguments.
109+
This gem does not ship a formal configuration definition file at this stage.
110+
When configuration is needed, it is typically provided by the calling project (for example, ReleaseHx) via `.asciisourcerer.yml` or direct Ruby arguments.
109111

110112
<!-- tag::universal-approach -->
111113

@@ -123,7 +125,7 @@ When configuration is needed, it is typically provided by the calling project (f
123125

124126
## Working with Demo Data
125127

126-
No demo repo is currently wired for Sourcerer.
128+
No demo repo is currently wired for AsciiSourcerer.
127129
Use `specs/tests/fixtures/` and `specs/tests/rspec/` to validate behavior.
128130

129131
<!-- tag::universal-responsibilities[] -->
@@ -164,7 +166,10 @@ When troubleshooting or planning, be inquisitive about:
164166

165167
## Remember
166168

167-
Sourcerer is a DocOps Lab core dependency used by other gems and tooling.
169+
AsciiSourcerer is a DocOps Lab core dependency used by other gems and tooling.
170+
171+
Internally, we work on the Sourcerer module and ignore the AsciiSourcerer namespace, which is an alias.
172+
168173
Prefer stability, clarity, and backward compatibility over experimentation.
169174

170175
<!-- tag::universal-remember[] -->

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
sourcerer (0.1.0)
4+
asciisourcerer (0.1.0)
55
asciidoctor (~> 2.0)
66
asciidoctor-html5s (~> 0.5)
77
jekyll (~> 4.4)
@@ -366,9 +366,9 @@ PLATFORMS
366366
x86_64-linux-musl
367367

368368
DEPENDENCIES
369+
asciisourcerer!
369370
docopslab-dev
370371
rspec (~> 3.0)
371-
sourcerer!
372372
yard
373373

374374
BUNDLED WITH

0 commit comments

Comments
 (0)