Amp vs JunieUpdated 2026-03-16

SUMMARY

Amp (CLI) uses markdown configuration while Junie (Agent) uses markdown. They differ on 4 of 11 compared features. Both tools provide AI-assisted development but take different approaches to project configuration.

FEATURE COMPARISON

FeatureAmpJunie
Config formatmarkdownmarkdown
Hierarchy support
Global config
Project config
Subdirectory scoping
File inclusion / imports
Ignore file
IDE integrationCLIAgent
Schema / structureFree-form (Markdown)Free-form (Markdown)
Git committed
EncodingUTF-8UTF-8

FILE MAPPING

PurposeAmpJunie
Project instructionsAGENTS.md.junie/guidelines.md

SIDE-BY-SIDE CODE SAMPLES

Amp
AGENTS.md
markdown
# Agent Instructions

## Project Context
Go microservices monorepo using Bazel for builds.

## Build & Test
- Build all: bazel build //...
- Test all: bazel test //...
- Integration tests: docker compose up -d && bazel test //integration/...
- Lint: golangci-lint run ./...

## Code Conventions
- All services follow standard layout in /cmd and /internal
- Use structured logging with slog
- Error wrapping with fmt.Errorf("op: %w", err)
- See @docs/api-style-guide.md for API conventions

## Cross-Repo References
- Shared proto definitions in sourcegraph/proto
- Common Go libraries in sourcegraph/lib

## Security
- Never log sensitive data (tokens, passwords, PII)
- All external inputs must be validated
- Use parameterized queries for database access

Junie
.junie/guidelines.md
markdown
# Project Guidelines

## Language & Framework
- Kotlin with Spring Boot 3.x
- Gradle with Kotlin DSL
- JDK 21 with virtual threads

## Architecture
- Hexagonal architecture (ports & adapters)
- Domain events for cross-module communication
- CQRS for read-heavy endpoints

## Code Standards
- Follow Kotlin coding conventions
- Use data classes for DTOs
- Prefer sealed classes for domain errors
- Extension functions over utility classes

## Testing
- JUnit 5 with Kotest assertions
- Testcontainers for integration tests
- MockK for mocking (not Mockito)

## Build & Run
- Build: ./gradlew build
- Test: ./gradlew test
- Run: ./gradlew bootRun

KEY DIFFERENCES

1. Hierarchy support

Amp: Supported. Junie: Not supported.

2. Global config

Amp: Supported. Junie: Not supported.

3. Subdirectory scoping

Amp: Supported. Junie: Not supported.

4. IDE integration

Amp: CLI. Junie: Agent.

WHICH SHOULD I USE?

Recommendation

Choose based on your IDE/CLI preference. If you use Amp, configure AGENTS.md. If you use Junie, configure .junie/guidelines.md. Many projects include config files for multiple tools so each team member can use their preferred editor.

PORTABILITY TIP

sync-instructions.sh
bash
# Maintain a single source of truth:
cp AI-INSTRUCTIONS.md CLAUDE.md
cp AI-INSTRUCTIONS.md .cursorrules
cp AI-INSTRUCTIONS.md AGENTS.md

SEE ALSO

agentconfig.ing2026-03-16COMPARE(1)