Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ Add these badges to your README to show workflow status:

- Ensure `NPM_TOKEN` secret is set correctly
- Verify npm token has publish permissions
- Check that you're a member of the `@architectural-discipline` organization on npm
- Check that you're a member of the `@plures-adp` organization on npm

### Build Failures

Expand All @@ -135,7 +135,7 @@ If you accidentally publish the wrong version:

1. Deprecate the bad version:
```bash
npm deprecate @architectural-discipline/cli@1.0.0 "Accidental publish, use 1.0.1 instead"
npm deprecate @plures-adp/cli@1.0.0 "Accidental publish, use 1.0.1 instead"
```

2. Publish the correct version with a new release
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:

strategy:
matrix:
node-version: [18.x, 20.x]
node-version: [20.x, latest]

steps:
- uses: actions/checkout@v4
Expand All @@ -68,10 +68,10 @@ jobs:
- name: Verify workspace setup
run: |
echo "Checking workspace symlinks..."
ls -la node_modules/@architectural-discipline/ || echo "No workspace symlinks found"
ls -la node_modules/@plures-adp/ || echo "No workspace symlinks found"
echo ""
echo "Verifying core symlink target..."
ls -la node_modules/@architectural-discipline/core || echo "Core symlink broken"
ls -la node_modules/@plures-adp/core || echo "Core symlink broken"
echo ""
echo "Checking if core package exists..."
test -d packages/core && echo "✓ Core package exists" || echo "✗ Core package missing"
Expand All @@ -89,29 +89,29 @@ jobs:
run: |
# Build packages in dependency order
echo "Building core package..."
npm run build --workspace=@architectural-discipline/core
npm run build --workspace=@plures-adp/core

echo "Verifying core build output..."
test -f packages/core/dist/index.js && echo "✓ Core JS built" || (echo "✗ Core JS missing" && exit 1)
test -f packages/core/dist/index.d.ts && echo "✓ Core types built" || (echo "✗ Core types missing" && exit 1)

echo ""
echo "Verifying core is accessible via workspace symlink..."
test -f node_modules/@architectural-discipline/core/dist/index.d.ts && echo "✓ Core types accessible via symlink" || (echo "✗ Core types not accessible via symlink" && exit 1)
test -f node_modules/@plures-adp/core/dist/index.d.ts && echo "✓ Core types accessible via symlink" || (echo "✗ Core types not accessible via symlink" && exit 1)

echo ""
echo "Checking CLI can resolve core dependency..."
cd packages/cli && node -e "try { require.resolve('@architectural-discipline/core'); console.log('✓ CLI can resolve core'); } catch(e) { console.error('✗ CLI cannot resolve core:', e.message); process.exit(1); }" && cd ../..
cd packages/cli && node -e "try { require.resolve('@plures-adp/core'); console.log('✓ CLI can resolve core'); } catch(e) { console.error('✗ CLI cannot resolve core:', e.message); process.exit(1); }" && cd ../..

echo ""
echo "Building eslint-plugin..."
npm run build --workspace=@architectural-discipline/eslint-plugin
npm run build --workspace=@plures-adp/eslint-plugin

echo "Building CLI..."
npm run build --workspace=@architectural-discipline/cli
npm run build --workspace=@plures-adp/cli

echo "Building installer..."
npm run build --workspace=@architectural-discipline/installer || echo "⚠️ Installer build failed (known issue with missing dependencies)"
npm run build --workspace=@plures-adp/installer || echo "⚠️ Installer build failed (known issue with missing dependencies)"

- name: Run tests
run: npm run test
Expand Down Expand Up @@ -218,7 +218,7 @@ jobs:
- name: Test Deno compatibility
run: |
echo "Testing Deno can run ADP CLI..."
deno run --allow-read --allow-write npm:@architectural-discipline/cli --help || echo "⚠️ Deno support needs work"
deno run --allow-read --allow-write npm:@plures-adp/cli --help || echo "⚠️ Deno support needs work"
continue-on-error: true

security:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,10 @@ jobs:
echo "## 📦 Published Packages" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Attempted to publish workspace packages to npm." >> $GITHUB_STEP_SUMMARY
echo "- @architectural-discipline/core" >> $GITHUB_STEP_SUMMARY
echo "- @architectural-discipline/cli" >> $GITHUB_STEP_SUMMARY
echo "- @architectural-discipline/eslint-plugin" >> $GITHUB_STEP_SUMMARY
echo "- @architectural-discipline/installer" >> $GITHUB_STEP_SUMMARY
echo "- @plures-adp/core" >> $GITHUB_STEP_SUMMARY
echo "- @plures-adp/cli" >> $GITHUB_STEP_SUMMARY
echo "- @plures-adp/eslint-plugin" >> $GITHUB_STEP_SUMMARY
echo "- @plures-adp/installer" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [ "${{ github.event_name }}" == "release" ]; then
echo "Release: ${{ github.event.release.tag_name }}" >> $GITHUB_STEP_SUMMARY
Expand Down
14 changes: 7 additions & 7 deletions IMPLEMENTATION_SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ This implementation addresses all requirements from Issue #1 "ADP Installer and
**Requirement:** Support online installation with minimal prerequisites, perhaps just the project's GitHub URL, maybe using npx.

**Implementation:**
- Created `@architectural-discipline/installer` package
- Can be run via `npx @architectural-discipline/installer install`
- Created `@plures-adp/installer` package
- Can be run via `npx @plures-adp/installer install`
- Only requires Node.js/npm as prerequisite
- Automatically detects project type and configures appropriately
- Works with any project type (Node.js, TypeScript, Deno, PowerShell, C#, Rust, Python, Go)

**Usage:**
```bash
# From any project directory
npx @architectural-discipline/installer install
npx @plures-adp/installer install
```

### 2. Deno Deploy Support
Expand All @@ -39,7 +39,7 @@ npx @architectural-discipline/installer install
deno task adp:analyze

# Or directly
deno run npm:@architectural-discipline/cli analyze
deno run npm:@plures-adp/cli analyze
```

### 3. Offline Installation Support
Expand All @@ -55,7 +55,7 @@ deno run npm:@architectural-discipline/cli analyze
**Usage:**
```bash
# On connected machine
npx @architectural-discipline/installer download-offline
npx @plures-adp/installer download-offline

# On air-gapped system
cd adp-offline
Expand All @@ -82,7 +82,7 @@ node install-offline.js

## 📦 Packages Created

### @architectural-discipline/installer
### @plures-adp/installer
- Universal installer for all project types
- Project type auto-detection
- Online and offline installation
Expand Down Expand Up @@ -157,7 +157,7 @@ Test Files 1 passed (1)
### Quick Start
```bash
# Using npx (recommended)
npx @architectural-discipline/installer install
npx @plures-adp/installer install
```

### Project-Specific
Expand Down
38 changes: 19 additions & 19 deletions INSTALLATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The easiest way to add ADP to any project:
cd /path/to/your/project

# Run the installer
npx @architectural-discipline/installer install
npx @plures-adp/installer install
```

This works with:
Expand All @@ -36,21 +36,21 @@ For Node.js/TypeScript projects:

```bash
# Using npm
npm install --save-dev @architectural-discipline/cli @architectural-discipline/core @architectural-discipline/eslint-plugin
npm install --save-dev @plures-adp/cli @plures-adp/core @plures-adp/eslint-plugin

# Using yarn
yarn add -D @architectural-discipline/cli @architectural-discipline/core @architectural-discipline/eslint-plugin
yarn add -D @plures-adp/cli @plures-adp/core @plures-adp/eslint-plugin

# Using pnpm
pnpm add -D @architectural-discipline/cli @architectural-discipline/core @architectural-discipline/eslint-plugin
pnpm add -D @plures-adp/cli @plures-adp/core @plures-adp/eslint-plugin
```

### Option 4: Global Installation

Install the CLI globally:

```bash
npm install -g @architectural-discipline/cli
npm install -g @plures-adp/cli
```

Then use it anywhere:
Expand All @@ -71,11 +71,11 @@ Add to your `deno.json`:
```json
{
"tasks": {
"adp:analyze": "deno run npm:@architectural-discipline/cli analyze",
"adp:recommend": "deno run npm:@architectural-discipline/cli recommend"
"adp:analyze": "deno run npm:@plures-adp/cli analyze",
"adp:recommend": "deno run npm:@plures-adp/cli recommend"
},
"imports": {
"@architectural-discipline/cli": "npm:@architectural-discipline/cli@^1.0.0"
"@plures-adp/cli": "npm:@plures-adp/cli@^1.0.0"
}
}
```
Expand All @@ -89,7 +89,7 @@ deno task adp:analyze
### Method 2: Direct Execution

```bash
deno run npm:@architectural-discipline/cli analyze
deno run npm:@plures-adp/cli analyze
```

## 🔒 Offline Installation (Air-Gapped Environments)
Expand All @@ -99,7 +99,7 @@ For systems without internet access:
### Step 1: Download Bundle (On Connected Machine)

```bash
npx @architectural-discipline/installer download-offline -o adp-bundle
npx @plures-adp/installer download-offline -o adp-bundle
```

This creates a folder with:
Expand All @@ -121,7 +121,7 @@ node install-offline.js
Or use the installer:

```bash
npx @architectural-discipline/installer install --offline
npx @plures-adp/installer install --offline
```

## 📦 Language-Specific Installation
Expand All @@ -130,7 +130,7 @@ npx @architectural-discipline/installer install --offline

```bash
# Install using the installer
npx @architectural-discipline/installer install
npx @plures-adp/installer install

# This creates a PowerShell module at .adp/adp.psm1
# Import and use:
Expand All @@ -142,7 +142,7 @@ Invoke-ADPAnalysis -Path ./src

```bash
# Install using the installer
npx @architectural-discipline/installer install
npx @plures-adp/installer install

# This creates analysis scripts
# Run analysis:
Expand All @@ -154,15 +154,15 @@ Or integrate with your build:
```xml
<!-- In your .csproj -->
<Target Name="ADPAnalysis" AfterTargets="Build">
<Exec Command="npx @architectural-discipline/cli analyze" />
<Exec Command="npx @plures-adp/cli analyze" />
</Target>
```

### Rust

```bash
# Install using the installer
npx @architectural-discipline/installer install
npx @plures-adp/installer install

# This adds Cargo aliases
# Run analysis:
Expand All @@ -177,7 +177,7 @@ If you prefer manual setup:
### 1. Install Packages

```bash
npm install --save-dev @architectural-discipline/cli @architectural-discipline/core @architectural-discipline/eslint-plugin
npm install --save-dev @plures-adp/cli @plures-adp/core @plures-adp/eslint-plugin
```

### 2. Create Configuration
Expand Down Expand Up @@ -220,14 +220,14 @@ Create `.adp-config.json`:
Create `eslint.config.js`:

```javascript
import architecturalDiscipline from '@architectural-discipline/eslint-plugin';
import architecturalDiscipline from '@plures-adp/eslint-plugin';

export default [
architecturalDiscipline.configs.recommended,
{
rules: {
'@architectural-discipline/max-lines': 'warn',
'@architectural-discipline/max-complexity': 'warn',
'@plures-adp/max-lines': 'warn',
'@plures-adp/max-complexity': 'warn',
},
},
];
Expand Down
Loading
Loading